Database opzetje

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Saven
  • Registratie: December 2006
  • Laatst online: 18:37

Saven

Administrator

Topicstarter
Leute,
Ik ben bezig met een klein systeempje (php/mysql) waarbij ik een aantal bedrijven in een database heb die onder een bepaalde categorie moeten vallen. Bijvoorbeeld welke betaalmogelijkheden ze hebben.

Die betaalmogelijkheden staan in een aparte tabel. Bijv iDeal, Creditcard etc.. Stuk of 6.

Maar nu wil ik die bedrijven dmv checkboxen kunnen 'toewijzen' aan meerdere categorieën. Ik vroeg mij af hoe ik dit het beste kon doen.

Ik kan natuurlijk een veld 'cat_id' meegeven in de bedrijven tabel, maar dit resulteert in meerdere rijen die hetzelfde zijn maar waar alleen maar de cat_id verschilt.

Een andere optie zou zijn nóg een tabel te maken in de database, die bijhoudt welke bedrijven in welke categorie vallen. Dus bijv. 'bedrijf_id' en 'cat_id'.

Maar ik twijfel een beetje wat de juiste / beste manier is. Of dat er nog een betere oplossing is?
Hoop dat jullie me kunnen helpen

Acties:
  • 0 Henk 'm!

  • Zeebonk
  • Registratie: Augustus 2005
  • Laatst online: 30-07 20:50
Een koppeltabel is een prima, dan wel dé, oplossing voor een N op N relatie.

Acties:
  • 0 Henk 'm!

  • JJ Le Funk
  • Registratie: Januari 2004
  • Niet online

JJ Le Funk

:twk

normaliseren, scheelt weer een tabel

d:)b


Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
MrJayMan, dat is juist denormaliseren ;). Dan moet je wel beter onderbouwen waarom, aangezien een koppeltabel gewoon het nette en juiste antwoord is. Enkel 'scheelt weer een tabel' is geen solide db ontwerp advies.

[ Voor 32% gewijzigd door Voutloos op 08-07-2012 15:51 ]

{signature}


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 21:40
Koppeltabel inderdaad, daar heb je dan je recordnummer in (primary key id veldje) en id van je bedrijf, en id van betaalmogelijkheid :)

Doormiddel van een query kun je dan zo ophalen welke betaalmogelijkheden bedrijf <X> heeft ;)

Acties:
  • 0 Henk 'm!

  • Saven
  • Registratie: December 2006
  • Laatst online: 18:37

Saven

Administrator

Topicstarter
Thanks ik weet genoeg :) Dat normaliseren verhaal is me niet helemaal duidelijk maar oke :P

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Voutloos schreef op zondag 08 juli 2012 @ 15:49:
Enkel 'scheelt weer een tabel' is geen solide db ontwerp advies.
Sterker nog: in de meeste gevallen is dat zelfs slecht advies. Met veruit de meeste websites ga je niet dermate veel records in een tabel krijgen dat erop joinen een issue wordt, mits je indices goed liggen. "Scheelt weer een tabel" maakt het je dan in geen enkel opzicht makkelijker (zelfs moeilijker bij mutaties omdat je niet domweg één rij moet aanpassen maar potentieel meerdere) en een join schrijven is nou niet bepaald veel moeilijker dan een select uit één tabel.
Saven schreef op zondag 08 juli 2012 @ 16:22:
Thanks ik weet genoeg :) Dat normaliseren verhaal is me niet helemaal duidelijk maar oke :P
Dat heb je zo bij elkaar gegoogled. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
NMe schreef op zondag 08 juli 2012 @ 17:47:

Dat heb je zo bij elkaar gegoogled. ;)
Ik denk dat hij bedoelt dat hij de reactie niet begrijpt. En daar sluit ik me op aan. Als het aantal tabellen zo belangrijk was dan sloegen we alles wel in comma-separated text blobs op ;)

https://niels.nu


Acties:
  • 0 Henk 'm!

  • xzaz
  • Registratie: Augustus 2005
  • Laatst online: 18-09 10:54
NMe schreef op zondag 08 juli 2012 @ 17:47:
Dat heb je zo bij elkaar gegoogled. ;)
Sluit het forum! Het antwoord op alle vragen :D

Schiet tussen de palen en je scoort!

Pagina: 1