Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Reflexive 1:n Beziehung

Begonnen von trebuh, April 27, 2016, 12:01:03

⏪ vorheriges - nächstes ⏩

trebuh

Hallo,

bin dabei ein neues Projekt zu starten. Es handelt sich um eine Rinderdatenbank. Jetzt habe ich folgende Fragen:

1: Die Rinder werden mit Ohrmarken markiert. Die Nummer sieht z.B. so aus. DE 08 124 18793
    Diese Nummer ist im Prinzip ja eindeutig. Ist diese Nummer (in dem Fall Text) als Primärschlüssel zu empfehlen.
    (Ich tendiere eher für ein extra ID Feld als Zahl)

2: Wird eine Geburt gemeldet, muss die Nummer des Muttertieres mit angegeben werden. Dieses Muttertier ist ja auch als Tier im Bestand. Das müsste dann ja eine typische
     Reflexive 1:n-Beziehung sein, oder?

3: Ich kann mir meinen Bestand aus einer Onlinedatenbank als Excel.csv-Datei herunterladen.
    Nun habe ich in der Bestandstabelle (Access) in einem Feld die Ohrmarkennummer des Tieres und in einem Feld die   
    Ohrmarkennummer des Muttertieres.

    Wenn ich nun anstelle der Ohrmarkennummer des Muttertieres (Welche auch als Tier im Bestand ist) die ID des   
    Datensatzes (als Fremdschlüssel) haben will, wie muss ich das anstellen daß die Ohrmarkennummer des Muttertieres
    durch die ID des Datensatzes welche das Muttertier als gemeldetes Tier hat, ersetzt wird?
    Dachte da an eine Aktualisierungsabfrage.
    Geht das? wenn ja wie muss ich da vorgehen?

Hoffe, das ich mich einigermaßen verständlich ausgedrückt habe.

Gruß Hubert

DF6GL

Hallo,


1)  ID-Feld als Autowert ist das Richtige.....

2) Ja ... in tblTiere gibt es ein Id-Feld (siehe 1) und ein Feld "Tr_ParentID" , das den ID-Wert des Muttertieres enthält.

3) Ja, das muss so gehen.... Verknüpfe zunächst die Excel-Tabellen. Anschließend sind durch (über die Ohrmarkennummern) verknüpfende Insert-Abfragen und Update-Abfragen  die Zuordnungen herzustellen.



Bei der Ohrmarkennummer würde ich beim Importieren (bzw. Aktualisieren) die Blanks aus der Nummer eliminieren, so dass in der DB keine Leerzeichen mehr in Feld Tr_OMN vorhanden sind.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access