Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

OQL-Anfragen (1) Alle Punkte, die auf der Null-Ebene liegen: selectstruct (ex : x, ey : y) fromallePunkte wherez = 0 Rückgabetyp: bag > Alle Kanten, die.

Ähnliche Präsentationen


Präsentation zum Thema: "OQL-Anfragen (1) Alle Punkte, die auf der Null-Ebene liegen: selectstruct (ex : x, ey : y) fromallePunkte wherez = 0 Rückgabetyp: bag > Alle Kanten, die."—  Präsentation transkript:

1 OQL-Anfragen (1) Alle Punkte, die auf der Null-Ebene liegen: selectstruct (ex : x, ey : y) fromallePunkte wherez = 0 Rückgabetyp: bag > Alle Kanten, die zu Flächen mit mindestens vier Kanten gehören: selectstruct (kp1 : k.p1, kp2 : k.p2) fromf in alleFlächen, k in f.kanten wherecount (f.kanten) >= 4 Rückgabetyp: bag > (Impliziter Join!)

2 OQL-Anfragen (2) Dieselbe Anfrage, aber gruppiert nach Flächen: selectstruct (fläche: f.fName, punkte: (select struct (kp1 : p1, kp2 : p2) from f.kanten)) fromf in alleFlächen, k in f.kanten wherecount (f.kanten) >= 4 Rückgabetyp: bag > > Beachte: Gruppierung ohne group by

3 OQL-Anfragen (3) Ergebnis kann Resultat von Operatoraufrufen enthalten z.B.: selectvolumen() fromalleQuader Länge aller Kanten von großen Flächen: selectk.länge fromf in alleFlächen, k in f.kanten wheref.fläche > Vielflächner mit großen Flächen: selectvName fromalleVielflächner wherefor all f in flächen : f.fläche() > 100.0

4 OQL-Anfragen (4) Aggregierung nach Gruppen, z.B. zuerst Gruppierung der Quader nach Oberfläche, dann Berechnung des mittleren Volumens über alle Quader mit dieser Oberfläche, dies aber nur für Oberflächen über 20: selectstruct (ofläche, dvolumen: avg( volumen() ) fromalleQuader group byofläche : oberfläche havingoberfläche >= 20.0 Rückgabetyp: bag >

5 OQL-Anfragen (5) Auch die Sortierungsklausel existiert in OQL, z.B.: select fromalleQuader order byoberfläche desc, volumen() asc Es kann nach mehreren Attributen bzw. Methodenresultaten sortiert werden –Aufsteigend: asc (Voreinstellung) –Absteigend: desc

6 OQL-Anfragen (6) Gesamtzahl aller Kanten, die aus dem Nullpunkt entspringen : count(select fromalleKanten wherep1.x = 0.0 andp1.y = 0.0 andp1.z = 0.0) Ergebnistyp: unsigned long Bemerkung: OQL erlaubt (als Tribut an SQL) auch Syntax selectcount ( ) fromalleKanten wherep1.x = 0.0 andp1.y = 0.0 andp1.z = 0.0)

7 OQL-Anfragen (7) Liste aller Flächen mit Umfang über 1000: selectf fromf in alleFlächen where1000 < sum(selectk.länge fromk in f.kanten) Ergebnistyp: bag


Herunterladen ppt "OQL-Anfragen (1) Alle Punkte, die auf der Null-Ebene liegen: selectstruct (ex : x, ey : y) fromallePunkte wherez = 0 Rückgabetyp: bag > Alle Kanten, die."

Ähnliche Präsentationen


Google-Anzeigen