13. august 2001 - 23:05Der er
18 kommentarer og 4 løsninger
Relationer
Jeg er igang med at lave et stamtræs system, men er stødt en i nogen små problemer.
Jeg har en tabel med alle forældrene i, men nu vil vi lave det sådan at alle er i en database, fordi forældrene er jo også børn til nogen. Problemet er så at hvordan jeg nemmest for mig selv laver det sådan at jeg har et felt hvor der er børn i men det skal jo bare være deres id nummer reelt, der står relateret til en mand og en kvinde, men manden og kvinden må jo gerne have flere børn sammen. Oven i det, skal der laves sådan at når jeg står på en person, skal forældrer felter jo også bare være relationer til en anden person i den samme tabel.
Lyder sikkert lidt kryptisk, men så sig lige til.
Kan evt. kontaktes på ICQ 22794789 eller e-mail eksperten@ljnet.dk
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg kan altså ikke lade være med at more mig over din oprindelige beskrivelse. Den udtrykker bundærlig forvirring ;-)
Du skal kun lave en ny tabel, hvis du har et nyt objekt med egenskaber (for at snakke objektorienteret). Det er ikke så svært, som det lyder.
Personer er et objekt. Det er så ret ligegyldigt, om personer er forældre, barn, søster, bror, kone, mand bedstefar eller indbrudstyv. Pånær ordet person, der er selve objektet, så er de andre ord det, som man kalder egenskaber for dette objekt.
Det nemmeste ville være, hvis du købte mit Access program til at håndtere stamtræer. Det kan desuden holde styr på, hvornår de forskellige er blevet gift med hinanden, har fået børn, er blevet fængslet, har været til eksamen, har fanget verdens største haj eller er blevet student. Alle disse hændelser kan desuden indeholde dokumentation, som f.eks. billeder, kopi af attester, kommentarer, skitser osv.
moses >>> Jeg kan godt, li\' at du skriver jeg bare kan købe et Access program af dig, men for det første fortæller du ikke hvad det koster, for det andet fortæller du ikke om jeg kan læse om det nogen steder !!! En anden ting, rapport layoutet skal jo nok ændres, så er det noget man kan selv eller skal man have dig til det inden !!!
Og vi gik igang med det selv da vi synes det var mest spændende at prøve at lave det fra bunden.
Du kan være ganske rolig !! Mit program er også knap helt færdigt, som jeg vil have det. Jeg gik igang af nøjagtig den samme grund, som dig - Det skulle lige præcist kunne det, som jeg ville have det til og så skulle det være sjovt at lave. Man er vel et ægte legebarn ;-)
Egentlig er det ikke sjovt at bytte, men det kunne jo være, at en af os havde en god idé, som den anden kunne bruge. Vi kunne jo eventuelt udveksle erfaringer engang imellem. Hvad siger du til det?
Jeg ved f.eks., at der findes nogle meget anvendte programmer, som kan generere ganske bestemte rapporter og transportfiler. Jeg ville meget gerne lave mit program, så det ud over mit eget format også kunne gemme i det andet format (med de begrænsninger det så gav), så hvis du finder ud af noget med disse formater, må du meget gerne sige til. Det samme kunne jeg gøre til dig, hvis der var noget, som du var interesseret i !?!
moses >>> Jeg forstår ikke helt din sætning \"Du skal kun lave en ny tabel, hvis du har et nyt objekt med egenskaber (for at snakke objektorienteret). Det er ikke så svært, som det lyder.
Personer er et objekt. Det er så ret ligegyldigt, om personer er forældre, barn, søster, bror, kone, mand bedstefar eller indbrudstyv. Pånær ordet person, der er selve objektet, så er de andre ord det, som man kalder egenskaber for dette objekt.\"
Kan du sige det på en anden måde ???
Men det jeg ikke kan finde ud af er hvad jeg skal gøre når jeg skal sammenkæde en person ned som en far eller mor på en person, og hvordan jeg skal gøre når der skal være flere personer til en person da personen har nogen børn.
Du skal stille en tabel op med et ID-felt for et styk ukendt person op. Hvilke egenskaber (felter) skal der så være, for at kunne beskrive ham. Her er det vigtigt, at en egenskab, som det at være far, nødvendigvis også giver egenskaberne barn og kone .... Der er altid nogle små fif man kan opfinde. F.eks er det ikke vigtigt at skelne imellem mor egenskaben (hvem er den ukendte persons mor) og far egenskaben. Det giver sig selv, da de to forælder-egenskaber peger på hver deres person, som så bare har en \"køn\"-egenskab. Det skal man jo alligevel altid vide om den ukendte person.
\"Fødsel\", \"dåb\", \"død\" og eventuelt \"begravet\" egenskaberne er datoer, klokkeslet og eventuelt andre data, som sted, kan du lige så godt indbygge, som egenskaber for den ukendte, da disse ting formentlig vil hænde for os alle (måske lige bortset fra dåb). Øvrige ting, som f.eks. \"studentereksamen\", \"Doktorgrad\", \"Min første tur med bilen i havnen\" eller \"første mand på Mars\" er ligesom ikke noget, der hænder alle og enhver, så det vil nok være smartes at placere i en anden tabel:
Dens objekt er så \"En hændelse\". Dens egenskaber kan så være \"Hvem er det hændt\", hvilket blot er PersonID\'et, der viser tilbage til din persontabel. Så kunne der også være egenskaben \"Hvad er der hændt\", som et frit tekstfelt, en bilags egenskab, som kan indeholde word dokumenter, billeder ...
Du skal sikre dig, at du kun lige netop har de informationer, der skal til for at kunne \"regne sammenhængene ud\" - ALT ANDET ER SPILD !!
Når du definerer dine tabeller og relationer, kan du så begrænse valgmulighederne for f.eks. fader-feltet ved at benytte Lookup fanebladet i tqabel-design. Der kan du angive, at kun personer med køn=\"mænd\" kan indsættes ... osv.
heraf ses at Kaj Dallers foraeldre hedder Lene og Kurt Daller - id 209
Lene Dallers mor har id 78 og hendes far id 51. Kurt Dallers mor har id 62 og hans far id 38.
Dvs Kajs bedsteforaeldre har foelgende id: 78, 51, 62 og 38... osv ...
Som Moses er inde paa kan du haefte andre oplysninger paa din hiraki tabel - altsaa oplysninger som der kan saettes paa alle mennesker - som feks foedsel olign. Vil du lave den oevrige ting placerer du i en anden tabel med et felt der \"peger\" paa PersonId feltet i hiraki tabellen:
PersonId EventTime Event 303 10-10-2000 blablabla 303 01-06-1995 blablabla 209 15-04-1972 Lille Kaj
Principielt må du ikke oprette to tabeller, som kan sammenlægges 1 til 1. Det vil sige hvor data i nr. 2 tabel udelukkende er afhængig af PersonID. Det er jo tilfældet med fødsel, dåb, køn, død osv.
Men det er jo op til dig.
Sidenhen vil du så bare skulle åbne to tabeller for at få oplysninger om en person. Du skal oven i købet lave en tvunget refferentel en-til-en relation imellem de to tabeller, for hvad vil du med fødselsdagen på en person, der ikke er med i den første tabel. Han har så ingen navn ?!?! Det kan heller ikke bringe meget, at en person i den første tabel ikke er født eller ikke har noget køn (selvom disse jo findes blandt f.eks. snegle).
moses >> Det princip synes jeg heller ikke at overskride idet jeg netop har foedsel med i \"hiraki\" tabellen. Desuden er jeg HELT enig i dit forslag - jeg ville bare uddybe med eksempler og burde egentlig heller ikke have lavet det som et svar.
Det synes jeg moses har ret i - hvorfor bruge andres sw naar man kan ha fornoejelsen af at lave det selv :-)
Denne \"opgave\" er da ideel til at laere at lave en relationel database + der kan hurtigt puttes en masse koed paa - moses har garanteret nogle ideer :-)
Jada. Hvad med en knap, der loader hele dit stamtræ ud på internettet eller hvad med en funktion, der kan link\'e sig til en af de mange standard stamtræ-programmers filer ude på nettet, så man kan hente oplysninger om personer, som man er i familie med.
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.