Klasówka z SQLa 2019/2020, wersja B (godz. 14:15 - 15:45)

Tabele i dane

Wersja na bazę Oracle | Wersja na bazę Postgres

W tabeli zbiornik są informacje o użytkowych zbiornikach wodnych, natomiast w tabeli przepływy są informacje o przepływach wody między zbiornikami. Pojemność zbiorników mierzymy w umownych jednostkach, rozmiar przepływów mierzymy w tych samych umownych jednostkach na dobę.

Zadania

  1. Wypisz wszystkie zbiorniki malejąco wg liczby zbiorników, od których bezpośrednio przyjęły wodę.
  2. Wypisz zbiorniki, dla których średni wypływ w okresie od momentu rozpoczęcia pierwszego wypływu do momentu zakończenia ostatniego wypływu wynosił co najmniej 10.
  3. Wypisz zbiorniki według maksymalnej sumarycznej wartości równoczesnych wypływów.
  4. Ile jest zbiorników, które bezpośrednio przyjmują wodę wyłącznie od zbiorników ściśle mniejszych od siebie.
  5. Wypisz wszystkie zbiorniki malejąco wg liczby zbiorników, od których przyjęły wodę (niekoniecznie bezpośrednio).
  6. (*) Jaka jest minimalna liczba dni, w czasie której można przeprowadzić wszystkie przepływy tak, aby wpływy do zbiornika zaczynaly się dopiero po zakonczeniu wszystkich wypływów z tego zbiornika? Można jedynie przesuwać przepływy w czasie; nie można zmieniać czasu ich trwania ani ilości płynącej wody. (RECURSIVE WITH się przyda.)

Zasady

Przykładowe rozwiązania

hydro-rozw.sql
Filip Murlak 04-11-2019