Klasówka z SQLa 2018/2019 (wersja A)
Tabele i dane
zoo.sql
W tabeli zwierzeta są dane o podpoiecznych ZOO, natomiast w tabeli
opiekunowie dane o pracownikach ZOO. Tabela opieka
zawiera informację o tym, kto opiekuje się którym
zwierzęciem. Mięsożerność jest podana jako ułamek między 0 a
1. Ulamek ten określa proporcję mięsa w diecie danego
zwierzęta. Zwierzę uznajemy za całkowicie mięsożerne, gdy ma
mięsożerność równą 1.
Zadania
- Wypisz zwięrzęta, które urodziły się wcześniej niż któryś z ich
opiekunów został zatrudniony.
- Dla każdego z opiekunów wypisz ilość mięsa, które musi
dostarczyć swoim podopiecznym. (W przypadku gdy zwierzę ma więcej
niż jednego opiekuna zakładamy, że dzielą się obowiązkami po
równo.)
- Okazuje się że opieka nad całkowicie mięsożernymi zwierzętami jest
niebiezpieczna. Napisz zapytanie wyliczające podwyżkę dla każdego
opiekuna w wysokości tylu procent jego pensji, ile procent z jego
podopiecznych jest całkowicie mięsożerne.
- Kowalski zginął w nieszczęśliwym wypadku. Zwierzęta, których
był jedynym opiekunem, muszą mieć przypisanego nowego opiekuna. Aby
uniknąć wypadków w przyszłości, kierownictwo zdecydowało się każdemu
"osieroconemu" zwierzęciu przypisać najbardziej doświadczonego
opiekuna. Napisz zapytanie, które dla każdego zwierzęcia X, które było pod
wyłączną opieką Kowalskiego, wypisuje opiekuna najstarszego stażem
spośród tych, którzy już zajmują jakimś zwierzęciem tego samego
gatunku co X. Dla pozostałych zwierząt wypisz null (czyli puste miejsce).
- Zbliża się okres godowy w ZOO i kierownictwo zastanawia się nad
zatrudnieniem nowej położnej. Dla każdego gatunku wypisz 5
najcięższych samic spośród tych, które mają co najmniej 3 lata. W
przypadku remisów wybierz spośród remisujących samic tyle, aby razem
było dokładnie 5.
- Odszkodowanie za śmierć Kowalskiego okazało się zbyt duże dla
ZOO, trzeba będzie przyciąć koszty. Wypisz wszystkie zwierzęta w
kolejności miesięcznych kosztów ich utrzymania. Załóż że pensja
opiekunów rozkłada się równomiernie pomiędzy zwierzęta, kilogram mięsa
kosztuje 5zł, natomiast kilogram roślin 1zł. Przyjmij, że miesiąc ma
30 dni.
- Niektórzy pracownicy mają swoich pupilków. Wypisz dla każdego
pracownika zwierzę, którym się zajmuje najdłużej, sposród tych których
jest jedynym opiekunem. Za początek opieki przyjmij pózniejszą z dwóch
dat: zatrudnienie opiekuna i narodziny zwierzęcia.
Zasady
- Na rozwiązanie zadań jest 1.5h.
- Plik o nazwie login_ze_students.sql z zapytaniami (i swoim imieniem i nazwiskiem) należy wysłać na adres prowadzącego lab z tytułem maila dokładnie 'bdkol1'.
- 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-5 pkt.
Przykładowe rozwiązania
klasowka1-2018A-rozw.sql
Filip Murlak 04-12-2019