Indeling database goed?
Graag wil ik weten of dit een goede indeling is.
Alle id's zijn gekoppeld met de andere tabellen.
Kan ik nog wat verbeteren?
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
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.
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?
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.
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.