Mazur Zygmunt – Bazy danych, sem.letni 2005/06, ćwiczenia 7
Bazy danych - ćwiczenia 7
1.
Dana jest relacyjna baza danych dla wypoŜyczalni kaset video. Klient moŜe wypoŜyczyć wiele kaset.
Kaseta moŜe być w danej chwili wypoŜyczona tylko przez jednego klienta, ale po oddaniu moŜe być
wypoŜyczona ponownie. Baza ta zawiera następujące dane:
KLIENCI
NrK Imie Nazwisko
Adres
0001 Jan
Kowalski
W-aw, Polna 2
0002 Jerzy Nowak
Opole, Wolna 1
0003 Sylwia Kubiak
Nysa, Konna 23
0004 Marek Mareczek
Las 56
0005 Adam Kowalski
W-aw, Polna 2
,
KASETY
Nr
Kasety
Tytuł
Rok
0001
Potop
1990
0002
Pan Tadeusz 2000
0003
Access
2004
0004
Lalka
1982
0005
Zemsta
2000
,
WYPOśYCZENIA
Lp NrK
Nr
Kasety
Data
Wyp
DataZw
1
0003 0001
2.12.2004 2.12.2004
2
0002 0004
2.12.2004 5.12.2004
3
0003 0001
2.12.2004 3.12.2004
4
0001 0001
3.12.2004 4.12.2004
5
0002 0002
6.12.2004
6
0003 0003
8.12.2004
7
0002
0001
8.12.2004 9.12.2004
2.
Odpowiedz na pytania w oparciu o powyŜsze dane :
1.
Która kaseta była wypoŜyczona (przetrzymywana) najdłuŜej?
2.
Jakie kasety i kiedy wypoŜyczył Jan Kowalski ?
3.
Kto wypoŜyczał „Potop”? „Lalkę”?
4.
Kto ostatni wypoŜyczał „Pana Tadeusza”?
3.
Dla bazy danych z zadania 1 podaj w języku algebry relacji następujące zapytania:
1.
Podaj tytuły kaset w wypoŜyczalni.
2.
Podaj imiona i nazwiska klientów.
3.
Podaj dane kaset wypoŜyczonych dłuŜej niŜ 1 dzień.
4.
Podaj imiona i nazwiska klientów zamieszkałych Las 56.
5.
Podaj nazwiska i imiona osób, którzy wypoŜyczyli dotychczas chociaŜ jedną kasetę.
6.
Podaj nazwiska osób, które nie zwróciły dotychczas kasety.
7.
Podaj nazwiska i imiona osób oraz tytuły kaset przez nich wypoŜyczonych.
4.
Dla bazy danych z zadania 1 podaj w języku predykatów następujące zapytania:
1.
Podaj tytuły kaset w wypoŜyczalni.
2.
Podaj imiona i nazwiska wszystkich klientów.
3.
Podaj tytuły kaset dotychczas nie wypoŜyczonych.
4.
Podaj dane klientów o nazwisku Kowalski.
5.
Podaj nazwiska klientów, którzy wypoŜyczyli „Pana Tadeusza”.
6.
Podaj nazwiska klientów, którzy wypoŜyczyli co najmniej 3 kasety.
7.
Podaj nazwiska klientów, którzy wypoŜyczyli wszystkie kasety dostępne w wypoŜyczalni.
5.
Dla bazy danych z zadania 1 podaj w języku Query by Example i SQL zapytania:
1.
Podaj tytuły kaset w wypoŜyczalni.
2.
Podaj imiona i nazwiska wszystkich klientów.
3.
Podaj tytuły kaset dotychczas nie wypoŜyczonych.
4.
Podaj dane klientów o nazwisku Kowalski.
5.
Podaj nazwiska klientów, którzy wypoŜyczyli „Lalkę”.
6.
Podaj nazwiska klientów, którzy wypoŜyczyli co najmniej 2 kasety.
7.
Podaj nazwiska klientów, którzy wypoŜyczyli wszystkie kasety dostępne w wypoŜyczalni.
8.
Podaj nazwiska klientów, którzy nie wypoŜyczyli Ŝadnej kasety z wypoŜyczalni.
9.
Podaj nazwiska klientów, którzy wypoŜyczyli najwięcej kaset.
6.
W języku Query by Example:
1.
Wykonaj aktualizację adresu Adama Kowalskiego.
2.
Usuń dane o kasecie „Potop” i o wszystkich jej wypoŜyczeniach.
prof. Zygmunt Mazur
Opole, 10 maja 2006 r.