Lista 7
Transkrypt
Lista 7
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 Nr Data KLIENCI Lp NrK DataZw 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 Nr Kasety 0001 Tytuł Potop Rok 1990 Kasety Wyp 1 0003 0001 2.12.2004 2.12.2004 2 0002 0004 2.12.2004 5.12.2004 , 3 Pan Tadeusz 2000 0003 0001 2.12.2004 3.12.2004 0003 Access 2004 4 0001 0001 3.12.2004 4.12.2004 0004 Lalka 1982 5 0002 0002 6.12.2004 0005 Zemsta 2000 6 0003 0003 8.12.2004 7 0002 0001 8.12.2004 9.12.2004 , 0002 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.