een vreemde vraag ongetwijfeld

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ineke kleinloog

ineke kleinloog

24/01/2012 12:20:24
Quote Anchor link
maar kan iemand mij het nut vertellen van het creeeren van meerdere tabels in een adressen gids, die ik aan het opzetten ben? Buiten dat het wijzigen van bep. gegevens makkelijker is als je alles apart in tabellen zet, bijv. telefoonnummers of woonplaatsen. Tot nu toe vind ik uiteenlopende meningen van mensen op het web. De een zegt dit, en de ander spreekt dat weer tegen. Kortom kom ik er niet uit.
queries over 3 tot 4 tabbelen bezorgen me hoofdpijn en tussentabellen is een heel gedoe om deze goed in te voeren. id naamgegevens bij id rubriek gegevens... etc
daar maak je ook snel een fout mee.
Kortom als iemand mij een goede reden kan geven voor het opzetten van 4 tabellen in plaats van 1 ben ik om.
 
PHP hulp

PHP hulp

23/11/2024 06:28:32
 
- SanThe -

- SanThe -

24/01/2012 12:24:23
 
Ineke kleinloog

ineke kleinloog

24/01/2012 12:53:00
Quote Anchor link
Ik ken de normalisatie regels.
Heb ze gelezen en toegepast maar ondervind problemen met de invoer en met respect voor alle regels, ik vind geen info over als je de regels aan je laars lapt en gewoon 1 tabel maakt. Er wordt ook op het web geadviseert niet teveel tabellen te maken omdat de output te traag wordt (vanwege het doorlopen van de database van de vele tabellen).
Mijn vraag blijft dus: wat kan er fout gaan als je 1 tabel handhaaft
 
Marco PHPJunky

Marco PHPJunky

24/01/2012 13:05:36
Quote Anchor link
uu de output word er niet traag van hoor het hangt er ook vanaf hoe je het ophaald...
dat is ook een reden waarom het gebruik van * in database query's afgeraden word/is...

Het word pas traag als de gebruiker/programmeur het verkeerd/omslachtig ophaald..

Het gebruik van maar 1 tabel lijd tot veel dubbele data in de database die je anders niet hebt... mocht dat gebeuren dan bestaat de kans dat je de database corrupt kan worden en dat je de verkeerde data krijgt of geen...

ps. waar heb je gelezen dat het dan zo traag word ?
 
Andre Sep

Andre Sep

24/01/2012 14:42:25
Quote Anchor link
Ik denk dat je bedoel om van 1 persoon 4 gegevens op te slaan:

een id voor de persoon en vervolgens in tabellen voor woonplaats, naam, telefoonnummer en emailadres (of iets dergelijks) het id van de persoon koppelen aan het gegeven van die tabel?

Ik persoonlijk zou gewoon 1 tabel maken (persoon) met 5 velden (kolommen), nl:
id, naam, woonplaats, telefoonnummer en emailadres.

Als dit tegen de conventies in gaat: daar heb ik lak aan in dit geval, ik weet uit ervaring dat dit makkelijker werkt en heel veel queries scheelt op het moment dat er meerdere gegevens moeten worden gewijzigd voor 1 persoon.

Het is inderdaad wel zo, dat de snelheid met name te maken heeft met de manier van ophalen van de gegevens. zels al heb je er 3 van de 4 nodig, geef ze dan alle 3 op in je query, ipv * gebruiken (om toch alle 4 te nemen)
 
Ineke kleinloog

ineke kleinloog

24/01/2012 14:46:26
Quote Anchor link
Ik weet niet meer welke site ik dat heb gelezen, ik surf veel. Het ging dacht ik over de optie een index database te nemen, een index database, wv ik niet begrijp wat ermee wordt bedoeld overigens.

Te veel dubbele data begrijp ik, maar ik heb geen dubbele data dus waarom zou ik dan telefoonnummers of steden apart opnemen?
Dit is waarom ik de vraag stelde.

Het is een gids waar je adres gegevens ophaalt.
Een zoekfunctie is trouwens ook zéér simpel met 1 tabel, hoef je geen JOINS te maken maar gewoon een paar LIKE's.

