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 »

12. Uporządkowanie, operatory na tablicach i listach

Rezultat zapytania można uporzadkować, tj, zmienić jego typ z set lub bag na list.
<zapytanie_select> order by e1, e2, ..., en
select os from Osoby as os order by os.wiek, os.nazwisko
select * from Osoby as os 
order by os.wiek desc, os.nazwisko asc, nr_działu

<lista>[i]
Zwraca i+1-szy element listy, np.
list(a,b,c,d)[1]
zwraca b.
<lista>[i:j]
Zwraca podlistę, np
list(a,b,c,d)[1:2]
zwraca list(b,c)..


Podaj trzeci poprzednik kursu projektowania o numerze 101:
element(select x from Kursy as x
        where x.nazwa = "projektowanie"  
        and x.numer = "101").poprzedniki[2]
Naiwny stosunek do problemu sortowania, nie uwzględniający narodowych konwencji. Listy są numerowane od zera: atawizm z arytmetyki wskaźników języka C.



13. Operacje na zbiorach

Suma, przecięcie, różnica, porównanie zbiorów o dość standardowym znaczeniu.
Suma, przecięcie, różnica, porównanie wielozbiorów o dość standardowym znaczeniu. (Możliwe jest znacznie więcej operatorów.)

Student except Asystent
Studenci z wyjątkiem tych, którzy są jednocześnie asystentami
bag(2,2,3,3,3) union bag(2,3,3)
Zwraca bag(2,2,2,3,3,3,3,3 )
set(1,2,3) < set(3,4,2,1 )
Zwraca true
set(1,2,3) < set(3,2,1)
Zwraca false
set(1,2,3) <= set(3,2,1)
Zwraca true
distinct(list(1,4,2,3,2,4,1,3))
Zwraca set(1,2,3,4)
Przy dowolnych operacjach na zbiorach lub wielozbiorach konieczne jest określenie identyczności elementów. Taka identyczność nie zawsze jest jednoznaczna dla obiektów. ODMG ignoruje ten problem.



« poprzedni punkt   następny punkt »