wKovacs: unterschiedliche logisch Beziehungen in einer DB-Tabelle speichern

Beitrag lesen

Hallo,

ich habe gerade wohl einen Konten im Kopf und hoffe jemand kann mich in die richtige Richtung weisen.

Mein Problem:

Ich habe eine Liste von Weiterbildungskursen (nennen wir sie KursA bis KursZ) in einer Tabelle abgelegt. Einige diese Kurse haben Vorraussetzungen aus einer Kombination von anderen Kursen.

Beispiel: KursA ODER (KursB UND KursC)

Diese Beziehungen können pro Kurs unterschiedlich sein, nicht nur unterschiedliche Anzahl an Alternativen (ODER) sondern auch Kombinationen (UND).

Ich versuche einen Weg zu finden, diese Beziehungen in einer Tabelle abzubilden.

etwa:

dabei ist "fürKurs" ein Fremdschlüssel der entweder auf die Kurstabelle verweist oder auf sich selbst.

fürKurs Bed1 verknüpfung bed2
KursK KursA oder 2
2 KursB und KursC

Nun habe ich 2 Probleme die ich aktuell sehe:

A wie unterscheide ich, auf welche Tabelle sich der Fremdschlüssel bezieht, mal ganz davon abgesehen, wie kann ich eine Spalte auf 2 Tabellen referenzieren lassen

B Mit diesem Entwurf kann ich sowas wie KursA UND (KursB ODER (KursC UND KursD) ODER KursE) nicht abbilden.

Ich gehe davon aus, das schon der Ansatz falsch ist. 😕

Dagegen vermute (hoffe) ich, dass es ähnliche Probleme häufiger gibt und es eine Lösung gibt. Bisher war ich nur noch nicht in der Lage sie zu finden. Falls jemand einen Lösungsansatz hat oder auch nur einen Link zu relevanten Lesestoff (auch englisch) wäre ich sehr dankbar!

Vielen Dank

wKovacs