Neuigkeiten:

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

Mobiles Hauptmenü

m:n Beziehungen

Begonnen von Sealaender, März 29, 2017, 19:52:42

⏪ vorheriges - nächstes ⏩

Sealaender

Hallo zusammen,

seit etwa einem halben Jahr lerne und benutze ich Access beruflich, hab aber noch viel zu lernen was das Datenbank-Design angeht. Wenn ich Fachliteratur lese, ist alles klar. Aber sobald ich selbst etwas kreieren will, stehe ich, besonders wenn es zu m:n Beziehungen kommt, wie ein Esel vor dem Berg.

In einem Fall kommt mir überhaupt keine Lösung in den Sinn:
Ich möchte eine Datenbank erstellen, die alle Flugzeug-Strahltriebwerke die je konstruiert wurden, enthaltet.

Zuerst dachte ja, naiv wie ich bin, kein Problem: Jedes Triebwerk hat einen Erbauer! Das gibt eine Tabelle "Triebwerke" mit den Spezifikationen, und eine Nachschlagetabelle von den Herstellerfirmen.

So einfach ist es in der Realität aber nicht: Triebwerke werden z.T. nicht nur von einer Firma entwickelt, sondern es gibt auch sogenannte Joint Ventures, wo sich mehrere Firmen für ein Triebwerk zusammentun. Folgende Fälle hab ich bis jetzt herausgefunden:

1. Mehrere Firmen konstruieren ein Treibwerk. Beispiel (die "Engine Allianz" besteht aus Pratt & Whitney und General Electric. Die Bauen das GP 7200 Triebwerk)

2. Eine Firma konstruiert das Triebwerk, andere fertigen es in Lizenz.
(Beispiel: das J35 wurde von General Electric konstruiert und gebaut, aber auch die Firma Allison baute es. Ebenso Chevrolet)

3. Eine Firma konstruiert das Triebwerk und baut es, andere Firmen entwickeln Varianten davon und bauen diese.
(Beispiel: Wiederum das J35 wurde von General Electric konstruiert und Allison hat Varianten (schöner, stärker, schneller) davon gebaut).

Das erste Problem ist also das mit den Hersteller. Ich könnte ein Nachschlagetabelle mit den Hersteller machen, und dann in der Triebwerkstabelle mehrere Herstellerspalten erstellen. So quasi wie in Kontaktdaten, das berüchtigte: Telefonnummer 1 und Telefonnummer 2 und Telefonnummer 3.

Aber solche Konstrukte, soll man ja nicht machen.

Ich könnte eine Herstellertabelle erstellen, und die Joint Ventures wie eine Firma mit auflisten. Da ist aber nicht korrekt, ein Joint Venture ist keine Firma. Und es währe auch nicht ersichtlich, wer dahinter steckt.

Ich könnte eine Joint Venture Nachschlagetabelle erstellen, die wiederum auf eine Herstellertabelle zurückgreift. Was ist aber, wenn das Triebwerk nur ein Hersteller hat? Wie gebe ich dann der Treibwerkstabelle den Herstellerfremdschlüssel?

Eigentlich ist es eine typische m:n Beziehung oder? Mehrere Firmen zu mehreren Triebwerken.
Aber eben, wie mache ich das mit den Joint Ventures? An dem Problem studiere ich schon ein Weilchen herum.

Ich vermute ich bin nur etwas Doof, und ein DB Profi schüttelt die Lösung aus dem Ärmel.
Auf jeden Fall währe ich für Lösungsansätze sehr dankbar.

Freundliche Grüsse

Daniel







MzKlMu

Hallo,
folgende Tabellen sehe ich da:

- Triebwerke
- Firmen
- FirmenArt (Hersteller, Erbauer, Konstrukteur, Joint Venture etc.)
- TriebwerkFirmen (n:m mit FS zu Triebwerk, zu Firma und zu Art und ein Bemerkungsfeld für Einzelheiten)

FS=Fremdschlüssel

In einem Hafo zeigst Du die Triebwerke an und in einem verknüpften Ufo dann die Daten aus TriebwerkFirmen. Darin kannst Du auch die Rolle der Firma festhalten.

Gruß Klaus