Lista 8

Transkrypt

Lista 8
II INFORMATYKA – BAZY DANYCH
LISTA 8 (przedostatnia)
Załóżmy, że mamy bazę danych składającą się z czterech relacji o schematach:
Produkt(Producent, Model, Typ),
PC(Model, Szybkość, RAM, HD, CD, Cena),
Laptop(Model, Szybkość, RAM, HD, Ekran, Cena),
Drukarka(Model, Kolor, Typ, Cena).
Relacja PRODUKT opisuje produkty określając ich producenta (oznaczonego kolejnymi literami
alfabetu), numer modelu oraz typ (PC, laptop, drukarka). Dla ułatwienia przyjmujemy, że numery
modeli są jednoznaczne i niezależne od producentów i typów. W relacji PC dla każdego modelu
określona jest szybkość procesora w Ghz, wielkość RAM w MB, pojemność HD w GB, szybkość
napędu CD (np. 20x) i cena. W relacji Laptop miejsce atrybutu CD zajął atrybut Ekran, w którym
określamy w calach wymiar ekranu. W relacji DRUKARKA każdy model opisany jest przez kolor
(1 – gdy można otrzymać kolorowe wydruki, 0 – w przeciwnym razie), typ (atramentowa, laserowa,
igłowa) i cenę.
Napisać zapytania SQL realizujące poniższe zadania.
1. Podać modele PC, których szybkość zegara wynosi co najmniej 2 GHz.
2. Podać tych producentów, którzy wytwarzają laptopy z dyskami twardymi o pojemności co
najmniej 40 GB.
3. Podać numery modeli i ceny wszystkich produktów wytwarzanych przez producenta B.
4. Podać numery modeli wszystkich kolorowych drukarek.
5. Wybrać wszystkich producentów, którzy sprzedają laptopy, a nie sprzedają PC.
6. Wskazać te twarde dyski, które występują w co najmniej dwóch typach PC.
7. Wybrać pary modeli PC, które mają te same szybkości zegara oraz wielkość RAM. Każdą parę
wymienić tylko raz (jeśli wybraliśmy parę (i,j), to nie wybieramy już pary (j,i)).
8. Wybrać producentów, którzy wytwarzają co najmniej dwa różne modele (PC lub laptopy) z
szybkościami zegara co najmniej 2 GHz.
9. Wybrać producentów, którzy wytwarzają komputery (PC lub laptopy) o największych
częstotliwościach zegara.
Załóżmy, że mamy bazę danych składającą się z czterech relacji o schematach:
Nauczyciele(Num_naucz, Nazwisko, Adres, Id_przedm)
Przedmioty(Id_przedm, Opis)
Rozkład(Dzień, Godz, Id_klasy, Id_przedm, Num_naucz)
Klasy(Id_klasy, Sala, Num_wychowawcy)
Uczniowie(Num_ucznia, Nazwisko, Imię, Id_klasy)
Stopnie(Num_ucznia, Id_przedm, Ocena)
Napisać zapytania SQL realizujące poniższe zadania.
10. Dla ucznia Jasia Nowaka wypisz jego nauczycieli.
11. Dla każdego nauczyciela oblicz, ile ma godzin zajęć tygodniowo.
12. Znajdź najlepszego (najlepszych) ucznia w szkole.
13. Wypisz uczniów, których średnia ocen jest wyższa od średniej ocen w szkole.
14. Znajdź klasę, w której średnia ocen jest najwyższa w szkole.
15. Sprawdź, czy każdy nauczyciel o każdej godzinie ma zaplanowane co najwyżej jedno zajęcie.
16. Sprawdź, czy w szkole są nauczyciele, którzy uczą w każdej klasie.
17. Przygotuj tygodniowy plan lekcji dla ucznia Jasia Nowaka.
18. Nie korzystając z predykatu IS [NOT} NULL znajdź uczniów, których nazwisk nie wpisano do
bazy.
Załóżmy, że mamy bazę danych składającą się z czterech relacji o schematach:
Dostawcy (Nr_d, Nazwisko_d, Status, Siedziba)
Części(Nr_cz, Nazwa_cz, Kolr, Ciężar, Miejsce_przechowywania)
Projekty(Nr_p, Nazwa_p, Miejsce_p)
Zamówienia(Nr_d, Nr_cz, Nr_p, Ilość)
Wartościami atrybutów Siedziba, Miejsce_przechowywania i Miejsce_p są nazwy miast.
Napisać zapytania SQL realizujące poniższe zadania.
19. Podaj numery części dostarczanych przez dostawcę z Warszawy.
20. Podaj numery części dostarczanych przez dostawcę z Warszawy dla projektu z Warszawy.
21. Podaj numery części dostarczanych do dowolnego projektu przez dostawcę z tego samego
miasta co ów wyrób.
22. Podaj numery projektów, do których dostawy pochodzą od przynajmniej jednego dostawcy z
innego miasta.
23. Podaj całkowitą liczbę projektów, do których części dostarcza dostawca o numerze 1.
Zapytania należy umieć utworzyć w MS Access bez korzystania z kreatora kwerend i muszą
działać. Do zadań 1-9 istnieje baza testowa sklep.mdb a do zadań 19-23 baza baza_3.mdb.

Podobne dokumenty