Excel -dodatkowe zadania.

Bazy danych - MS Access.

Literatura.

  1. Ullman, Widom, "Podstawowy wykład z systemów baz danych", WNT
  2. Cassel, Eddy, Price, "Access 2002/XP PL dla każdego", Helion

Czym jest baza danych.

Czym "aplikacja z baza danych" różni się od zwykłej aplikacji ?

w aplikacjach z bazą danych przechowuje się bardzo duże ilości danych (nie mieszczące się w pamięci operacyjnej).

Dane --> informacje

baza danych przechowuje dane i pozwala je zamieniać na informacje

przykład 1:

tabela WizytyWSklepie - to są fakty ...
data godzina pogoda kwota_zakupu
1/10/2003 10:00 dobra 15zł
1/10/2003 10:15 b dobra 5zł
1/10/2003 11:20 zła 100zł
1/10/2003 15:00 zła 200zł
2/10/2003 14:35 dobra 6zł
.....      
.....      

a to są informacje ...
pogoda kwota_zakupu
dobra 21zł
b dobra 5zł
zła 300zł

przykład 2:

w przychodni lekarskiej gromadzi się dane o pacjentach w postaci tabeli:

WizytyPacjentów (nazwisko i imię, pesel, data, kod schorzenia)

potem można zażądać utworzenia takiej tabelki:
kod schorzenia 1995 1996 1997 1998 1999 ... ... ...
C10 1000 1300            
N98 3023 4567            
N78 20 35            
...                


 

Model relacyjny baz danych.

Podstawowe pojęcia.

Dane przechowuje się w tabelach ...
data godzina pogoda kwota_zakupu
1/10/2003 10:00 dobra 15zł
1/10/2003 10:15 b dobra 5zł
1/10/2003 11:20 zła 100zł
1/10/2003 15:00 zła 200zł
2/10/2003 14:35 dobra 6zł
.....      
.....      

przykład złączenia naturalnego:

tabela Klienci:
nazwa adres id klienta
Jan Kowalski1 qqq1 1
Jan Kowalski2 qqq2 2
(tutaj [id klienta] jest kluczem)

tabela Zamowienia:
towar ilosc data id klienta
masło 5 1/10/2003 1
chleb 15 2/10/2003 2
wino 3 10/10/2003 1
(tutaj kluczem może być data i [id klienta], przy założeniu że każdy klient może złożyć co najwyżej 1 zamówienie w każdym dniu; samo [id klienta] jest "kluczem obcym")

złączenie naturalne tabel Klienci i Zamówienia:
nazwa adres id klienta towar ilosc data
Jan Kowalski1 qqq1 1 masło 5 1/10/2003
Jan Kowalski1 qqq1 1 wino 3 10/10/2003
Jan Kowalski2 qqq2 2 chleb 15 2/10/2003

Program MS Access.

Klasy obiektów.

Zadanie 70


(Budujemy "magazynową" bazę danych ...)
  1. zdefiniuj w Accesie tabele: wzorując się na poniższym obrazku
  2. zauważ że każda tabela ma pole którego nazwa zaczyna się od [id ...]; pole to jest typu Autonumerowanie (przy tworzeniu nowych rekordów ma automatycznie przypisywane kolejne liczby); oczywiście pole takie zawsze może być kluczem ...
  3. zauważ że na każdym zamówieniu jest jeden towar i jeden klient, dlatego tabela Zamówienia posiada pola [id towaru] i [id klienta]
  4. wprowadź do tabel dane wzorując się na poniższym rysunku
  5. zdefiniować więzy integralności referencyjnej między tabelami Towary-Zamówienia i Klienci-Zamówienia;
    w tym celu:
  6. spróbuj złamać więzy integralności referencyjnej; w tym celu spróbuj dodać zamówienie z prawidłowym [id towaru] ale z nieistniejącym [id klienta]
  7. wypróbuj działanie kaskadowego usuwania rekordów !; w tym celu usuń pewnego klienta i zaobserwuj czy wszystkie jego zamówienia automatycznie znikną


 

Zadanie 71


(Prosty formularz do wprowadzania danych)
Utwórz prosty formularz do wprowadzania towarów (przy pomocy kreatora !).
Uwaga: będą widoczne techniczne pole (np id klienta), ale na tym etapie jest to przydatne ...
Spróbuj przełączać się między widokiem "Formularz" i  "Arkusz danych" (guzik na pasku).
Przełącz się do trybu projektowania i spróbuj trochę zmodyfikować wygląd formularza.
 

Zadanie 72 (trudne)


(Formularze do wprowadzania klientów i ich zamówień)
Chodzi o formularz do wprowadzania klientów, zawierający podformularz do wprowadzania zamówień dla tych klientów. Ponadto towary mają być wybierane z pola kombi (rodzaj menu z suwakiem); pole kombi czerpie dane z tabeli Towary !.

Wskazówki do zadania 72:
Jak utworzyć podformularz do wprowadzania zamówień danego klienta
* podformularz należy przygotować osobno i przenieść go myszą na formularz klienta (oczywiście w trybie projektowania formularza);
* w trybie projektowania formularza klientów (!) wybrać okienko podformularza tak aby w oknie Właściwości pojawił się napis "Podformularz/Podraport ...", następnie ustawić:
    "Podrzędne pole łączące" = id klienta
    "Nadrzędne pole łączące" = id klienta
* zeby dopasowac rozmiar kontrolki podformularz do rozmiaru podformularza uzyj menu kontekstowe | Rozmiar | Dopasuj.
* jak przelaczać widok (Formularz / Arkusz danych) w podformularzu ? Użyj menu Widok | Arkusz danych podformularza)

Jak utworzyc pole kombi wybierajace dane z tabeli ?
* jeszcze raz co chcemy osiągnąć ? "id towaru" w tabeli Zamowienia ma byc wypelniany na podstawie nazwy towaru z tabeli Towary, wybranej z menu kontrolki kombi
* należy dodać kontrolkę kombi do podformularza (w trybie projektowania oczywiście, z przybornika)
* ustawić we Właściwościach kontrolki kombi:
    Zrodlo formantu = id towaru
    Typ źródła wierszy = Tabela/Kwerenda
    Kolumna związana = 3
    Liczba kolumn = 3
    Szerokości kolumn = ;0cm;0cm