Neuigkeiten:

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

Mobiles Hauptmenü

Anfängerfrage-Beziehungen

Begonnen von Joggi, November 23, 2020, 10:25:15

⏪ vorheriges - nächstes ⏩

Joggi

Hallo Fachleute,
ich scheitere daran, die Tabelle Eckdaten einzubinden. Liegt irgendwie an den einzelnen Schlüsseln. Würde mich sehr freuen, wenn ich einen Tip bekäme.
MfG Joggi

MzKlMu

Hallo,
da musst Du schon etwas mehr erklären.
Was muss man sich unter Eckdaten vorstellen?
Was ist die Aufgabe der DB ?
Was bedeuten die Anzahl.. Felder ?
Für Ordnung, Familie und Unterfamilie sollte es eigne Tabellen geben. In die Zwischentabelle kommt dann nur der FS zur Unterfamilie.

Hänge an die Fremdschlüssel noch ein _F an, es ist vorteilhaft Primärschlüssel und Fremdschlüssel zweifelsfrei unterscheiden zu können.

PS:
Was sollen denn die Präfixe (tbl...) vor den Feldnamen bedeuten?
Das ist überflüssige Tiparbeit uund sonst nix.
Gruß Klaus

Joggi

#2
Hallo Klaus, danke für Deine Antwort.
Also: Ich möchte eine Insektendatenbank erstellen. Umzug von Excel.
zunächst gilt: ein Fundort -> mehrere Arten
               mehrere Arten -> an einem Fundort
Deshalb dachte ich, dass es sich um m:n Beziehungen handelt.
Art, Ordnung, Famlie, Unterfamilie hatte ich bewußt in einer Tabelle zusammengefaßt, damit sofort eine eindeutige Zuordnung gewähleistet ist. Zu einer Unterfamilie gehören viele Arten usw. So zumindest meine Vorstellung. Nicht in der Tabelle vorhandene Arten erfasse ich in einem Formular mit Kombinationsfeldern (Ordnung, Familie, Unterfamilie)die mit "Untertabellen" verbunden sind.
Dort sind die Daten ohne Duplikate hinterlegt. Aber das geht mit den richtigen Beziehungen vermutlich auch einfacher.
Die Anzahl..Felder:
Hier werden die Anzahl der gefangenen Tiere eingetragen.
Aber nicht immer ist eine sichere Bestimmung des Geschlechts möglich.
Das kann dann so aussehen: männl. 0   weibl. 0  AnzahlIndividuen 4
Eckdaten:
Ein Fundort wird u.U. mehrmals untersucht. Da ändern sich das Datum, Methode, Umstände.
Aber da sowieso jede einzelne Begehnung erfaßt werden muß, wäre es event. besser, die Eckdaten auch in der Tabelle Fundorte unterzubringen?
Präfixe tbl... zuviel Netz geguckt. Kann ich weglassen.

Ich hoffe, dass mein Anliegen damit etwas deutlicher geworden ist.
Gruß
Jörg
P.S. Ich bin ehrenamtlich unterwegs und habe die Erlaubnis des "Landesamt für Umwelt"
(man weiß ja nie  ;) )

DF6GL

Hallo,

da wird noch einiges an Datenanalysearbeit auf Dich zukommen. Die Daten müssen dann vernünftig in Beziehung zueinander gesetzt werden.. Siehe u. st. Links 1, 1a und 1b.

Diese Normalisierungsreglen sollten (müssen), soweit sinnvoll auch umgesetzt werden.


ZitatArt, Ordnung, Famlie, Unterfamilie hatte ich bewußt in einer Tabelle zusammengefaßt


sollte besser in einzelne (Nachschlage-, bzw. 1-) Tabellen aufgedröselt sein.

Hauptsächliche Tabellen (minimalistisch):



tblFundorte 1:n tblFundortBegehungen 1:n tblFuOBegFunde  n:1 tblTiere
                                                  "      n:1 tblUnterFamilie



Ein Fundort wird mehrmals an verschiedenen Datum begangen.
Bei jeder Begehung wird eine bestimmte Anzahl unterschiedlicher, zu bestimmten Arten,Familie,Unterfamilie gehörenden Tiere gefunden.



