Coker: FK auf mehrere Tabellen

Hallo,

ist es möglich in einer Oracle-DB einen FK auf mehrere Tabellen zu machen? Also angenommen ich habe in einer tabelle eine id, die auf 3 andere tabellen verweist. Die haben natürlich auch diese id unter dem selben Namen. Die ids die in der 1. tabelle vergeben werden, werden mittels sequenz auf die anderen 3 tabellen verteilt. So soll je nach id auf eine der 3 tabellen zugegriffen werdne. Müsste doch möglich sein, oder?

  1. Hi,

    hört sich für mich nicht nach einem FK-Problem an...wenn ich dich richtig verstehe sollen abhängig von irgendwelchen Kriterien in der Tabelle 1 die ID entsprechend einer der 3 anderen Tabellen vergeben werden.

    Sollte eher mit ner Stored-Procedere gemacht werden denk ich - da du ja mit einem FK lediglich prüfen lässt, ob die ID z.B. in einer Tabelle vorhanden (also gültig) ist.

    Ich glaube nicht das es eine Möglichkeit gibt, einen FK mit "Case-Bedingung" einzurichten. Da du ja anscheinend abhängig von irgendwas in der einen oder anderen Tabelle nachgucken willst...

    Irgendwas hab ich mal von "Schlüssel-Joins" bei FKs gehört - kenne mich aber nicht damit aus...vielleicht googleste mal danach

    Gruss,
    Seppel

    1. Nein, glaub du hast mich etwas missverstanden. Ich habe 1 Tabelle die auf 3 Tabellen referenziert. Steht also in der Obertabelle die ID 1, wird diese auch in einer der 3 Untertabellen stehen. Das soll er finden. Also ist es möglich, dass die 3 "Untertabellen" alle über den gleichen Join per FK zur "Obertabelle" verknüpft sind und die "Obertabelle" auf die richtige Tabelle zugreift (also die in der die ID steht, die auch in der Obertabelle steht. Die ID steht ja in der Obertabelle drin und in einer der 3 Untertabellen).