1.
Co to jest MSAccess? Jakie są zalety i wady MSAccess?
MSAccess, czyli Microsoft Access, jest systemem zarządzania bazą danych (DBMS). Wchodzi w skład MSOffice Professional, z czego od razu można wnioskować, że największą zaletą Access jest dość prosta obsługa :-). Największą wadą (była?) trudna przenoszalność na inne platformy i problemy z szybką pracą dla bardzo dużych baz. Access najlepiej nadaje się do rozwiązań dla małych i średnich firm, które nie generują dużej ilości danych (większość przypadków).
2.
Pierwsze uruchomienie i pierwsza baza
A. Tabele
Po uruchomieniu Access widzimy okienko:
|
Pierwsze okienko ma trzy opcje. Najczęściej używana jest opcja pierwsza lub trzecia, druga pozwala na zbudowanie bazy opartej na określonych zasadach. Proszę wybrać opcję pierwszą („Pusta baza...”). Zapisujemy bazę pod wybraną nazwą (w tym przykładzie niech będzie to Biblioteka) i możemy zaczynać tworzenie bazy. Po zapisaniu bazy dostajemy drugie okienko, takie, jak poniżej. Relacyjna baza danych ma dane zapisane w postaci tabel (list). Dlatego tworzenie bazy danych zaczniemy od utworzenia tabeli. Tabelę możemy zbudować na trzy sposoby, przedstawione na drugim okienku. Najbardziej użyteczne jest tworzenie tabeli w widoku projektu. Tworzenie tabeli przez wprowadzanie danych daje pogląd na to, jak wygląda |
||
|
tabela z danymi. Kreator, jak zwykle narzuca nam pewne ograniczenia, chociaż może przyspieszyć tworzenie tabeli. Proszę wybrać „.. w widoku projektu”. Utworzymy tabelę książek znajdujących się w bibliotece, a później tabelę czytelników. Po wybraniu „.. w widoku projektu” dostajemy możliwość projektowania kolumn tabeli w bazie danych (okienko trzecie). Jakie mogą być kolumny w tabeli książek? W części pierwszej była mowa, że wiersze (krotki) to obiekty bazy, czyli książki, natomiast kolumny – to ich cechy. Cechy książek to: numer książki w bibliotece (numer katalogowy), tytuł, nazwisko autora, rok wydania, wydawnictwo, liczba stron itp. W widoku projektu projektujemy tylko kolumny tabeli. Należy uważać na: 1. Czy pole ma być wymagane czy nie (czy można zostawić wartość NULL – proszę wskazać w przykładzie, które pola mogą być |
||
|
puste). 2. Format, zwłaszcza dat i liczb, może to prowadzić do poważnych błędów w bazie. 3. Opcję, czy może być jakaś wartość domyślna dla danego pola (np. dla roku wydania?). 4. Klucz podstawowy (co to jest?) Tabelę należy zapisać pod wybraną nazwą. W tym przypadku jest to „ksiazki”. Po zapisaniu tabeli zamykamy ją i wracamy do widoku projektu bazy danych (rysunek wyżej). W „tabelach” pojawia się tabela „ksiazki”. Jeśli klikniemy dwukrotnie na tabelę, możemy wprowadzać dane (proszę tego nie robić, projekt tabeli jest niekompletny). Przystąpimy teraz do tworzenia tabeli czytelników przez wprowadzanie danych (okienko czwarte). Proszę wprowadzić trochę danych. Ten sposób projektowania tabeli jest trochę niewygodny: aby nazwać kolumnę, trzeba klikać prawym przyciskiem. Nie można ustawić właściwości kolumny: wartości domyślnej, rozmiarów, formatu itd. Dlatego ten sposób wprowadzania danych (widok tabeli) zawsze można przełączyć na opisany wcześniej, przedstawiony w okienku trzecim: z menu widok -> widok projekt. Tabelę trzeba zapisać – dla tego przykładu wybieramy |
||
nazwę „Czytelnicy”. Access zażąda utworzenia klucza podstawowego, jeśli nie jest jeszcze zdefiniowany. Po przejściu do widoku projekt widać, że część kolumn nie miała zdefiniowanych nazw. Należy je teraz zdefiniować, podobnie to, czy mogą mieć wartości NULL, ich formaty itp. Widać, że DBMS definiuje część formatów danych.
Po zakończeniu prac okienko z widokiem projektu bazy powinno wyglądać jak poniżej.
|
Zastanówmy się teraz, jak połączyć obie tabele, tak aby w bazie można było odnotować fakt, że czytelnik wypożycza lub zamawia książkę. Jeśli informacje o tym, że czytelnik wypożycza książkę, zapiszemy w tabeli czytelników, to dla każdej wypożyczonej książki trzeba w tej tabeli stworzyć kolumnę: „Książka wypożyczona nr 1”, „Książka wypożyczona nr 2” itd. Możemy przyjąć, że czytelnikowi nie wolno wypożyczyć więcej niż 3 książki. Jednak, jeśli biblioteka zmieni politykę, konieczne będzie dodanie jeszcze jednej kolumny i rekonfiguracja mechanizmów bazy. Dlatego fakt wypożyczenia należy odnotować w tabeli książek (numer wypożyczającego i ewentualnie zamawiającego zapisujemy w dwóch kolumnach, trzeba dodać jeszcze datę wypożyczenia/zamówienia, pamiętaj o poprawnym formacie daty). Podczas projektowania bazy konieczne jest przewidywanie wszystkich zmian, które mogą się pojawić w środowisku modelowanym przez bazę danych i projektowanie bazy w taki sposób, aby była jak najbardziej przygotowana na te zmiany (aby na przykład nie było konieczności ponownego przetwarzania danych). |
|
|
Po wprowadzeniu zmian tabela książek wygląda jak w okienku 6. Zwróćmy uwagę, że w tym przykładzie możemy już wprowadzić jakąś wartość domyślną. Jest to data wypożyczenia – na ogół bibliotekarka, wprowadzając do bazy fakt wypożyczenia książki, będzie wprowadzać bieżącą datę. Dlatego w polu wartość domyślna musimy wprowadzić wyrażenie, które pozwoli na zautomatyzowanie wprowadzania bieżącej daty. W tym celu należy kliknąć wielokropek, który pojawia się po wybraniu właściwości wartość domyślna pola, wybrać funkcje -> funkcje wbudowane -> data/godzina -> date (date to po ang również data). Proszę wprowadzić kilka wartości do tabeli książek. |
|
B. Kwerendy
W okienku 2 proszę wybrać po lewej stronie pole kwerendy.
|
Kwerenda to wyciąg/wyszukiwanie z bazy danych. Jakie kwerendy możemy zaprojektować dla bazy danych „Biblioteka”? Może to być kwerenda książek wypożyczonych, pomocna na przykład w wyszukiwaniu książek, które zostały przetrzymane. W tym celu proszę kliknąć dwukrotnie na pole „utwórz kwerendę w widoku projektu”. Pokaże się pole z tabelami. Zamierzamy robić wyciąg z książek – więc wybieramy tabelę książek. Pojawia się okienko z kolumnami tabeli książek. Jakie pola nas interesują? Są to numer książki (jednoznaczna identyfikacja), tytuł (czytelnikowi numer nic nie mówi, więc wybieramy również tytuł), data wypożyczenia oraz identyfikator wypożyczającego. Które książki w tabeli książek możemy uważać za wypożyczone? Są to te, które mają numer wypożyczającego większy od 0. W polu kryteria wpisujemy więc wyrażenie „>0”. Gdyby wypożyczający był identyfikowany przez nazwisko (dlaczego nie powinien być?), wpisalibyśmy wyrażenie „Is Not NULL” (nie jest puste). Proszę zapisać kwerendę, dodać kilka pozycji do tabeli książek (wypożyczonych i nie wypożyczonych) i kliknąć |
|
dwukrotnie kwerendę. Działa? Zastanówmy się nad ciekawszą kwerendą. Jak wybrać książki przetrzymane? Wiemy już, że do obliczania aktualnej daty służy funkcja Date(). Ponieważ w kwerendzie wybierającej książki przetrzymane będą użyteczne te same pola, co w kwerendzie wybierającej książki wypożyczone (czy na pewno?), możemy po prostu skopiować kwerendę „Wypozyczone” i wkleić ją jako „Przetrzymane”. Które książki są przetrzymane? Te, które wypożyczający trzyma dłużej niż na przykład 14 dni, czyli data wypożyczenia jest mniejsza o co najmniej 14 od dzisiejszej. Powinno się to zapisać wyrażeniem: „<Date()-14”, tak jak w okienku 8. Proszę zapisać kwerendę i przejść do widoku arkusza danych. Jest pusty? Trzeba zmodyfikować daty wypożyczenia książek – skoro baza została utworzona dzisiaj to nie ma dat starszych niż 1 dzień... |