Bazy danych I

temat 1: Tabele, relacje i kwerendy (Access) – 2ćw.

Uwaga: Przed rozpoczęciem wykonywania poniższych zadań należy zapoznać się z materiałem wyłożonym na wskazanych stronach podręczników:

Uwaga Punkty z gwiazdkami wymagają trochę więcej samodzielnej pracy

Zadanie 1 (Boratyn 34-59,66-77, Banachowski 98-101) : Zbuduj tabelę zawierającą informacje o książkach znajdujących się w twojej bibliotece. Tabela ma w szczególności służyć do wyszukiwania książek w danej dziedzinie np. Informatyka i/lub na dany temat np. Bazy danych i/ lub danego autora, sprawdzania czy książka jest wypożyczona i jeśli tak, kto ją wypożyczył i jaki jest kontakt z tą osobą, znajdowania nazwisk tłumaczy w przypadku tłumaczenia z języka obcego, znajdowania adresów kontaktowych do autorów i/lub tłumaczy danej książki.

  1. Uruchom program Access i wyświetl okno bazy danych dla nowej bazy danych.
  2. Wybierz zakładkę Tabele i przycisk Nowy z opcją Widok projekt.
  3. Załóż tabelę “Książki” dobierając odpowiednie kolumny i ich typy danych (w widoku projekt) – możesz wzorować się na tabeli http://lech/bd1/biblio. Pamiętaj o wybraniu klucza głównego (podstawowego) (Edycja->Klucz podstawowy).
  4. Wprowadź przykładowe dane (Widok-> Widok Arkusz danych).
  5. Upewnij się, że potrafisz wykonywać podstawowe operacje na tabelach (menu i/lub pasek narzędzi i/lub menu podręczne uruchamiane prawym przyciskiem myszy – sprawdź!)( w widoku Arkusz danych):
  1. Zapisz zawartość tabeli jako (Plik->Zapisz...) :
  1. Wyjaśnij jakie są złe strony trzymania wszystkich danych w jednej tabeli zamiast rozłożenia ich do kilku.

Zadanie 2 (Boratyn 59-65, Banachowski 101-103)): Zbuduj nową bazę danych zawierającą te same informacje co tabela w zadaniu 2, ale w której:

  1. dane opisujące każdy obiekt znajdują się w osobnej tabeli;
  2. każda pojedyncza dana (pole na przecięciu wiersza z kolumną) jest nierozkładalna;
  3. nie ma redundancji.

Połącz utworzone tabele związkami(relacjami).

  1. Utwórz kolejne tabele wybierając odpowiednio klucze główne (podstawowe) – pamiętając, że ich wartości będą służyć jako wartości kluczy obcych (zewnętrznych) w powiązanych tabelach. Z tego względu na ogół dla tabeli jest tworzona dodatkowa kolumna służąca jako identyfikator rekordów typu Autonumer. Kolumny, które mają być kluczami obcymi, definiuj poprzez Kreator odnośników!
  2. Utwórz związki między tabelami (Narzędzia->Relacje). Włącz więzy referencyjne (integralności). Ułóż tabele tak aby linie związków nie przecinały się!
  3. Wprowadź informację o co najmniej 50 książkach z twojej biblioteki.

Zadanie 3 (Boratyn 82-120, Banachowski 104-107): Opracuj następujące kwerendy przy użyciu siatki kwerendy - gdzie trzeba zdefiniuj parametry:

  1. wypisz tytuły wszystkich książek w twojej bibliotece;
  2. wypisz imiona i nazwiska wszystkich osób zapisanych w twojej bazie danych;
  3. wypisz (bez powtórzeń - co osiąga się przez ustawienie we właściwościach kwerendy opcji "Rekordy unikatowe" na Tak) imiona i nazwiska wszystkich autorów książek;
  4. wypisz (bez powtórzeń) imiona i nazwiska wszystkich tłumaczy książek;
  5. wypisz (bez powtórzeń) imiona i nazwiska wszystkich osób, które pożyczyły od ciebie jedną lub więcej książek
  6. mając dany temat (jako parametr), wypisz wszystkie książki z twojej biblioteki na ten temat;
  7. mając dany tytuł książki, wypisz imiona i nazwiska jej autorów;
  8. mając dane nazwisko i imię autora, wypisz wszystkie książki napisane przez tego autora;
  9. wypisz wszystkie wypożyczone książki razem z nazwiskiem osoby, która je wypożyczyła i jej adresem kontaktowym;
  10. wypisz wszystkie książki, których autor jest jednocześnie tłumaczem;
  11. wypisz liczbę książek w twojej bibliotece;
  12. dla każdego autora podaj liczbę książek, które napisał - autorów uporządkuj względem liczby napisanych książek;
  13. dla każdego tematu, podaj liczbę książek w tym temacie;
  14. dla każdej dziedziny, podaj liczbę tematów należących do tej dziedziny;
  15. dla każdej dziedziny, podaj liczbę książek należących do tej dziedziny;
  16. wypisz autorów, którzy napisali książki na różny temat;
  17. wypisz autorów, którzy napisali książki z różnych dziedzin;
  18. wypisz osoby, które pożyczyły więcej niż jedną książkę;
  19. usuń daną książkę z biblioteki; (użyj kwerendy sparametryzowanej);
  20. wprowadź nowego autora do biblioteki; (użyj kwerendy sparametryzowanej) (Uwaga: do wprowadzania pojedynczego wiersza należy użyć pomocniczej tabeli o jednym wierszu - Access wymaga aby były określone dwie tabele: jedna z której bierze się wartości i druga do której wstawia się nowy wiersz - wartości pól AutoNumer są ustalane automatycznie);
  21. wydawnictwo 'WNT' zmienia nazwę na 'NT Press' - zaktualizuj nazwę wydawnictwa we wszystkich książkach;
  22. ** używając kwerendy dołączającej i załączania tabel (nazywane w Accessie połączeniem tabel) rozwiąż problem budowy kopii zabezpieczającej bazy danych: najpierw utwórz osobną bazę danych np. kopia.mdb, dokonaj importu tabel (z opcją "Tylko definicje"), zamknij bazę kopia.mdb, do twojej bazy danych załącz tabele z kopii, utwórz kwerendy dołączające przepisujące zawartość z oryginalnych tabel do ich kopii (załączonych). Co się stanie, gdy powtórnie będziesz chciał uruchomić te same kwerendy? Jak zapewnić poprawną aktualizację danych w kopii - powiedzmy wykonywaną raz dziennie?

Zadanie 4 (domowe): Podaj przykład obszaru zastosowania z twojego otoczenia, dla którego warto byłoby opracować bazę danych w sensie zbioru obiektów: tabel, perspektyw kwerend wybierających, formularzy, raportów, podprogramów( kwerend funkcjonalnych/ makr/procedur). Podaj listę obiektów, które można byłoby zaprojektować i używać na co dzień – nie bierz pod uwagę procedur zdarzeń i integrowania zboru obiektów w aplikację.