Formulare bleiben zunächst außen vor. Die werden erst dann erstellt, wenn die Daten-(Tabellen-)Beziehungen logisch korrekt 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

Joggi

Hallo Franz,
danke erstmal für die Antwort.
1. Ist zwingend notwendig, die "Artenliste" aufzudröseln?
In einer Personaltabelle stehen doch in der Regel neben Namen, Vornamen auch noch andere Angaben.
2. Wo müßte ich welche FS einfügen?

Ich schaffe es grad nicht einen Screenshot einzufügen :-\

DF6GL

Hallo,

1) ich plädiere für "ja".

2) lies die angegebenen Links, dann wird es Dir klar.


(FS == Fremdschlüsselfelder) gehören in die n-Tabellen als Referenz zu der dazugehörenden 1-Tabelle.


Screenshot: warum nicht?
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

MzKlMu

Hallo,
Zitat von: undefined1. Ist zwingend notwendig, die "Artenliste" aufzudröseln?
auch von mir ein eindeutiges Ja.
Nur dann ist sichergestellt, dass Du keine ungültigen Kombinationen einträgst.
Du könnst ja so wie Du das jetzt hast eine Ordnung eintragen die gar nicht zu der Art passt.
Du brauchst 4 Tabellen:
Art
Ordnung (FS zur Art)
Familie (FS zur Ordnung)
Unterfamilie (FS zur Familie)

Der Datensatz in der Unterfamilie ist eindeutig, sodass nur dessen PS als FS in der n:m Zwischentabelle zu speichern ist. Damit sind alle übergeordneten Daten eindeutig bestimmt.
Gruß Klaus

Joggi

Hallo,
danke erstmal. Ich probier das natürlich aus. Aber langsam schwant mir, dass es ein weiter Weg bis zum Ziel werden wird. Und - ich hab ca. 1550 Datensätze, die eingepflegt werden müssen. Einfach importieren wird wohl nicht gehn.
Hier aber erstmal meine bisherige Zuordnung.
Sie dürfen in diesem Board keine Dateianhänge sehen.

Gruß Jörg

MzKlMu

Hallo,
Die 4 Tabellen sind schon mal richtig.
Du hättest auch noch die anderen Tabellen verknüpfen und zeigen sollen.
Noch ein Tipp, hänge an die Fremdschlüsselfelder noch ein _F an, es ist vorteilhaft wenn man PS und FS zweifelsfrei unterscheiden kann. Außerdem ist es günstig wenn es in einer Datenbank keine gleichen Feldnamen gibt.
Gruß Klaus

Joggi

#9
Hallo,
hab nachfolgend mal alles auf einen Blick. Geht das so? Oder ganz falsch?
Zum anderen hätt ich eine Frage zur Tabelle "Fundort" Müßte die eigentlich auch noch weiter aufgedröselt werden?
 
Bsp.  Fundort │   NatRHauptgebiet │ NatRUntergebiet              │Koordinaten         │TK-25

    bel. Text │ Odertal (80)    │Untere Odertalniederung (800) │ 33U 000000 0000000 │5778

wobei in der Spalte "Fundort" bisher auch eine längere durch Kommas getrennte Wortgruppe steht, also keine genaue Ortsbezeichnung. Irgendwie muß ja auch alles aml ausgewertet werden können (Abfrage/Bericht etc.)
Würd mich sehr über weitere Hilfestellung/Anregungen freuen. :)
P.S. Versuche grad eine Abfrage über die Arten zu erstellen. Es sind jedoch keine Datensätze in der Tabellenansicht vorhanden.
Gruß
Jörg
Sie dürfen in diesem Board keine Dateianhänge sehen.



DF6GL

#10
Hallo,

Zum anderen hätt ich eine Frage zur Tabelle "Fundort" Müßte die eigentlich auch noch weiter aufgedröselt werden?

Die Antwort habe ich Dir doch gegeben. Oder hast Du die nicht gelesen?:
ZitattblFundorte 1:n tblFundortBegehungen 1:n tblFuOBegFunde  n:1 tblTiere
                                                  "      n:1 tblUnterFamilie


