5 Stimmen

Hat jemand ein Beispiel für eine Benutzeroberfläche zum Erstellen einer SQL-Where-Klausel?

Ich habe Schwierigkeiten, verschachtelte Bedingungen auf einer intuitiven Schnittstelle abzubilden.

z.B.. Wie würden Sie ((Bedingung1 UND Bedingung2) ODER (Bedingung1 UND Bedingung5)) UND Bedingung4 darstellen?

1voto

Leigh Caldwell Punkte 9608

Wenn dies wichtig genug ist, um viel Zeit darauf zu verwenden, würde ich die Verwendung von Venn-Diagrammen in Betracht ziehen. Die Visualisierung wird die Ergebnismengen und nicht die Abfragebegriffe darstellen. Zur Veranschaulichung von UND würden Sie also zwei Kreise zeigen, die die Ergebnisse darstellen, und die Überschneidung zwischen ihnen hervorheben (Schnittpunkt).

Zur Veranschaulichung von ODER zeigen Sie die beiden Kreise und heben die Verbindung der beiden hervor.

Um dann die gesamte mehrteilige Abfrage anzuzeigen, können Sie entweder fünf Kreise mit einer Kombination aus Vereinigung und Schnittmenge anzeigen oder jede Klammer kombinieren und dann die Details ausblenden, so dass die Ergebnisse einen neuen Kreis bilden, der mit anderen Elementen kombiniert werden kann. Hier gibt es viele Möglichkeiten zum Ziehen und Ablegen und zur dynamischen Größenanpassung von Unterklauseln für mehr Übersichtlichkeit.

Um dies intuitiv und benutzerfreundlich zu gestalten, wäre einiges an Arbeit nötig, aber für einige Anwendungen wäre es eine wirklich leistungsfähige Schnittstelle.

1voto

Joel Anair Punkte 13536

Schauen Sie sich eine der Live-Demos für EasyQuery an:

http://devtools.korzh.com/easyquery/livedemos/

Es handelt sich um eine kommerzielle Software, aber der Abschnitt "Bedingungen" ermöglicht es Ihnen, einzelne Bedingungen oder Gruppen von Bedingungen hinzuzufügen, wodurch ein Großteil der Komplexität von Klauseln mit mehreren UNDs und/oder ODERs beseitigt wird. Es ist sehr gut gemacht und einfach zu benutzen.

(Ich bin nicht mit EasyQuery verbunden, nur beeindruckt von ihrem Query Builder).

EasyQuery screenshot

0voto

Austin Salonen Punkte 47404

Die beste Schnittstelle, die ich dafür gesehen habe, war ein selbst entwickeltes Steuerelement, das einen Baum zeichnete, um die Reihenfolge der Operationen deutlich zu machen. Ich habe noch nie ein Steuerelement eines Drittanbieters gesehen, das dies tat, aber ich habe auch nicht nach einem gesucht.

0voto

Bahadır Yağan Punkte 4937

Sie können prüfen, wie MS Access das macht. Ich würde es nicht als intuitiv bezeichnen, aber es ist einfach.

0voto

Nescio Punkte 26799

Ich habe früher an einem System gearbeitet, bei dem wir eine boolesche Logik ähnlich der folgenden ausgerichtet haben.

Die rechten Spalten (Inner) und (Outer) bieten zwei Logikebenen.

Variable       Inner     Outer
Condition1     And
Condition2               Or
Condition1     And
Condition5               And
Condition4               

Or more optimized...

Condition4               And
Condition1               And       
Condition2               Or
Condition5

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X