Non usiamo parole grosse ... infinito è ben altro.
Supponi di avere 10000 di utenti, ognuno con 10000 oggetti e di avere la tue belle tabelle
Utenti
*id
...altri attributi
Inventario
*idUtente
*idOggetto
Oggetti
*idOggetto
...altri attribbuti
Prima di tutto la tabella Inventario ti fa risparmiare un sacco di spazio, perchè anzichè duplicare gli oggetti e i loro attributi per ogni utente che li possiede hai una sola descrizione dell'oggetto in Oggetti e le fai riferimento tramite un misero numerino che se occupa 4 byte è pure troppo.
Passando ai numeri, Inventario per ogni record coccupa 8 byte (due numeri interi). In inventario avrai 10000x10000 record ovvero 100000000 che moltiplicati per 8 byte a record ti da 800000000 che sono 762 MB. Ma 10000 utenti sono tanti forse più realistico parlare di 2500? e i 10000 oggetti? Forse è più realistico parlare di 1000? Già diventa 2500000 che per 8 byte a reacord sono 19MB e a questo ci credo di più!
Comunque se mai dovessi avere la fortuna di raggiungere cifre ragguardevoli, non già infinito, penso che inizierai a ragionare in termini diversi, quindi inizierai a porti problemi di partitionig, clustering e load balancing, ma il model della base dati resta invariato.