Dank voor je respons
 
Obelix Idefix

Obelix Idefix

24/01/2012 15:02:32
Quote Anchor link
Als het om een recht-toe recht-aan adressenlijst gaat, dan zou ik alles in 1 tabel zetten.
 
Ineke kleinloog

ineke kleinloog

24/01/2012 17:06:29
Quote Anchor link
vind ik dus ook
 
Kris Peeters

Kris Peeters

24/01/2012 17:45:07
Quote Anchor link
Ineke kleinloog op 24/01/2012 14:46:26:
Te veel dubbele data begrijp ik, maar ik heb geen dubbele data dus waarom zou ik dan telefoonnummers of steden apart opnemen?


De basis is de volgende; je moet je zelf deze vraag stellen:
"Is er een 1 op 1 verhouding?"

Indien 1 persoon slechts 1 telefoonnummer kan hebben, zet je het telefoonnummer in de tabel "users" (of hoe je het ook zelf noemt).

Indien 1 persoon meer dan 1 telefoonnummer kan hebben, zet je het in een aparte tabel.


Dito met andere data, zoals adressen (geografisch), e-mail-adressen, ...

Dit zijn beslissingen die je zelf kan nemen.


Als je een uitgebreid profiel wil, kan het nuttig zijn dit soort dingen in een aparte tabel te zetten.
1 mens kan een huis hebben waar hij woont, maar verder ook een studentenkot of een (1 of meer) buitenverblijf.
1 mens kan ook verschillende telefoonnummers of e-mail-adressen hebben, ...

De keuze ligt dus aan jou.
Jij gaat slechts uit van 1 persoon => 1 telefoonnummer.
Dan zet je "telefoonnummer" in de tabel users.


Wat ik je echter niet wil zien doen (Je doet uiteraard wat je wil; ik ben je mama niet), is standaard drie velden maken "telefoon1", "telefoon2", "telefoon3", zodat je toch de mogelijkheid hebt om meerdere gegevens in de tabel te proppen. Als je op zo'n manier bezig bent, ben je waarschijnlijk fout bezig.
Gewijzigd op 24/01/2012 17:46:21 door Kris Peeters
 
Aad B

Aad B

24/01/2012 18:26:38
Quote Anchor link
Vele wegen leiden naar Rome zoals je ziet en de efficiency van je gegevensmodel staat of valt bij de toepassing. Heb je inderdaad alleen maar een adreslijst van bijvoorbeeld de biljartclub dan kan je inderdaad met 1 tabel volstaan. Zodra je meerdere velden met dezelfde betekenis zou willen opnemen dan is het beter om een tweede tabel hiervoor aan te leggen en dat is dus normaliseren. Een 1 op n relatie breng je onder in een andere tabel. Veel of weinig tabellen of heel veel tabellen maakt helemaal niets uit. De performance is afhankelijk van hoe efficient jij de queries maakt en het mag niet zo zijn dat omdat je geen SQL kent alles in 1 tabel propt en steeds alle records ophaalt om in php loopjes de hele zooi te gaan verwerken door zoeken in array's enzo. Je zal niet de eerste zijn die op die manier websites bouwt....
Gewijzigd op 24/01/2012 18:30:53 door Aad B
 
Ineke kleinloog

ineke kleinloog

24/01/2012 18:57:52
Quote Anchor link
bedankt voor de snelle antwoorden.
Ik wil wel de mogelijkheid voor meerdere telefoonnummers opnemen
en meerdere emailadressen had ik niet aan gedacht, bedankt voor deze tip !!

Het moet zoekgidsje worden en ik bedacht dat 1 tabel handiger en makkelijker is
en hiermee doel ik op de zoekfunctie. De query's zijn lastig.
Meerdere JOINs met meerdere zoekfilters en dan in 1x output krijgen.
Op het web staat helaas weinig informatie hierover die ik kan gebruiken

AL met al zie ik nu in dat meerdere tabellen noodzakelijk blijken,
ook als ik later nog extra gegevens zou willen toevoegen.

Allen bedankt in ieder geval
 



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.