Bazy danych. Lista 1

Transkrypt

Bazy danych. Lista 1
Bazy danych. Lista 1
Dana jest następująca baza danych samochodów i części samochodowych:








Producent(nazwa, adres, telefon, www),
Produkt(producent, model, typ, cena, cena_hurtowa),
Osobowy(model, moc, naped),
Przyczepa(model, iloscOsi, ladownosc),
Ciezarowy(model, moc, naped, ladownosc, nacisk ),
Komponent(model, rodzaj, nazwa, opis)
JestSkładnikiem(model, modelCzesci)
Kupił(klient, adres, NIP, model, cena, data)
Atrybut typ w tabeli Produkt przyjmuje wartości: ('OSOBOWY', 'PRZYCZEPA',
'CIEZAROWY', 'KOMPONENT') co pozwala określić, czy produkt jest samochodem
osobowym, ciężarowym, przyczepą czy częścią wchodzącą w skład samochodu. Każdy z
produktów jest bardziej szczegółowo przedstawiony w odpowiedniej dla niego tabeli:
Osobowy, Ciezarowy, Przyczepa lub Komponent. W każdej z tych tabel atrybut model
konkretnego produktu ma taką samą wartość jak w tabeli Produkt. Tabela Komponent opisuje
części samochodowe, zaś JestSkładnikiem opisuje z jakich podzespołów złożony jest
samochód.
Wyraź poniższe zdania za pomocą pojedynczych komend SQL:
1. Klienci, którzy kupili co najmniej 2 samochody osobowe i co najwyżej jedną
przyczepę. Rozwiąż używając wyłącznie złączeń, nie możesz użyć grupowania!
2. Samochód o najmniejszej mocy spośród ciężarowych i osobowych łącznie. Rozwiąż
używając union.
3. Producenci, którzy mają w ofercie co najmniej dwa samochody osobowe, ale co
najwyżej jeden ciężarowy.
4. Komponenty nie występujące w żadnym samochodzie osobowym ani w żadnym
ciężarowym.
5. Klienci, którzy zrobili najmniejsze (w sensie sumy cen) zakupy w danym roku.
Schemat wynikowy to (Klient, NIP, suma_cen), wynik uporządkuj wg. sumy cen.
6. Dla poszczególnych producentów podaj wyprodukowany przez nich samochód o
największej mocy.
7. Producenci, którzy nie sprzedali żadnego samochodu osobowego w ciągu ostatnich 3
lat. Zamiast stałej określającej bieżący rok użyj CURRENT_DATE, between i
extract(year from zm_datowa) .
8. Znajdź klientów, którzy kupili w jednym dniu samochód osobowy i radio
samochodowe.
9. Znajdź takie samochody osobowe, które zawierają jakikolwiek komponent, którego
nazwa zaczynają się na literę ‘t’.
10. Znajdź producentów, którzy mają w ofercie dokładnie 3 produkty. Rozwiąż bez
używania grupowania!
11. Znajdź najszerszy (domknięty) przedział czasu (z dokładnością do miesiąca) w którym
sprzedaż procesorów samochodu marki Opel systematycznie rosła. Użyj grupowania.
Schemat wyniku (data_pocz, data_koncowa).