Jump to content
  • 0

EN/OF in relationele database


JGG

Question

Posted

Werkend op min of meer een beginnersniveau met Filemaker Pro Advanced 9 heb ik het volgend probleem: ik heb 3 databases met aktes uit de Burgerlijke Stand van plaats X: A, B en C. Bestand A bevat de geboortes en overlijdens, bestand B de huwelijken van mannen en C de huwelijken van vrouwen.

 

In A kan ik dus zoeken naar een geboorte/overlijdens akte van een man of vrouw. Nu wil ik bij een gevonden persoon, bijv. Piet Jansen nagaan of hij ook in plaats X getrouwd is. Ik hen een relatie aangemaakt tussen A en C, met de velden uit A: Naam Geb M= B: Naam Bgm, EN A: Naam Vader = B: Naam Vader Bgm, EN A: Naam Moeder = B Naam Moeder Bgm.

 

Voor de vrouwen heb ik identieke relaties aangemaakt tussen A en C.

 

Dit betekent dat er in de grafiek vanuit A 6 lijnen lopen: 3 naar B en 3 naar C.

 

Helaas, dit blijkt niet tot de gewenste resultaten te leiden, en ik heb het idee dat ik wellicht een keuze moet maken tussen: of A aan B koppelen, of A aan C. Maar kan dit wel, bestaat er iets als OF in plaats van EN, wanneer ik velden toevoeg aan de relaties?

 

Ik wacht vol spanning een oplossing af!

 

JGG

2 answers to this question

Recommended Posts

  • 0
Posted

Eerst een vraag:

Heb je 3 afzonderlijke bestanden of heb je 3 tabellen in 1 bestand ?

 

Volgens mij zit je met een ernstige design flaw.

 

Burgerlijke Stand van plaats X:

Bestand A bevat de geboortes en overlijdens,

bestand B de huwelijken van mannen en

C de huwelijken van vrouwen.

 

Indien je die als drie afzonderlijke zaken gaat behandelen, ga je vast lopen.

 

Een vogelvlucht overzicht (met enkele veronderstellingen):

 

Je hebt ‘Burgerlijke Stand’, daar hou je de ‘status’ van burgers bij. De status is een eigenschap, een attribute, van burgers, burgers zijn entities.

 

Je zou denken dat het allemaal met een geboorte begint, maar dat is niet helemaal juist.

Een geboorte valt niet zomaar uit de hemel. Het kan een godsgeschenk zijn, maar dat is een ander verhaal.

 

Laten we het simpel houden en zeggen dat een geboorte een product is van twee burgers, van twee entities.

 

Deze twee burgers hebben, op Burgerlijke Stand niveau 1 zaak gemeen; trouwboekje.

 

Dat trouwboekje heeft een nummer.

 

Iedere ‘getrouwde’ burger heeft zo’n nummer, waarbij in je lijst een mannetje ergens een vrouwtje moet hebben met hetzelfde nummer en omgekeerd.

 

Vermits ‘het kind in zijn boekje staat’, kan het niet anders dat een ‘geboortelinge’ dezelfde nummer gaat hebben als de ouders, die beide hetzelfde 'boek'nummer hebben.

 

Als je nu een verbinding maakt tussen al die nummers, kun je terugvinden wie allemaal tot hetzelfde boekje behoren en vanuit welk boekje ze komen (portaal).

Elk boekje is verbonden met een ‘koppel’, dus kun je hierarchisch terugvinden wie tot wie behoort.

 

Het overlijden is een attribute van een entity, een status als het ware.

 

Zonder te weten over welke gegevens je in ieder tabel beschikt, wat het moeilijk maakt om een ideale ooplossing te geven, zou ik zeggen:

Benader de opzet van je toepassing eens vanuit dit opzicht en kijk waar je uitkomt.

Op ‘naam’ werken is eigenlijk niet aangewezen, er kunnen ‘burgers’ met dezelfde naam zijn, zelfs met dezelfde geboortedatum, en dan loopt het vroeg of laat fout.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...