ZSBD-2st-1.2-w5.tresc-1.1-Slajd6
Struktura wyników zapytań
Wynikiem zapytań wyrażonych w języku OQL są kolekcje obiektów lub wartości. Struktura i funkcjonalność zwracanych obiektów jest zdefiniowana w schemacie bazy danych. Wynikiem mogą być obiekty odczytane z bazy danych lub obiekty dynamicznie utworzone w trakcie wykonywania zapytania za pomocą konstruktora klasy. Struktury wartości wynikowych są dynamicznie definiowane w zapytaniu. Struktura wartości, które są wynikiem zapytania może być dowolnie złożona. Wartościami składowymi złożonej wartości są wartości lub obiekty.
W podanym przykładzie struktura danych wynikowych jest krotką, co wynika z zastosowanego konstruktora typu – „struct ”. Typem pierwszego atrybutu o nazwie „t ” jest typ tekstowy – „String ”. Wynika to z definicji atrybutu o nazwie „Typ ” zdefiniowanego w klasie „Wielokąty ”, składowanej w schemacie bazy danych. Drugi atrybut krotki o nazwie „zw” jest złożony. Jego wartościami są wielozbiory par liczb zmiennoprzecinkowych. Wartości tego atrybutu są generowane przez zagnieżdżone pod-zapytanie, które zwraca współrzędne wszystkich wierzchołków danego wielokąta.
Zmienna "w " w zapytaniu reprezentuje obiekty klasy „Wielokąt ”. Wynikiem zapytania, w którym argumentem klauzuli SELECT byłaby zmienna w będzie wielozbiór nie wartości, ale obiektów – wystąpień klasy „Wielokąt ”.