Bazy danych. Lista 2.

Transkrypt

Bazy danych. Lista 2.
Bazy danych. Lista 2.
Zadania wykorzystują baza danych smakoszy składających się z relacji :









lokal(nazwa, miasto, adres)
osoba(osoba : int, nazwisko, plec : numeric(1,0), adres),
zjadl(osoba, lokal, danie, data : date),
rachunek(lokal, data, numer, osoba, kwota); -- dla uproszczenia zakładamy, ze dana
osoba bierze rachunek co najwyżej raz dziennie w tym samym lokalu;
podaje(lokal, danie, data, cena : numeric(6,2)), -- cena może zmieniać się w kolejnych
dniach!
lubi(osoba, danie),
wegetariańskie(danie) -- czy danie jest wegetariańskie
danie(lokal, danie, waga :int, kalorie: int) -- informacja o daniu, waga w gramach
skladnik(danie, skladnik, ilosc, rodzaj) -- informacja o składnikach, rodzaj = "mięso",
"ryba", "owoce","nabiał",...itp.
Rozwiąż w SQL i algebrze relacji (1 pkt.):
1. Wypisz adres lokalu, który podaje danie o nazwie „spagetti”.
2. Wypisz osoby, które lubią jakieś danie wegetariańskie podawane we wrocławskich
lokalach.
3. Wypisz dania wegetariańskie, które maja co najmniej jeden składnik mięsny.
4. Wszystkie dania zawierające szpinak w ilości > 100g i nie zawierające cukru w ilości
większej niż 5g.
5. Wypisz danie o największej ilości kalorii.
6. Podaj ile kobiet i ile mężczyzn z Warszawy lubi dania podawane w warszawskich
lokalach.
7. Dla każdego lokalu wyświetl dania, które mają maksymalną ilość składników, które
były podawane w ostatnim miesiącu.
8. Podaj danie o najmniejszej ilości kalorii spośród wszystkich podawanych w ostatnich
dwóch latach.
9. Podaj lokal, który podał największą ilość dań o cenach większych niż 20 zł.
10. Wypisz sumę kwot rachunków, które zapłaciły poszczególne osoby w 2014 roku w
lokalach wrocławskich. Uwzględnij tylko takie osoby, które zapłaciły więcej niż
500zl.
11. Wypisz dania wegetariańskie, które maja dokładnie dwa składniki rodzaju owoce
(użyj grupowania).
12. Zrób zadanie 11 bez grupowania.