Die Tabellen Eckdaten, Zwischentabelle, Fundorte sind so nicht brauchbar.


Wenn Fundorte zu weiteren Unterkategorien gehören, müssen diese ebenso wie die Familien aufgedröselt werden.

Zitatwobei in der Spalte "Fundort" bisher auch eine längere durch Kommas getrennte Wortgruppe steht, also keine genaue Ortsbezeichnung. Irgendwie muß ja auch alles aml ausgewertet werden können

Sehr richtig.  Dazu müssen die Tabellen aber den Normalisierungsregeln genügen, die Du hoffentlich gelesen hast.

In Feld "Fundort"   dürfen nur die Koordinaten stehen, alles andere gehört in separate Felder ausgelagert. Dabei wäre es sinnvoll, das Feld in FundortKoordinaten umzubenennen.

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

Joggi

Hallo,
danke. Dann werd ich mal weiter aufdröseln in der Hoffnung, dass ich das wieder irgendwie zusammengeführt kriege. Unterm Strich will ich ja ein Formular, in das ich alle notwendigen Eingaben erfassen kann.
Gruß
Jörg

DF6GL

Hallo,


 Unterm Strich will ich ja ein Formular, in das ich alle notwendigen Eingaben erfassen kann.



mhmm, ich glaube nicht, dass Du das willst... Du willst eine Datenbank-Anwendung, mit der die Funde (Insekten) bei Deiner Beschäftigung verwaltet werden können.


Dazu reicht ein einziges Formular allerdings nicht aus.  Sinnvollerweise ist für jede Tabelle ein Formular zu erstellen, über das die jeweiligen Tabellendaten gepflegt werden können.

Mit geeigneten HFO/UFO-Konstruktionen bildet man die 1:n-Zusammenhänge ab, wo sie sinnvoll sind. (Beispiel Fundort--Fundortbegehungen)


Aber soweit ist das Ganze noch nicht, um sich mit Formularen zu beschäftigen zu wollen.
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

Joggi

Hallo,
hab jetzt mal versucht das alles aufzudröseln und in Beziehung zu setzen.
Vielleicht schaut Ihr bitte nochmal drauf. Bin für jeden Hinweis dankbar.
_F steht für FS
_FN für Nachschlagefeld

Meine Frage wäre, wie probier ich´s aus, ob es auch wie gewünscht funktioniert?

Sie dürfen in diesem Board keine Dateianhänge sehen.

VG und schönen 1. Advent
Jörg

MzKlMu

#14
Hallo,
nein, das passt so nicht.
Die Nachschlagefelder (_FN) kannst Du alle ersatzlos löschen. In Tabellen legt man grundsätzlich keine Nachschlagefelder an. So wie Du sie angelagt hast, sind sie ohnehin falsch, das wäre ja doppelt gemoppelt. Die _F Felder und noch als Nachschlagfeld. Nachschlagefelder sind typische Anfängefehler.
Siehe hierzu:
http://dbwiki.net/wiki/Access_Anf%C3%A4nger:_Die_Nachteile_von_Nachschlagefeldern
Die Beziehung ArtID_FN ist falsch. Die ist ersatzlos zu löschen. Du brauchst eine Beziehung von der Unterfamilie (UfamID) in die Tabelle "tblFunde". Der FS zur Art muss dort raus. Das hattes Du in einem früheren Bild schon mal richtig gemacht.
Ein Fundort kann doch nur ein bestimmter Ort sein, demzufolge ist die Koordinatentabelle überflüssig, für einen Ort kann es nur eine Koordinatenangabe geben. Die Koordinaten kommen direkt zum Fundort, als 2 Felder (Breitengrad, Längengrad) für jeweils eine 6stellige Dezimalzahl. Je nach Genauigkeitswunsch muss ggf. auch das Bezugssystem für die Koordinaten erfasst werden.
Was ist denn TK25, die Bezeichnung der topografischen Karte 1:25.000 ?
Da wäre dann auch das Bezugssystem wichtig, wenn Du die Fundorte auf der Karte darstellen willst.

Ich versuche Dir das mal auf dem Bild darzustellen.
Gruß Klaus