Archief - Database structuur probleem

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

shadowstep0705

Legacy Member
Dag iedereen, ik ben aan een klein projectje begonnen.

De bedoeling is dat elke user zijn films kan onderhouden doormiddel van een website. Nu heb ik een vraagje, hoe zou ik dat in een database zetten?

Bijvoorbeeld heb ik 5 beschikbare films, hoe kan ik dan in mijn database storen dat user1 film 1 en film 3 bezit?

Ik vraag niet de sql code! enkel de manier van hoe ik dit moet implementeren aangezien ik niet per user een apart field kan aanmaken per film en daarin zetten 'ja' of 'nee' wanneer hij deze bezit.

Voorstellen graag!

Alvast bedankt!

metalleke

Legacy Member
Tussentabel met id van film en id van gebruiker.

Aangezien dit een basic vraag is zou je misschien eens moeten zoeken naar artikels over databasenormalisatie.

shadowstep0705

Legacy Member
metalleke zei:
Tussentabel met id van film en id van gebruiker.

Aangezien dit een basic vraag is zou je misschien eens moeten zoeken naar artikels over databasenormalisatie.

Wat bedoel je met een tussentabel? Ik kan toch moeilijk voor elke user een tabel met voor elke film een field gaan aanmaken?

Cycloon

Legacy Member
Tabel met je films
Tabel met je users

Tabel met 1 kolom userId, 1 kolom filmId. Voor elke film die een gebruiker heeft is er een entry in deze tabel. Die kan er dan zo uitzien:

1 3
1 5
2 2
2 3

Dan heeft gebruiker 1 film 3 en 5, terwijl gebruiker 2 film 2 en ook film 3 heeft.

shadowstep0705

Legacy Member
Ik zou TMDB gaan gebruiken om elke film mogelijk te maken, dan wordt die tabel die jij bedoelt toch onmogelijk groot en traag?

Fr3aK

Legacy Member
shadowstep0705 zei:
Ik zou TMDB gaan gebruiken om elke film mogelijk te maken, dan wordt die tabel die jij bedoelt toch onmogelijk groot en traag?
Welke API je gaat gebruiken om data in uw tabel te steken is niet belangrijk, hetgeen Cycloon en metalleke hebben neergeschreven is de juiste manier om veel-op-veel relaties in een database mogelijk te maken.

Die tabel kan uiteindelijk miljoenen records bevatten maar daarom zal die niet 'traag' zijn, vooral de manier waarop jij ze zal indexeren/uitlezen zal de snelheid bepalen.

Bram

Legacy Member
Cycloon zei:
Tabel met je films
Tabel met je users

Tabel met 1 kolom userId, 1 kolom filmId. Voor elke film die een gebruiker heeft is er een entry in deze tabel. Die kan er dan zo uitzien:

1 3
1 5
2 2
2 3

Dan heeft gebruiker 1 film 3 en 5, terwijl gebruiker 2 film 2 en ook film 3 heeft.

En de informatie samenpuzzelen in MySQL doe je met een JOIN.

Meer info: SQL Joins

shadowstep0705

Legacy Member
Bram zei:
En de informatie samenpuzzelen in MySQL doe je met een JOIN.

Meer info: SQL Joins

Bedankt, wanneer ik een beetje stabiele code heb zal ik hier eens naar kijken en proberen te implementeren ;)

SkY

Legacy Member
Veel succes! Tijdje geleden ook een website gemaakt die gebruik maakt van de TMDB API! Ik gebruik ook de manier die Cycloon voorstelt.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan