1 van 1
Primaire sleutels
Geplaatst: za 11 jun 2011, 11:29
door FrankW
Hallo,
Ik ben bezig met een website waarvoor ik ook een database nodig heb. Nu heb ik hierover de volgende vraag:
Ik heb een onderdeel waarvan erg veel gegevens opgeslagen moeten worden, zoals adres, facaliteiten en veel andere dingen. Ik zou al deze kolommen in 1 tabel kunnen plaatsen, maar dan krijg ik een tabel van ongeveer 30 kolommen breed. Nu vroeg ik mij af of ik ook het op zou kunnen splitsen in 4 losse tabellen die allemaal dezelfde primaire sleutel hebben. Maar mag dit of gaat het problemen geven bij het programmeren? Of moet ik hiervoor verwijssleutels gaan gebruiken?
Ik hoop dat het duidelijk is.
en iemand mij kan helpen.
Groeten,
Frank
Re: Primaire sleutels
Geplaatst: za 11 jun 2011, 13:14
door Cycloon
Er is niet echt een probleem met tabellen die 30 kolommen breed zijn. Tenzij je informatie uit die kolommen slechts zeer sporadisch nodig hebt, of vaak leeg zijn, heeft het weinig zin om die te gaan opsplitsen.
Als je gaat opsplitsen zal je de primaire key in de afgesplitste tabel moeten overnemen en die aanduiden als foreign key.
Re: Primaire sleutels
Geplaatst: za 18 jun 2011, 12:14
door FrankW
hoi, bedankt voor het antwoord. Ik heb alleen even geteld en het zijn bijna 50 kolommen. Het kan natuurlijk wel, maar mijn vraag is of dit bij andere websites die veel gegevens opslaan ook gebeurt. Bij krijg je dan 5 tabellen die allemaal dezelfde primaire sleutel hebben...
Re: Primaire sleutels
Geplaatst: za 18 jun 2011, 14:00
door Cycloon
Het hangt er echt vanaf hoe groot de data is, op welke manier je ze gaat benaderen...
Wanneer je meestal maar 1 rij nodig hebt zou ik alles in 1 grote tabel houden.
Als je vaak een groot aantal rijen die na elkaar liggen moet ophalen en meestal maar enkele velden nodig hebt (zoals enkel de naam bv) kan je best gaan opsplitsen.
Er is geen éénduidig correct antwoord, je moet zelf eerst goed het gebruik van je data kennen.
Re: Primaire sleutels
Geplaatst: za 18 jun 2011, 14:07
door FrankW
Er komen wel veel rijen in de tabel dus daarom zou opsplitsen handiger zijn. Maar daarnaast zijn de meeste data booleans: aan of uit. Heeft dat dan nog invloed? Ik dacht dat het voor het overzicht wel makkelijker zou zijn om het in meer tabellen te zetten. Zij het dan wel dat je daar dan iets langere query's van krijgt.
Re: Primaire sleutels
Geplaatst: za 18 jun 2011, 16:07
door Cycloon
Er komen wel veel rijen in de tabel dus daarom zou opsplitsen handiger zijn. Maar daarnaast zijn de meeste data booleans: aan of uit. Heeft dat dan nog invloed? Ik dacht dat het voor het overzicht wel makkelijker zou zijn om het in meer tabellen te zetten. Zij het dan wel dat je daar dan iets langere query's van krijgt.
Als de meerderheid booleans zijn zou ik deze in dezelfde tabel houden.
Re: Primaire sleutels
Geplaatst: do 22 sep 2011, 18:41
door Landro
Alles in 1 tabel is handiger. Dat bespaart je extra joins en het maakt je queries dus sneller. In queries kun later altijd nog zelf aangeven welke velden wel of niet moeten worden opgehaald.
Re: Primaire sleutels
Geplaatst: do 22 sep 2011, 20:52
door Xenion
1 grote tabel is altijd mogelijk, maar is meestal een slechte designkeuze.
Je zou eens moeten kijken of je die hele boel niet kan uiteentrekken in entiteiten zoals bv 'klant' en 'boek' en deze dan kan linken via relaties 'aankoop'.