Database opzetten
Even een vraag over een database, zal het even uitleggen;
Stel je wilt een dienst verlenen, in example, gasten kunnen gratis een webpagina aanmaken via jouw website, ze kunnen dan bijvoorbeeld gastennaam.mijndomeinnaam.nl registreren (mijndomeinnaam.nl is in dit geval mijn eigen domein).
Welke actie zou er dan precies moeten gebeuren op het gebied van database's? Zou deze gast een eigen database moeten krijgen? Of zou deze gast een unieke tabel(naam) moeten krijgen? Vervolgens zou je dus vanaf het subdomein (is btw gewoon via htaccess in dit geval) ook ergens een database connectie moeten leggen natuurlijk, hoe zou dit het beste opgelost kunnen worden?
Ik had zelf bedacht om dan een unieke tabel aan te maken met de gastennaam, dus bijvoorbeeld gastennaam_gebruikers, gastennaam_stats en vervolgens de database connectie gewoon leggen door de naam die in het subdomein gebruikt wordt te rippen en te gebruiken in de mysql connect.. Maar weet natuurlijk niet of dit wel handig is, en of dit ook de beste manier is.. Zo krijg je dus uiteindelijk wel ongelooflijk veel tabellen in 1 database..
Hoe zou ik dit het beste kunnen aanpakken zodat mijn database zo optimaal mogelijk blijft?
Gewijzigd op 13/04/2012 10:48:42 door B a s
In het laatste geval hoef je je database structuur helemaal niet veel verder uit te breiden. In de bestaande tabellen hoef je dan enkel nog met een aparte kolom aan te geven tot wel domein de records behoren. Als een bepaald domein aangeroepen wordt, kun je zo alle relevante records uit de database ophalen.
In het eerste geval zul je eerst eens precies moeten bedenken in hoeverre je de gebruikers toegang wilt geven tot je database, dus hoeveel invloed ze zelf op de structuur kunnen uitoefenen en welke rechten ze daartoe hebben. Al met al zal dat een stuk ingewikkelder worden, daar valt dan ook niet 1 concreet antwoord op te geven.
Jouw advies zou dan dus zijn om gewoon voor elke nieuwe gebruiker (ong 3) nieuwe tabellen aan te maken? Dan heb ik dus na (bijvoorbeeld) 1000 gebruikers wel 3000 tabellen in 1 database. Heeft dit invloed op de snelheid? (Sprekende over de query's e.d.) De queries zullen overigens wel gewoon optimaal worden geschreven.
Hoe zou ik in dat geval dan de mysql_connect() kunnen leggen? unieke tabelnaam aanmaken dmv de gastennaam en deze naam weer rippen via het subdomeinnaam? Wel beveiligd natuurlijk..
Gewijzigd op 01/01/1970 01:00:00 door Robin
Bijvoorbeeld:
users (een van de 3 tabellen)
-------
id
username
domein_id
domeinen (de extra tabel)
------------
id
name