INFO
Sylabus
Standard ODMG, część 5
1. Plan wykładu (część 5)
2. Swobodne kombinowanie operatorów
3. Całość zapytania w jednym kawałku
4. Nazwane zapytania
5. Binarne porównania i operatory
6. Selekcja atrybutu, przechodzenie wzdłuż związku
7. Kwantyfikatory
8. Operatory (funkcje) zagregowane
9. Zdanie Select From Where
10. Przykład Select From Where
11. Operator grupowania
12. Uporządkowanie, operatory na tablicach i listach
13. Operacje na zbiorach
14. Reguły zakresu
15. Podsumowanie OQL
Skorowidz
Wyście:
Wyklad XI. Wprowadzenie do standardu ODMG, część 5:
OQL (KURS SSR)
I II III IV V VI VII VIII IX X XI XII XIII XIV
« poprzedni punkt   następny punkt »

8. Operatory (funkcje) zagregowane

Identyczne jak w SQL:
min, max, count, sum, avg
<operator> ( <zapytanie> )
max( select zarobek from Profesorowie )

count( Osoby )

Minimalna średnia ocena studentów
(ocena jest atrybutem studenta typu bag<integer>)

min( select avg(select y from x.ocena as y ) from Studenci as x )




9. Zdanie Select From Where

(2kB)


select [distinct] f( x1,x2,...,xn,xn+1,xn+2,...,xn+p ) 
from         e1(xn+1,xn+2,...,xn+p) as x1, 
        e2(x1,xn+1,xn+2, ...,xn+p) as x2 , 
        e3(x1,x2,xn+1,xn+2, ...,xn+p) as x3 , 
        ... 
        en(x1,x2,xn-1,xn+1,xn+2, ...,xn+p) as xn 
[where p(x1,x2, ...,xn,xn+1,xn+2, ...,xn+p)] 
[order by f1(x1,x2,..,xn+p),f2(x1,x2,..,xn+p),.. ,fq(x1,x2,..,xn+p)]     
xn+1,xn+2, ...,xn+p są wolnymi zmiennymi
x1,x2,..,xn są zmiennymi zdefiniowanymi w tym zdaniu (które są wolne w wyrażeniach f,p,fi i ei)
as można opuścić. Alternatywnie,
można użyć x in e(..)

Składnia jest podobna do SQL, lecz semantyka jest zasadniczo różna. Po słowie from znajduje się nie iloczyn kartezjański, lecz wyrażenie określane jako zależne złączenie (dependent join). Zależne złączenie oznacza, że każdy następny fragment korzysta z definicji zmiennych ze wszystkich poprzednich fragmentów.

Podana definicja
budzi kontrowersje:
  • Duży syntaktyczny zlepek, sprzeczny z zasadą ortogonalności
  • Nieprecyzyjna definicja zależnego złączenia (zakresy nazw)
  • Ogólna nieporadność, tępota stylu definicji


« poprzedni punkt   następny punkt »