20. august 2004 - 08:44Der er
10 kommentarer og 1 løsning
Hjælp til design af DB
Jeg har et spørgsmål angående design af en specifik database.
Jeg har en database som indholder følgende tabeller:
Grupper (Indeholder overordnet oplysninger omkring en gruppe)
emner (Er en specifik gruppe og har en relation til gruppe)
bruger (Er bruger der har ret til at se oplysninger omkring grupperne)
relationer (Viser hvem der må se hvad)
Brugerne kan se forskelligt alt efter hvilken relation de har, og det skal være så en bruger kan se et bestemt enme og kun det enme, mens en anden skal kunne se en hel gruppe og alle emner i denne.
Håber det er til at forstå.
Men hvordan løser jeg dette pænest, Skal jeg i tabellen relationer have en en relation til hver emne, eller kan jeg lave det smartere, da fleste der skal have adgang har adgang til en hel gruppe.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Jeg er ikke helt sikker på at jeg forstår hvad du vil.
Jeg bliver også lidt forvirret af at du bruger termen relationer meget og den har en meget specifik betydning i database terminilogi og jeg er ikke sikker på at det er det du mener.
Men generelt vil man kunne lave det som:
tabel X xid felt1 felt2 felt3 ...
tabel bruger uid navn ...
tabel adgang uid xid
således at uid har adgang til xid hvsi der er en række i i adgang tabellen med den kombination
adgang kan f.eks. indeholde:
uid xid 1 1 1 2 1 3 2 2 2 3 2 4
hvsi uid 1 har adgang til xid 1,2,3 og uid 2 har adgang til xid 2,3,4
Den tabel jeg kalder relationer er den du kalder adgang.
Men du mangler en tabel. Og mit spørgsmål er om der er en smartere måde designe databasen på?
Jeg prøver lige at om formulere mit spørgsmål.
Jeg har et spørgsmål angående design af en specifik database.
Jeg har en database som indholder følgende tabeller:
Grupper (Indeholder overordnet oplysninger omkring en gruppe)
emner (Er en specifik gruppe og indeholder en fremmede nøgle til tabellen grupper)
bruger (Er bruger der har ret til at se oplysninger omkring grupperne)
adgang (Viser hvem der må se hvad)
Brugerne kan se forskelligt alt efter hvilken adgang de har, og det skal være så en bruger kan se et bestemt enme og kun det enme, mens en anden skal kunne se en hel gruppe og alle emner i denne. de fleste bruger skal kunne se alle enmer i en gruppe.
Håber det er til at forstå.
Men hvordan løser jeg dette pænest, Skal jeg i tabellen adgang have en en relation til hvert emne, eller kan jeg lave det smartere, da fleste der skal have adgang har adgang til alle emner i en gruppe.
Den er jeg ikke helt med på. Hvis nu en prøver at logge ind så skal jeg kontrollere i begge tabller for at se hvilke adgange personen har? Så er jeg da ved at synes at det er nemmere bare at have en tabel med adgang, og når en får tildelt en adgang vil personen blive tildelt en adgang til alle emner i denne gruppe.
CREATE VIEW adgang AS (SELECT uid,eid FROM emneadgang) UNION (SELECT gruppeadgang.gid,emner.eid FROM grupper,emner,gruppeadgang WHERE grupper.gid=emner.gid AND gruppeadgang.gid=grupper.gid)
Jeg prøver at kigge på det og vender tilbage hvis det giver problemmer!
Du får tusind tak for hjælpen!
Synes godt om
Ny brugerNybegynder
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.