Avatar billede castor Novice
11. juni 2021 - 12:53 Der er 4 kommentarer

Roller og relationer

Hej Eksperten,
jeg vil lave en database, der giver mig et overblik over aktører i boligmarkedet. Jeg har voldsomme problemer med en rolle.
I markedet findes fx Udlejere, Mæglere, Administrationshuse
Jeg har en tabel "Firmaer". Her optræder alle aktører.
Jeg har en tabel "Rolle". Heri kan man være Udlejer, Administrator, Mægler, Bygherre etc
Det komplicerede er, at en Administrator kan administrere på vegne af en Udlejer. Hvordan designer jeg det? Så jeg kan se Administrator "X" har rollen som administrator for Udlejerne 1, 2 og 3.
Udlejer 4, 5 og 6 derimod kører selv administrationen og har ikke nogen ekstern Administrator. Jeg er nede ad et spor, hvor jeg i tabellen "Firmaer" har et "Administrator" felt, der slår op i tabellen "Firmaer" (altså slår op i sig selv) og vælger eet af firmaerne som Administrator, men jeg er ikke tryg ved at køre videre. Jeg er begynder, så have mercy, please :-)
Avatar billede Gustav Ekspert
11. juni 2021 - 15:22 #1
Det kan du da godt gøre.
Er Administratorfeltet tomt, er firmaet selv administrator; er det ikke, har det nøglen til firmaet, der administrerer.
Avatar billede claes57 Ekspert
11. juni 2021 - 17:24 #2
Lav en hjælpetabel med relationer. Fx 'funktion' med tre felter i.
1 autoid (bruges ikke)
2 styrer (id på firmaet, der administrere)
3 styres (id på firmaet, der har en administrator)
Og så tænk på, at de enkelte ejendomme skal have en id, så en udlejer med fx hus 1 2 og 3, kan have dem administreret af 1-3 administratorer.
Det vil give et felt 4 i 'funktion' med ejendom (id på den ejendom, der administreres af 2 og styres/ejes af 3.
Avatar billede castor Novice
16. juni 2021 - 20:26 #3
Nøj, jeg synes, det er svært. Det virker ikke rigtigt med at have et felt blankt. Jeg skal gerne kunne slå Udlejer op og efterfølgende skal jeg gerne have et overblik, der viser mig hvilke Udlejere er under hvilken Administrator.
@claes57 jeg er i tvivl, om du mener, jeg skal have yderligere en tabel udover tabellen med alle firmaerne og tabellen med roller? Det, du kalder en hjælpetabel er det en 3. tabel? Er det det, der hedder en "junction table" (mange-til-mange relaiton)?
Avatar billede claes57 Ekspert
16. juni 2021 - 21:15 #4
Det er det. En tabel, der forbinder boliger, administratorer og ejere. Du kan i den vælge en bolig, og se, hvem, der ejer og administrere. Eller du kan vælge at slå op på administrator-id, og se, hvor vedkommende administrer boliger.
Den tabel er 'et must' for at undgå kludderkode.
Tegn gerne en tabel med ejere, en anden med administratorer, og en med ejendomme. Forbind linjer mellem de tre tabeller, og du har din junction (kobling/skiftespor)
Der er ejer-id, administrator-id og bolig-id. De skal mødes i en post for at du kan finde sammenhæng.
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

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