Hallo,

Ik heb een website van ik gebruikers te mogelijkheid wil geven om een " lijst " te maken van de films die ze in bezit hebben.

Wat is nu de correctie manier op dit te doen? Ik heb een table met films en gebruikers, moet ik nu voor elke film die een gebruiker heeft een nieuwe record aanmaken in een table daarvoor (films_bezit?)) of is er een manier waar ik nog niet van weet.

Zelfde voor het stemmen op titels.

Alvast bedankt,
Hendrik de Jager
voor elke film die iemand bezit 1 record

lees ook eens iets over database normalisatie
Noppes Homeland op 04/02/2011 20:07:11

voor elke film die iemand bezit 1 record

lees ook eens iets over database normalisatie

Vriendelijk Bedankt


[size=xsmall]Toevoeging op 05/02/2011 01:24:20:[/size]

Nog even een bump:

Doe ik het zelfde met Stemmen?

Dus per film elke stem (vote) aparte record?

Je hoeft niet voor elke film een nieuw record aan te maken hoor.
Hiervoor moet je gewoon koppel tabellen gebruiken.
Dus ongeveer als volgt:

tabel 1:
id | leden

tabel 2:
id | film titel | jaar | ed...

tabel 3 (de koppel tabel):
leden_id | film_id

De uitleg:
In tabel 1 zet je al je leden met een id.
In tabel 2 zet je al je films + informatie.
In tabel 3 zet je je leden id gekoppeld aan de film id.

Het is dus niet nodig om elke titel 1000 keer op te slaan als 1000 gebruikers deze hebben.

Succes!
Rolf van der Horst op 05/02/2011 09:33:03

Je hoeft niet voor elke film een nieuw record aan te maken hoor.
Hiervoor moet je gewoon koppel tabellen gebruiken.
Dus ongeveer als volgt:

tabel 1:
id | leden

tabel 2:
id | film titel | jaar | ed...

tabel 3 (de koppel tabel):
leden_id | film_id

De uitleg:
In tabel 1 zet je al je leden met een id.
In tabel 2 zet je al je films + informatie.
In tabel 3 zet je je leden id gekoppeld aan de film id.

Het is dus niet nodig om elke titel 1000 keer op te slaan als 1000 gebruikers deze hebben.

Succes!

Maar dan toch wel 1000 keer in tabel 3?

ja. Waarom vraag je dit? Denk je dat bijvoorbeeld MySQL het moeilijk gaat krijgen met 1000 records in een koppel tabel.

Ja klopt, wel 1000 keer in tabel 3.
Dus bijvoorbeeld:

Tabel 1 (leden):
leden_id | leden_naam
1 | Rolf

Tabel 2 (films):
film_id | film_titel
1 | film 1
2 | film 2
3 | film 3

Tabel 3 (koppeltabel):
leden_id | film_id
1 | 1
1 | 2
1 | 3

Zo moet de opbouw ongeveer worden als ik alle 3 de films bezit.
Heel erg bedankt Rolf, duidelijk!

Doe ik het zelfde met Stemmen?

Dus per film elke stem (vote) aparte record?
Uhm daarvoor doe je inderdaad ongeveer hetzelfde.

Tabel 2 (films) had je al dus die blijft gewoon bestaan.
Dan maak je nog een Tabel 4 (stemmen2films).
Hierin komt ongeveer dit:
film_id | aantal_stemmen
1 (film 1) | 10 (aantal stemmen).

Stemmen laat je gewoon optellen.

Edit: Typefout gewijzigd :)
Rolf van der Horst op 05/02/2011 11:47:08

Uhm daarvoor doe je inderdaad ongeveer hetzelfde.

Tabel 2 (films) had je al dus die blijft gewoon bestaan.
Dan maak je nog een Tabel 4 (stemmen2films).
Hierin komt ongeveer dit:
film_id | aantal_stemmen
1 (film 1) | 10 (aantal stemmen).

Stemmen laat je gewoon optellen.

Edit: Typefout gewijzigd :)


Zoals bij sites als Moviemeter weet hij bij een gebruiker waar en wanneer hij er op gestemd heeft, ook met IP en als de gebruik een message plaatst tevens er bij zijn stem.

Alvast Bedankt.
Wat je nu ook kunt doen is dezelfde film koppelen aan meer dan 1 gebruiker.

Als een gebruiker nu zijn/haar film lijstje gaat maken selecteert hij/zij de film. Bestaat een film nog niet dat voegt de gebruiker die toe.

Reageren