background image

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  

0003  0001  

2.12.2004  2.12.2004 

0002   0004  

2.12.2004  5.12.2004 

0003   0001  

2.12.2004  3.12.2004 

0001  0001  

3.12.2004  4.12.2004 

0002   0002  

6.12.2004   

0003   0003  

8.12.2004   

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.