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: WYPOśYCZENIA

KASETY

KLIENCI

Nr

Data

Lp NrK

DataZw

Nr

Kasety

Wyp

NrK Imie Nazwisko

Adres

Tytuł

Rok

Kasety

1

0003 0001

2.12.2004 2.12.2004

0001 Jan

Kowalski W-aw, Polna 2

0001

Potop

1990

2

0002 0004

2.12.2004 5.12.2004

0002 Jerzy Nowak

Opole, Wolna 1

,

,

0002

Pan Tadeusz 2000

3

0003 0001

2.12.2004 3.12.2004

0003 Sylwia Kubiak

Nysa, Konna 23

0003

Access

2004

4

0001 0001

3.12.2004 4.12.2004

0004 Marek Mareczek Las 56

0004

Lalka

1982

5

0002 0002

6.12.2004

0005 Adam Kowalski W-aw, Polna 2

0005

Zemsta

2000

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.