Hallo,
Ik heb een vraag.
Ik maak een site waar mensen zich kunnen registreren, alleen zit ik met de vraag:
Zal ik voor elke gebruiker 3 nieuwe tabellen aanmaken, of gewoon in de andere tabellen een row aanmaken en daarbij een variabele meegeven?
Want in die tabellen komen dingen te staan van elke gebruiker, en dat kan hoog gaan oplopen. En die dingen zijn heel gebruikers gebonden, en het zal dan allemaal heel erg door elkaar heen lopen.
Wat is dan het beste, een table aanmaken of gewoon via rows?
Dit vooral eigenlijk qua dataverkeer en load. Want qua overzicht is het voor mij misschien handiger om het in tables te doen.
Wie kan mij hier het verlossende woord over geven?
Groeten,
Tim
- Vraag over een mysql database.
-
17-04-2010, 10:05 #1
- Berichten
- 488
- Lid sinds
- 15 Jaar
Vraag over een mysql database.
-
In de schijnwerper
-
17-04-2010, 12:24 #2
- Berichten
- 44
- Lid sinds
- 17 Jaar
Volgens mij snap jij nog niet helemaal hoe een database werkt.
Maar goed, in het geval dat ik er naast zit hier een poging tot korte uitleg.
user
PHP Code:id INT(11) ( KEY AUTO INCREMENT )
name var(250)
username var(250) ( unieke waarde )
email var(250) ( unieke waarde )
date_added | datetime ( in je query gebruik je bij de insert NOW() )
active | enum(1,2)
last_edit | timestamp ( on update CURRENT_TIMESTAMP )
last_login | datetime ( zodra een gebruiker inlogt update je deze met NOW() )
PHP Code:id int(11) KEY AUTO INCREMENT
name var(250) ( unieke waarde )
date_added datetime ( bij insert NOW() )
last_edit timestamp ( on update CURRENT_TIMESTAMP )
--
Goed alles hierboven snap je waarschijnlijk niet en dus is het een goed idee voor jouw om de basis van database ontwerp te gaan leren. Daar zijn genoeg tutorials voor. Google is je vriend.
--
Edit: Staat tussen php tags omdat die blijkbaar mijn enters niet negeert.Laatst aangepast door Ramon Mol : 17-04-2010 om 12:36
-
17-04-2010, 12:48 #3
- Berichten
- 488
- Lid sinds
- 15 Jaar
Volgens mij snap jij nog niet helemaal hoe een database werkt.
Maar goed, in het geval dat ik er naast zit hier een poging tot korte uitleg.
user
PHP Code:id INT(11) ( KEY AUTO INCREMENT )
name var(250)
username var(250) ( unieke waarde )
email var(250) ( unieke waarde )
date_added | datetime ( in je query gebruik je bij de insert NOW() )
active | enum(1,2)
last_edit | timestamp ( on update CURRENT_TIMESTAMP )
last_login | datetime ( zodra een gebruiker inlogt update je deze met NOW() )
PHP Code:id int(11) KEY AUTO INCREMENT
name var(250) ( unieke waarde )
date_added datetime ( bij insert NOW() )
last_edit timestamp ( on update CURRENT_TIMESTAMP )
--
Goed alles hierboven snap je waarschijnlijk niet en dus is het een goed idee voor jouw om de basis van database ontwerp te gaan leren. Daar zijn genoeg tutorials voor. Google is je vriend.
--
Edit: Staat tussen php tags omdat die blijkbaar mijn enters niet negeert.
Bedankt voor je hulp, enkel, heb ik nog geen directe antwoord.
Volgens jou is het gewoon netter om de gebruiker in 1 tabel te gooien en bijv. alle berichten van verschillende gebruikers in 1 tabel te gooien?
Maar mijn vraag was meer: maakt het uit als je voor elke gebruiker een eigen tabel aanmaakt qua dataverkeer en load?
Groeten,
Tim
-
17-04-2010, 12:52 #4
- Berichten
- 206
- Lid sinds
- 15 Jaar
een tabel aanmaken per gebruiker gaat tegen alle principes van database ontwerp in. Het antwoord is dus simpel : NIET DOEN.
Maak 1 tabel voor alle gebruikers, 1 tabel voor alle berichten etc.
-
17-04-2010, 12:54 #5
- Berichten
- 44
- Lid sinds
- 17 Jaar
Het hele punt is, waarom maak je je druk over dataverkeer en load als je totaal niet weet wat je doet. Maak je daar eerst druk over en ga je dan bekommeren over dataverkeer en load.
Alle gebruikers in een gebruikerstabel
Alle berichten in een berichtentabel
De hele gedachtegang dat voor iedere gebruiker een aparte tabel gemaakt moet worden is compleet verkeerd.
-
17-04-2010, 12:57 #6
- Berichten
- 488
- Lid sinds
- 15 Jaar
@Sylvia:
Maar stel dat het dataverkeer / load vriendelijker is om voor elke gebruiker 1 tabel te maken, is dat dan niet slimmer?
Ik weet dus niet wat het schil is qua dataverkeer / load
@Ramon:
Ik weet wel wat ik doe, ik kan redelijk scripten, en beetje ontwerpen. Het enige probleem is dat ik die "basis" dingen nog nooit heb geleerd. Dus wat ik niet weet vraag ik, zoals ik nu doe.
Ik hoop toch wel dat dat geen probleem is?
---
het is me dus nu wel duidelijk dat ik alles in één table zou moeten doen, maar ik zou alsnog gelieve een antwoord willen krijgen over het dataverkeer/load verhaal. Want aangezien dit "basis" kennis is, zou iemand het antwoord vast wel even "simpel" kunnen geven.
Groeten,
Tim
-
17-04-2010, 13:44 #7
- Berichten
- 75
- Lid sinds
- 15 Jaar
Er is geen verschil kwa dataverkeer, als je tenminste goede queries gebruikt,
Er zou wel een verschil kwa performance kunnen zijn omdat je dit soort dingen noooit over verschillende tabellen uit moet smeren. Daar zijn databases niet op ingericht en dat zou dus problemen op kunnen gaan leveren op de duur.
Overigens moet je dus niet ALLES in 1 tabel doen, maar gewoon zoals hierboven aangegeven 1 tabel voor alle users (met hun properties/eigenschappen). En eventuele prive berichten ofzo dan weer in 1 andere tabel, waarbij je de berichten kunt koppelen met de users door hun id op te slaan bij de berichten.
-
17-04-2010, 14:02 #8gast19806 Guest
Zoals hier eerder gezegd werd, het is slim om eerst even een cursus te lezen en een beetje te leren hoe het werkt. Daarna komt het wel bij 'netjes' en goed scripten.
-
17-04-2010, 15:35 #9
- Berichten
- 206
- Lid sinds
- 15 Jaar
@Sylvia:
Maar stel dat het dataverkeer / load vriendelijker is om voor elke gebruiker 1 tabel te maken, is dat dan niet slimmer?
Ik weet dus niet wat het schil is qua dataverkeer / load
@Ramon:
Ik weet wel wat ik doe, ik kan redelijk scripten, en beetje ontwerpen.
Maar, voordat je je zorgen gaat maken over dataverkeer / serverload, zul je toch eerst inderdaad deze basis principes onder de knie moeten krijgen. Zolang je niet precies weet wat je doet en wat voor een effect dat heeft, kun je ook geen goede inschatting maken over wat voor effect dat gaat hebben op de performance.
Voor de volledigheid: het is niet sneller om per user een tabel aan te maken. Database systemen zijn zonder uitzondering geöptimaliseerd voor bewerkingen op rijen.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic