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 »

1. Plan wykładu (część 5)

  • Nazwane zapytania
  • Binarne zapytania i operatory
  • Kwantyfikatory
  • Operatory zagregowane
  • Zdanie Select From Where
  • Grupowanie
  • Uporządkowanie, operatory na tablicach i listach
  • Operacje na zbiorach
  • Reguły zakresu
  • Podsumowanie OQL
(65kB)

2. Swobodne kombinowanie operatorów

Podaj nazwę ulicy, gdzie mieszkają pracownicy posiadający najmniejszą średnią płacę w stosunku do innych ulic.
define Pracownicy() as
        select (Pracownik) q from Osoby as q 
        where "pracuje" in q.co_robi 
Zdefiniowanie ekstensji Pracownicy
define UlicaŚrZarobek() as
     select ulica, 
       średni_zar: avg(x.p.zarobek from partition as x)
     from Pracownicy() as p 
     group by ulica: p.adres.ulica
Zdefiniowanie wielozbioru par (ulica, średni_zar) Trochę niejasne group_by, KS.
define UlicaŚrZarobekPosortowany() as
     select z from UlicaŚrZarobek() as z 
     order by z.średni_zar
Posortowanie, czyli zdefiniowanie listy par (ulica, średni_zar)
first( UlicaŚrZarobekPosortowany() ).ulica
Pobranie pierwszego elementu tej listy, odnawigowanie do jego składowej
3. Całość zapytania w jednym kawałku

first(
select z from ( select ulica, 
                  średni_zar:  avg( x.p.zarobek from partition as x) 
                from (select (Pracownik) q from Osoby as q 
                       where “pracuje” in q.co_robi ) as p 
                group by ulica: p.adres.ulica) as z 
order by z.średni_zar). 
ulica
(3kB) Zapytanie jest skomplikowane i niełatwo jest ustalić jego znaczenie. Powstaje problem jego dekompozycji, która może być skutecznie załatwiona wyłącznie poprzez pojęcia perspektywy, metody funkcyjnej i obliczeń pośrednich. Niestety, ODMG nie definiuje tych pojęć. Nie jest jasne, jak ODMG rozumie podane na poprzednim slajdzie definicje: czy to są makrodefinicje, czy to są funkcje, czy to jest jeszcze coś innego.


« poprzedni punkt   następny punkt »