Indeling database goed?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Nick Dijkstra

Nick Dijkstra

13/05/2013 14:29:39
Quote Anchor link
Hallo,

Graag wil ik weten of dit een goede indeling is.
Alle id's zijn gekoppeld met de andere tabellen.

Afbeelding

Kan ik nog wat verbeteren?
 
PHP hulp

PHP hulp

19/04/2024 10:13:14
 
Rick van Riel

Rick van Riel

13/05/2013 14:43:11
Quote Anchor link
Lijkt me niks mis mee, je zou misschien nog wat meer kunnen normaliseren.
Hier een voorbeeld:
Je zou de gegevens phone, email en nog meer van dit soort data in een nieuwe tabel kunnen zetten genaamd user_data. Dan zou je dus een tabel hebben genaamd user_data met daarin een id, user_id, type, value. En het type zou dan bijv. email kunnen zijn. Zo kun je meerdere e-mailadressen aan een user kunnen koppelen of gemakkelijk data toevoegen zonder dat je je database hoeft aan te passen. Als je dan namelijk ooit een afbeelding aan de user wil toevoegen zou je een type kunnen maken met user_image en hier de naam van de image aan mee kunnen geven.

Je zorgt er dan dus eigenlijk voor dat je database makkelijk te onderhouden is.
Gewijzigd op 13/05/2013 14:47:46 door Rick van Riel
 
Ward van der Put
Moderator

Ward van der Put

13/05/2013 14:43:41
Quote Anchor link
Hangt ervan af waarvoor je de database precies wilt gebruiken. Veel bedrijven hebben bijvoorbeeld meerdere adressen, meerdere contactpersonen en meerdere e-mailadressen, ook voor één locatie. Dan zit de verantwoordelijke manager bijvoorbeeld op locatie A maar de ICT op locatie B en moet de factuur naar de crediteurenadministratie op locatie C.
 
Nick Dijkstra

Nick Dijkstra

13/05/2013 15:01:43
Quote Anchor link
ok, een koppeltabel voor de userdata is inderdaad wel een goed plan.

Waar ik nog mee zit, zijn de rechten. Ik heb nu dat je per module rechten kan geven aan een gebruiker.
Maar heb nu zo dat je bij 'right' een term invult, zoals edit-users. Maar iemand nog een idee zodat dat makkelijker kan?
 
Rick van Riel

Rick van Riel

13/05/2013 15:20:02
Quote Anchor link
Je kunt als je met rechten gaat werken het beste gebruikers groepen gaan aanmaken. Dus je maakt een tabel user_groups en aan een groep koppel je dan users. Zo kun je de rechten van modules koppelen aan een groep zodat je het niet voor alle users apart hoeft in te stellen.

En de manier van rechten toewijzen is op dit moment niet verkeerd. Als je gewoon zoals je net al aangaf de rechten in het veld rights zet gescheiden met een komma is dit heel flexibel. Je zou ook naast de module een module_rights tabel kunnen maken waarin je de rechten zet die een module bevat en dan deze vervolgens koppelen aan de user rights.

Het is maar wat je zelf makkelijker vind.
 
Ivo P

ivo P

13/05/2013 16:54:42
Quote Anchor link
meerdere dingen, gescheiden door een komma in een veld zetten is nooit goed. In elk geval niet, als je ooit nog eens iets uit die lijst nodig hebt.

Stel je moet van pietje het recht "user_edit" wissen, dan moet je ergens in die string gaan rommelen.

Ook het werken met groepen heeft zo z'n nadelen.
Voor veel mensen zal het prima werken, maar stel je hebt 10 medewerkers in de groep "standaard medewerker", 1 "boekhouding" en 1 "toegangsregistratie".

In de vakantie vervangt 1 van de gewone medewerkers de boekhouder en de portier.
Maar als hij óók op vakantie is, dan vervangt mederwerker A de boekhouder en B de portier.

Dat wordt een hel om te onderhouden, want naast de 3 groepen heb je dan ook nog een groep "gewoon + boekhouding" en "gewoon + portier" nodig.

Je kunt beter de rechten aan gebruikers koppelen. Dat is in principe een eenmalige actie.
 



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.