In einem konkreten Programm habe ich das folgende Problem:
In meinem konkreten Anwendung handelt es sich um ein Farbenhersteller. Also hier nochmal etwas konkreter Ausgedrückt: Chemie A + Chemie B + Chemie C + .... Chemie N = darf Chemie Y nicht enthalten sein. Wenn ich natürlich Chemie A abfrage mit Chemie B.... muss als Ergebnis Chemie Y geben. Gleiches gilt naütrlich auch für Chemie B, wenn zusammen C ... N darf nicht Chemie Y enthalten sein. Bzw. Chemie C etc. darf nicht Chemie Y enthalten sein.
Also:
Produkt a darf in Verbindung mit Produkt b, Produkt c, .... Produkt n nicht Produkt y auswählbar sein. Das Produkt mus bei Abfrage von Produkt b in Verbindung mit Produkt a, Produkt c, ... Produkt n das dieses nicht das Produkt y nicht enthalten sein darf.
Dieses soll am effizientesten auf eine Datenbank abgebildet werden (über dieses Problem bin ich jetzt schon etwas länger am knobeln, mir raucht im Augenblick schon der Kopf )
Hoffe es ist nicht zu verwirrend
Mein bisheriger ERM - Diagramm sieht wie folgt aus
Tabelle Chemie {
int id;
string name;
}
Tabelle ChemieCombie {
Invalid_Chemie invalid_id;
Chemie chemie_id;
}
Tabelle Invalid_Chemie {
int id;
Chemie chemie_id;
Chemielist combis_id;
Chemie invalid_id;
}
Nach diesem Lösungsansatz müsste ich aber für alle Chemie Produkte die Liste führen, was sicherliche die Datenbank aufblähen würde. Außerdem müsste ich alle ändern wenn sich eine Kombi ändert, außerdem wäre das ermitteln auch nicht ganz einfach.
Wie kann so etwas am besten in einer Datenbank darstellen?
In meinem konkreten Anwendung handelt es sich um ein Farbenhersteller. Also hier nochmal etwas konkreter Ausgedrückt: Chemie A + Chemie B + Chemie C + .... Chemie N = darf Chemie Y nicht enthalten sein. Wenn ich natürlich Chemie A abfrage mit Chemie B.... muss als Ergebnis Chemie Y geben. Gleiches gilt naütrlich auch für Chemie B, wenn zusammen C ... N darf nicht Chemie Y enthalten sein. Bzw. Chemie C etc. darf nicht Chemie Y enthalten sein.
Also:
Produkt a darf in Verbindung mit Produkt b, Produkt c, .... Produkt n nicht Produkt y auswählbar sein. Das Produkt mus bei Abfrage von Produkt b in Verbindung mit Produkt a, Produkt c, ... Produkt n das dieses nicht das Produkt y nicht enthalten sein darf.
Dieses soll am effizientesten auf eine Datenbank abgebildet werden (über dieses Problem bin ich jetzt schon etwas länger am knobeln, mir raucht im Augenblick schon der Kopf )
Hoffe es ist nicht zu verwirrend
Mein bisheriger ERM - Diagramm sieht wie folgt aus
Tabelle Chemie {
int id;
string name;
}
Tabelle ChemieCombie {
Invalid_Chemie invalid_id;
Chemie chemie_id;
}
Tabelle Invalid_Chemie {
int id;
Chemie chemie_id;
Chemielist combis_id;
Chemie invalid_id;
}
Nach diesem Lösungsansatz müsste ich aber für alle Chemie Produkte die Liste führen, was sicherliche die Datenbank aufblähen würde. Außerdem müsste ich alle ändern wenn sich eine Kombi ändert, außerdem wäre das ermitteln auch nicht ganz einfach.
Wie kann so etwas am besten in einer Datenbank darstellen?