Announcement

Collapse
No announcement yet.

Foreign Key auf nicht unique index Feld

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Foreign Key auf nicht unique index Feld

    Hallo,
    folgende Situation:
    Ich habe eine Tabelle, in der Dienstpläne gespeichert werden:

    Tabelle DPL:
    ID, Woche, Wochentag, Tätigkeit, Primärschlüssel: (ID, Woche, Wochentag)

    und eine Tabelle, in der die Mitarbeiter gespeichert sind:

    Tabelle MA:
    ID, Name, Primärschlüssel: (ID)

    Jetzt möchte ich gerne eine Zuordnungstabelle, in der steht, welche Mitarbeiter für welchen Zeitraum zu welchem Dienstplan zugeordnet ist:

    Tabelle MADPL:
    ID, IDDPL, IDMA, Von, Bis, Primärschlüssel (ID), Fremdschlüssel (IDDPL) References DPL (ID), Fremdschlüssel (IDMA) References MA (ID)

    Das funktioniert so aber nicht, weil ID bei DPL ja kein unique index ist. Die ID ist im Dienstplan aber auch nicht eindeutig. Beispiel für einen Dienstplan:
    ID | Woche | Wochentag | Tätigkeit
    1 | 0 | 0 | Schweißen
    1 | 0 | 1 | Sägen
    1 | 0 | 2 | Urlaub
    ....

    Hat jemand Ideen, wie ich diese Art der Zuordnung realisieren könnte?

    Der Fremdschlüssel in der Zuordnungstabelle zielt deshalb auf die ID des Dienstplanes, weil nur solche Dienstpläne zugeordnet werden sollen, die auch existieren.

    Danke schonmal
    Grüße
    Moltar

    -----------
    EDIT:
    Habe das Problem anders gelöst, indem ich meine Datenbankstruktur verändert habe.

    Beitrag kann gelöscht werden.
    Zuletzt editiert von Moltar; 29.05.2007, 16:58.
    ---
    Firebird 1.5.2

  • #2
    Hallo,

    generell ist zu empfehlen, dass eine Tabelle einen künstlichen Primärschlüssel besitzt, mit Daten ohne Semantik, d.h. am Besten durch einen Generatorwert befüllt.

    Thomas
    Thomas Steinmaurer

    Firebird Foundation Committee Member
    Upscene Productions - Database Tools for Developers
    Mein Blog

    Comment

    Working...
    X