Koppeltabel, meerdere of een enkele voor alle koppelingen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Patrick Bergman

Patrick Bergman

19/08/2014 10:58:25
Quote Anchor link
Beste leden,

Op dit moment ben ik bezig met het ontwerpen van een database.
Hier komen ook koppeltabellen in voor.

Nu heb ik een interne discussie met mijzelf wat de beste oplossing is:
Meerdere koppel tabelen tussen tabelen of een enkele koppeltabel voor alle tabelen

Om een voorbeeld te geven:

Er zijn verschillende tabelen.

GEBRUIKER
gebruiker_id
naam

EVENEMENT
evenement_id
naam

LOCATIE
locatie_id
naam

De relaties:
GEBRUIKER *-----* EVENEMENTEN
GEBRUIKER *-----* LOCATIES
EVENEMENTEN *----* LOCATIES

Mogelijkheid 1 zijn de meerdere koppeltabelen, namelijk:
GEBRUIKER_EVENEMENT
gebruiker_id
evenement_id

en

GEBRUIKER_LOCATIE
gebruiker_id
locatie_id

en

EVENEMENT_LOCATIE
evenement_id
locatie_id

Optie 2 is de enkele koppeltabel:

KOPPELING
id_een
id_twee
soort_een
soort_twee

Welke de volgende waardes zal bevatten (als voorbeeld)
|-------|-------|---------|----------|
|id_een |id_twee|soort_een|soort_twee|
|-------|-------|---------|----------|
| 1 | 1 |evenement|locatie |
| 1 | 1 |evenement|gebruiker |
| 2 | 1 |evenement|gebruiker |
|-------|-------|---------|----------|

Wat vinden jullie de beste optie?

Ik hoop dat ik duidelijk genoeg ben :)
 
PHP hulp

PHP hulp

25/04/2024 21:05:08
 
Erwin H

Erwin H

19/08/2014 11:04:46
Quote Anchor link
Optie 1, geen twijfel over. In optie 2 gan je twee keer zoveel data opslaan (of nog meer als je voor het soort inderdaad strings zou gebruiken), met een grote kans op fouten ook nog eens.
 
Patrick Bergman

Patrick Bergman

19/08/2014 11:08:05
Quote Anchor link
Dank Erwin voor de snelle reactie

Erwin H op 19/08/2014 11:04:46:
In optie 2 gan je twee keer zoveel data opslaan (of nog meer als je voor het soort inderdaad strings zou gebruiken)

Daar zit wat in :)
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

19/08/2014 11:11:48
Quote Anchor link
Helemaal met Erwin eens.

Ik vraag me zelfs af of je de koppeltabel gebruikers_locaties nodig hebt.
 
Ward van der Put
Moderator

Ward van der Put

19/08/2014 11:15:20
Quote Anchor link
Dat vroeg ik me ook af:
Patrick Bergman op 19/08/2014 10:58:25:
De relaties:
GEBRUIKER *-----* EVENEMENTEN
GEBRUIKER *-----* LOCATIES
EVENEMENTEN *----* LOCATIES

Daarin suggereert de tweede relatie namelijk dat een gebruiker zich op een locatie kan bevinden waar op dat moment géén evenement is. Dat zou kunnen, bijvoorbeeld als je bewakers van lege evenementenhallen moet inroosteren.
 
Patrick Bergman

Patrick Bergman

19/08/2014 11:22:39
Quote Anchor link
De relaties die ik hier schets zijn in weze 0..* op 0..* relaties. Het kan er zijn, maar hoeft niet.
Maakt dat het iets duidelijker? :)

Nadat ik Ward zijn reactie opnieuw gelezen heb, begrijp ik dat het al duidelijk is :)
Gewijzigd op 19/08/2014 11:25:02 door Patrick Bergman
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.