Avatar billede nutten Nybegynder
19. marts 2003 - 10:27 Der er 13 kommentarer og
1 løsning

Tabeller

I forbindelse med opbygningen af et intranet, sidder jeg og kigger lidt på tabelopbygningen i en database i forhold til login og øvrig funtktionalitet.

Der vil umiddelbart være 3 typer brugere muligvis flere senere:
Bruger
Superbruger
Administrator

Vil det så være hensigtsmæssigt, at lave en tabel til hver brugertype eller have én brugertabel med en kolonne der angiver typen. Umiddelbart skal man løbe flere tabeller igennem ved login, hvis man laver en tabel for hver brugertype, men hver bruger kan jo så identificeres vha et unikt ID f.eks Bid, Sid eller Aid.....

Det kunne de for så vidt også med én brugertabel, da loginID vil være unikt, men der skal stadig tages højde for typen..

Det er også med henblik på udvidelse, jeg stener lidt over det...
Avatar billede sunero Nybegynder
19. marts 2003 - 10:33 #1
Jeg vil helt klart lave en brugertabel og en brugertypetabel. Med BrugerTypeId som reference. På den måde kan du også senere tilføje flere typer.
Avatar billede hsg Nybegynder
19. marts 2003 - 10:38 #2
Du kan nøjes med een tabel da dit brugerid er unik. Hvis du senere vil lave flere typer, så er en brugertype tabel en god ide.
Jeg formoder at der er ikke noget en Bruger kan som en SuperBruger ikke kan osv ? Eller skal du kunne autorisere hver bruger til noget forskelligt ?
Avatar billede nutten Nybegynder
19. marts 2003 - 10:45 #3
Vllle tabellerne så sådan ud:

Bruger
--------
bid (PK)
login
kodeord
navn

Brugertype
----------
bid (PK) med foreign key til Bruger.bid
type

Eller hvad?
Avatar billede nutten Nybegynder
19. marts 2003 - 10:46 #4
hsg >> Ja, en bruger kan ikke alt en superbruger kan osv.
Så jeg tænkte, hvis man laver en brugertabel for hver type kan man jo relativt simpelt lægge boget sikkerhed på i basen...
Avatar billede hsg Nybegynder
19. marts 2003 - 10:57 #5
Hvis nu fx. typen var angivet ved at tal 0=Administrator, 1=SuperBruger osv
så kan du jo styre hvad der må vises afhængigt af brugerens niveau.
Fx.
<? if ($brugerNiveau <= 1) { ?>
vis et link kun for superbrugere og administratorer
<? } ?>

eller hvad sprog du nu bruger.
Avatar billede nutten Nybegynder
19. marts 2003 - 11:12 #6
Så den model, jeg har skrevet ovenover skulle være det "smarteste"..

Altså helt præcost, hvordan skal de 2 tabeller ud?
Avatar billede hsg Nybegynder
19. marts 2003 - 11:14 #7
Den beskrivelse du pt. har lagt ud er et fint udgangspunkt.
Du har login, kodeord og brugertype, hvilket er nok til at styre hvad de
enkelte brugere må se. Resten - navn osv - er information hvis der er behov for det. Noget specielt du leder efter?
Avatar billede nutten Nybegynder
19. marts 2003 - 11:19 #8
Lige en ting...

Lad os antage, der ikke kommer flere brugertyper - alle typer skal defineres nu - vil det så stadig være den bedste løsning med én brugertabel + brugertypetabel???
Avatar billede hsg Nybegynder
19. marts 2003 - 11:23 #9
Det afhænger af hvormeget information du lægger i din brugertype. Hvis det bare er et navn så kan man vel nøjes med een tabel og så en intern global tabel i det sprog du vil kode i.
Avatar billede nutten Nybegynder
19. marts 2003 - 11:30 #10
Det eneste med brugertypen er at den ene kan mere end den anden og det virker rigtig godt, med brugertypeid, MEN hvorfor så ikke lave én brugertabel sådan:

Bruger
------
bid (PK)
login
kodeord
navn
type

Så er det kun en tabel, man skal hente oplysninger i og man vil stadig kunne styre, hvad de har mulighed for at se?
Avatar billede hsg Nybegynder
19. marts 2003 - 11:33 #11
Helt fint. Som sagt hvis du ved du ikke får flere brugertyper, så glem den anden tabel. Jeg vil så sige, at du får ikke det store overhead ved at have 2 da antallet af brugertyper sikkert er lavt. OG selvom du udvider antallet så skal du op på et ret så stort antal før tabel nr 2 bliver aktuel.
Så een tabel - som du lige har beskrevet - er nok.
Avatar billede nutten Nybegynder
19. marts 2003 - 11:36 #12
Ok så.
Smid et svar..
Avatar billede hsg Nybegynder
19. marts 2003 - 11:38 #13
Du får et svar. Håber det hjalp.
Avatar billede nutten Nybegynder
19. marts 2003 - 11:40 #14
Det gjorde det bestemt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester