Avatar billede claus66 Nybegynder
25. september 2007 - 22:47 Der er 5 kommentarer og
1 løsning

Angive brødre og søstre

Jeg har en tabel med personer (id, cpr, navn adresse osv). Hvordan kan jeg registrere hvem af personerne der i familie med hinanden?
En person kan have alt fra ingen til mange søskende.
Avatar billede olebole Juniormester
25. september 2007 - 22:55 #1
<ole>

Du kan f.eks. give hver prson to felter 'parentMid' og 'parentFid' ('M' og 'F' for 'male' og 'female'), der indeholder forældrenes ID'er. Så kan du derudfra hente personer, som har samme forældre.

/mvh
</bole>
Avatar billede teepee Nybegynder
26. september 2007 - 08:16 #2
Relationen er en mange til mange. Det løser du ved at oprette en ny tabel med (mindst) to felter i, nemlig 2*id, du kan kalde dem id1 og id2, men begge refererer til feltet id i personer. For at kunne kende typen af relation ville jeg sætte en type på relationen også, så man kan se hvorfor at de relaterer til hinanden ("forælder", "barn af", "gift" osv.) Du kan oprette en pseudo-primærnøgle også hvis du vil, men det plejer man ikke på sådanne tabeller.
Avatar billede claus66 Nybegynder
26. september 2007 - 10:06 #3
Ole: Jeg har desværre ikke adgang til forældredata!
teepee: Jeg havde oprindeligt tænkt mig det samme som du foreslår, men forkastede da f.eks. 3 brødre ville give 6 poster: 1-2, 1-3, 2-1 osv.
Ideen er at man skal kunne slå op i en formular og få vist en person samt kunne vise og registrere evt. søskende.
Avatar billede martinlind Nybegynder
26. september 2007 - 12:35 #4
claus66>> teepee's måde er sådan man gør, du kan ikke have mange til mange relationer på anden måde uden af få redundantdata, og det ER NOGET MAN SKAL UNDGÅ !!

Du kan sagtens vise det du gerne vil med teepee's måde :)
Avatar billede claus66 Nybegynder
26. september 2007 - 13:01 #5
OK - jeg gir mig!
Teepee - god ide iøvrigt med at sætte typen af relation ind!
Avatar billede teepee Nybegynder
26. september 2007 - 14:21 #6
3 brødre giver kun 3 rækker, med mindre at du ikke vil slå op i både id1 og id2 for at finde relationer. Hvis 1-2 står i tabellen, så står 2-1 der implicit også. Derfor kan du f.eks. ved relationen 33-101 med typen "barn af" også implicit udregne at der må være en 101-33 "fader til" om man vil. Jeg tror at det hele falder bedre på plads når først du begynder at lave forskellige opslag i tabellen.
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