Speichern von Logischen Ausdrücken in Datenbanken

TOLIK

Mitglied
Hallo,

ich habe mal eine Frage zum "vernünftigen" speichern von Logischen Ausdrücken in einer Datenbank.
Mein erster Ansatz wäre folgender:
Param1&Param2|Param3
würde ich folgendermaßen Speichern:
Eine Tabelle mit Parametern erstellen, in denen ich die einzelnen Paramerter speichere.
Außerdem würde ich dann in einer Tabelle die Verknüpfung zwischen den Parametern speichern undzwar so:
1&2|3 (1,2,3 sind die ID's der Parameter in der Tabelle in denen die Parameter gespeichert werden)
Nun gut diese Variante wäre durch splitten der Strings möglich und eigentlich auch kein Problem in der realisierung. Finde diese Methode aber nicht sonderlich elegant.

Hat einer von euch eine bessere Idee wie man einen logischen Ausdruck elegant(also ohne Strings splitten) speichern kann?
 
Also ich möchte in meinem Programm Elemente(bsp. Testcases) zu bestimmten Categorien(valid, invalid, etc) zuweisen wenn bestimmte Regeln(die den Elementen zugewiesen werden) erfüllt sind.
Quasi so das wenn die Regel erfüllt ist dann soll das Element in "valid" stehen.
Soweit so gut.
Die Regeln bestehen bei mir aus verschiedenen Parametern, zum Beispiel aus param1, param2, param3. Diese werden dann mittels logischen Operatoren verknüpft, wie &,|(oder),!,=,......

Dann könnte eine Regel folgendermaßen aussehen: "param1 & param2 | param3"
nun möchte ich so eine Regel in der DB speichern und weiß im moment nur noch nicht wie ich es am geschicktesten anstelle.
Fakt ist das die definierten Parameter von mehreren Regeln verwendet werden können.

Da ich Redundanz vermeinden will, war mein Ansatz eine Tabelle zu erstellen in der die Parameter mit einer eindeutigen ID gespeichert werden.
Zu dem sollte eine Tabelle erstellt werden in der die Struktur einer Regel gepeichert wird. Dies mache ich zur Zeit folgendermaßen:
1&2|3 (wobei 1,2,3 ID's der zugehörigen Parameter sind)

und meine Frage ans Forum war jetzt nun ob dieser Ansatz okay ist oder ob euch ne bessere möglichkeit bekannt ist....
(hoffe mal das ich mich diesmal klarer ausgedrückt habe)


Gruß
Tolik
 
Hi,

Mit "Was soll das denn werden?" meinte ich eher, warum Du die logischen Ausdrücke bzw. Regeln überhaupt in Datenbanktabellen speichern willst? Wie willst Du die später verarbeiten (dass das nicht komfortabel oder elegant wird, hast Du ja schon gemerkt)?

LG
 
oh achso das meintest du...

ich soll ein Testservicecenter entwickeln in dem ich einzelnen Testfällen bestimmte Regeln hinzufügen kann.
zum Beispiel: !Benzin (wenn der Testfall sich auf Diesel Fahrzeuge bezieht)
Diese Regeln können natürlich auch komplexer sein. Diese werden dann später von einem Ausführungstool berücksichtigt nem Art Selector der sich dann die Gültigen Testfälle raussucht.
Das ist im groben alles.
 
Zurück