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
-
Wypisz wszystkie zbiorniki malejąco wg liczby zbiorników, od których
bezpośrednio przyjęły wodę.
-
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.
-
Wypisz zbiorniki według maksymalnej sumarycznej wartości
równoczesnych wypływów.
-
Ile jest zbiorników, które bezpośrednio przyjmują wodę wyłącznie od
zbiorników ściśle mniejszych od siebie.
-
Wypisz wszystkie zbiorniki malejąco wg liczby zbiorników, od których
przyjęły wodę (niekoniecznie bezpośrednio).
-
(*) 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
-
Na rozwiązanie zadań jest 90 minut.
-
Rozwiązania oddajemy przez moodle'a, każde zadanie oddzielnie, w
pliku o nazwie i.sql, gdzie i jest numerem
zadania; zadania oddane po godzinie 16:00 nie będą oceniane.
-
Można korzystać z dowolnych materiałów dydaktycznych, także z
internetu.
-
Nie można się porozumiewać między sobą, pytania dotyczące treści
należy kierować do prowadzącego.
-
Dane w pliku są jedynie przykładem; zapytania powinny działać dla
dowolnych danych zgodnych z definicją tabel.
-
Wszystkie zadania są punktowane tak samo, w skali 0-4 pkt; za
brzydkie lub nieefektywne sformułowanie zapytania można utracić 1
pkt.
Przykładowe rozwiązania
hydro-rozw.sql
Filip Murlak 04-11-2019