Sie können dieses Problem mit Ihrem aktuellen Design nicht lösen, ohne eine Logik auf Trigger- oder Anwendungsebene einzufügen. FOREIGN KEY
s können nicht auf mehr als eine Tabelle verweisen (ich verstehe Ihr Design, eine Tabelle pro Produktgruppe zu verwenden, wenn ich falsch liege, lassen Sie es mich bitte wissen). Außerdem dürfen sie keine bedingte Logik enthalten, also auch nicht, wenn Sie eine einzelne product_groups
haben Tabelle können Sie keinen FOREIGN KEY
erstellen die nur die G1- und G2-Datensätze aus dieser Tabelle zulässt.
Um dies mit standardmäßigen relationalen Integritätsbedingungen zu erreichen, benötigen Sie eine zusätzliche Tabelle mit dem Namen approvable_products
die die product_ids
enthalten würde der Produkte, die in Gruppe eins oder Gruppe zwei sind.