Database opzetten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robin

Robin

10/01/2010 22:14:00
Quote Anchor link
Beste PHP'hulpers,

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
 
PHP hulp

PHP hulp

23/11/2024 19:36:14
 
Joren de Wit

Joren de Wit

10/01/2010 22:51:00
Quote Anchor link
Wat wil je allemaal in de database opslaan? Zijn dat voor elke webpagina verschillende soorten gegevens (ie. voor de een gebruikers en stats en voor de ander een blog) of is dat altijd hetzelfde?

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.
 
Robin

Robin

10/01/2010 23:08:00
Quote Anchor link
In principe hebben alle gebruikers die zich registreren dezelfde functies ter beschikking, dus wat dat betreft zullen alle kolommen van de tabellen dan gelijk zijn.

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
 
Joren de Wit

Joren de Wit

10/01/2010 23:20:00
Quote Anchor link
Nee, dan zou ik het geheel juist beperken tot die 3 tabellen! Je zult er mogelijk 1 extra tabel aan toe moeten voegen om daarin de gebruikte domeinen op te slaan. In je bestaande tabellen voeg je dan enkel een kolom toe waarin je het id van een domein plaatst. Op die manier weet je dat dat record bij het genoemde domein hoor.

Bijvoorbeeld:

users (een van de 3 tabellen)
-------
id
username
domein_id

domeinen (de extra tabel)
------------
id
name
 



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.