2015L - Ćwiczenie 5

Transkrypt

2015L - Ćwiczenie 5
[email protected] Grupa 9 (Wtorek 12:15 ­ 14:00) 14.04.2015 Ćwiczenie 5 : Język SQL + Perspektywy Bazodanowe 1. Przegląd konstrukcji zapytań SQL Na bazie danych utworzonej na poprzednich zajęciach dla swojego projektu wykonujemy zbiór kilkunastu zapytań SQL spełniających wymogi określone poniżej. Aby zapytania miały sens, uprzednio wprowadzamy dane przykładowe (w minimalnej ilości). Zapytania zapisujemy w pliku wraz z krótkim komentarzem ­ pojęciowym opisem co to zapytanie robi (może to być plik .sql z odpowiednimi komentarzami przed zapytaniem). Plik taki nazywamy: ​
imię.nazwisko.sql​
i wysyłamy na adres: ​
[email protected]​
. Wymogi do zapytań: Warunki wyboru wierszy do wykorzystania w zapytaniach 1. Użycie: DISTINCT, LIKE, IN, BETWEEN, IS NULL 2. Operacje na datach: porównanie, różnica, użycie sysdate, funkcje: to_date, trunc 3. … oraz wiele innych dostępne na platformie RDBMS Oracle Zapytania jednopoziomowe 1. Złączenie z dodatkową selekcją wierszy tabel uczestniczących w złączeniu ­­zaprezentowanie różnych rodzai złączeń: inner join, outer join, full outer join 2. Obliczenie zbiorcze w grupach wierszy (agregacja) ­­z zastosowaniem SUM lub AVG ­­z zastosowaniem COUNT 3. Obliczenie zbiorcze zastosowane do wyniku złączenia (zapytanie zawierające złączenie i agregację) (​
przykłady 3.8 ­ 3.13) 4. Obliczenie zbiorcze z selekcją wyników (zapytanie z klauzulą HAVING) Zapytania z podzapytaniami 1. Zapytanie z podzapytaniem ​
nieskorelowanym​
w klauzuli WHERE, konstrukcja z operatorem IN (​
przykłady 4.1­4.5 w zbiorze przykładów) ­­równoważne zapytanie jednopoziomowe 2. Zapytanie z podzapytaniem ​
nieskorelowanym​
w klauzuli WHERE, konstrukcja z operatorem porównania (​
przykłady 4.6­4.9 w zbiorze przykładów) ­­równoważne zapytanie jednopoziomowe 3. Zapytanie z podzapytaniem ​
skorelowanym​
w klauzuli WHERE, konstrukcja z operatorem EXISTS (​
przykłady 4.21­4.25 w zbiorze przykładów) ­­ dwa przykłady dla EXISTS, NOT EXISTS ­­ dla NOT EXISTS równoważne zapytanie jednopoziomowe 4.Dwa zapytania z podzapytaniem ​
skorelowanym​
w klauzuli WHERE­­podzapytanie wykonuje obliczenie zbiorcze (agregacja) , konstrukcja z operatorem porównania (​
przykłady 4.10­4.19s w zbiorze przykładów) ­­równoważne zapytanie jednopoziomowe (z zastosowaniem złączenia, agregacji i klauzuli HAVING) 5. Zapytanie z podzapytaniem (nieskorelowanym oczywiście) w klauzuli FROM (​
przykłady 4.26­4.29​
) Zapytaniom nadajemy odpowiedni porządek (ORDER BY). *​
Zapytania wykorzystujące funkcje analityczne RDBMS Oracle pozwala na wykorzystywanie funkcji analitycznych w zapytaniach SQL. Zademonstrować użycie tych funkcji dla problemu: Top­N lub budowania rankingu. Przykład: dla każdego klienta wyświetlić zamówienie o największej kwocie. Należy wykonać zapytanie z użyciem odpowiedniej funkcji analitycznej ( np. rank(), dense_rank(), row_number()) oraz odpowiadające zapytanie bez użycia funkcji analitycznej. 2. Perspektywy bazodanowe Dla jednego z złożonych zapytań z punktu 1 zaproponować utworzenie odpowiedniego widoku(perspektywy) bazodanowej (np. agregującej dane) i zaprezentować jej wykorzystanie w zapytaniu SQL. Materiały i przykłady: https://studia.elka.pw.edu.pl/priv/11Z/BD.A/SQL­zbior_przykladow/SQL­zbior_przykladow.zip