Inner Join Abfragen unter Access

Hallo zusammen,

ich habe folgende Tabellen:

tblAircraftTypes: AircraftTypesID(long), ICAO_ID_F (long), IATA_ID_F, Typ_Description_ID_F
tblAircraftTypes_ICAO: AircraftTyp_ID(long), ICAO(String), Typ_Description_ID_F
tblAircraftTypes_IATA: AircraftTyp_ID(long), IATA(String), Typ_Description_ID_F
tblAircraftTyp_Global: AircraftTyp_ID(long), Company_ID_F (long), Wake_ID_F (long), AircraftTyp (string)
tblCompany: Company_ID(long), Company (string)
tblWake: Wake_ID(long), Wake (string)

mein Problem ist folgendes.
tblAircraftTypes soll letztendlich eine komplette Liste der Aircrafts aus tabelle tblAircraftTypes_ICAO + …_IATA enthalten.
Aber irgendwie erscheint mir die Tabelle sinnlos vorzukommen, da man das sicher mittels einer Innerjoin Abfrage lösen könnte… Dabei kann es vorkommen, dass in der …_ICAO tabelle und der IATA tabelle gleiche Aircrafts aufgeführt sind. die sollten möglichst in der selben zeile stehen, also einen Datensatz bilden der um eine Spalte erweitert ist (ICAO oder IATA - je nachdem)
Das 1. Problem: es müsste möglich sein jeden Datensatz Anhand einer ID eindeutig zu identifizieren (für die Verwendung in Zusätzlichen tabellen) das spricht für meine Zusatztabelle aber gegen die Möglichkeit einer Abfrage
Das 2. Problem: bei einer Abfrage (von Access Automatisch erstellt) werden 0 Datensätze angezeigt, aber ich blick das auch nicht wie die Tabellen sinnig verbunden werden.

Eine Zusatzfrage hätte ich da noch… die Tabellen stehen untereinander in Beziehung, das Problem, die IATA und die ICAO Tabelle beziehen sich beide auf tblAircraftTyp_Global.AircraftTyp_ID ist so eine doppelte beziehung erlaubt und Sinnvoll?

Hat jemand vllt ein Buchtipp über Datenbanken insbesonder im Hinblick auf die Verknüpfungen?

Ich hoffe es ist halbwegs zu verstehen was ich meine

vielen Dank schonmal

lg Enrico

Hallo,

ich habe folgende Tabellen:

tblAircraftTypes: AircraftTypesID(long), ICAO_ID_F (long),
IATA_ID_F, Typ_Description_ID_F

tblAircraftTypes_ICAO: AircraftTyp_ID(long), ICAO(String),
Typ_Description_ID_F
tblAircraftTypes_IATA: AircraftTyp_ID(long), IATA(String),
Typ_Description_ID_F

diese beiden Tabellen gehören zu einer zusammengefaßt. Ein zusätzliches Feld definiert die Zugehörigkeit:

z.B:

1=ICAO
2=IATA
3=ICAO und IATA

tblAircraftTyp_Global: AircraftTyp_ID(long), Company_ID_F
(long), Wake_ID_F (long), AircraftTyp (string)
tblCompany: Company_ID(long), Company (string)
tblWake: Wake_ID(long), Wake (string)

mein Problem ist folgendes.
tblAircraftTypes soll letztendlich eine komplette Liste der
Aircrafts aus tabelle tblAircraftTypes_ICAO + …_IATA
enthalten.

siehe oben

Aber irgendwie erscheint mir die Tabelle sinnlos vorzukommen,
da man das sicher mittels einer Innerjoin Abfrage lösen
könnte…

nein, kann man nicht, man bräuchte ein UNION-Abfrage…

Dabei kann es vorkommen, dass in der …_ICAO
tabelle und der IATA tabelle gleiche Aircrafts aufgeführt
sind. die sollten möglichst in der selben zeile stehen, also
einen Datensatz bilden der um eine Spalte erweitert ist (ICAO
oder IATA - je nachdem)

siehe oben st. Vorschlag.

Das 1. Problem: es müsste möglich sein jeden Datensatz Anhand
einer ID eindeutig zu identifizieren (für die Verwendung in
Zusätzlichen tabellen) das spricht für meine Zusatztabelle
aber gegen die Möglichkeit einer Abfrage

man müsste nicht nur, man muss…

Das 2. Problem: bei einer Abfrage (von Access Automatisch
erstellt) werden 0 Datensätze angezeigt, aber ich blick das
auch nicht wie die Tabellen sinnig verbunden werden.

Naja, Access erstellt nicht automatisch eine UNION-Abfrage…

Eine Zusatzfrage hätte ich da noch… die Tabellen stehen
untereinander in Beziehung, das Problem, die IATA und die ICAO
Tabelle beziehen sich beide auf
tblAircraftTyp_Global.AircraftTyp_ID ist so eine doppelte
beziehung erlaubt und Sinnvoll?

„Doppelte Beziehung“ ist falsch, man müsste wieder eine Unterscheidung mitführen, woher die ID (aus welcher Tabelle) stammt.

Hat jemand vllt ein Buchtipp über Datenbanken insbesonder im
Hinblick auf die Verknüpfungen?

Besser wäre das Verständnis der Normailsierungsregeln.

http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
http://www.tinohempel.de/info/info/datenbank/normali…

Ich hoffe es ist halbwegs zu verstehen was ich meine

hoffe auch :wink:

Viele Grüße vom Bodensee
Franz, DF6GL

Hallo und vielen Dank für die Antwort,

…und da hab ich mir so eine arbeit gemacht die Tabellen voneinander so zu trennen… War wohl zuviel des Guten.

Werd mir aber die links mal direkt zu Gemüte führen.

vielen Dank nochmal :smile:

Enrico