Planowanie i tworzenie tabel jest pierwszym i najważniejszym etapem w tworzeniu bazy danych. Wymaga analizy samego zjawiska, które podlega rejestracji w tabelach, oraz dobraniu odpowiednich cech opisujących poszczególne encje. Access jest systemem, który pracuje z jedną bazą danych jednocześnie. W pliku bazy danych zawarte są zarówno tabele jak i składniki z nimi związane. Składnikami tymi są kwerendy, formularze, raporty, strony, makra oraz moduły. Wszystkie ze wspomnianych bazują na danych zawartych w tabelach danych stosując mechanizmy zaprojektowane podczas tworzenia całej struktury relacyjnej. Kwerendy są przepisami według których tworzone są zapytania do bazy danych a wynikiem realizacji zapytania jest zestaw rekordów, które spełniają określone kryteria. Formularze są graficznym interfejsem użytkownik który prezentuje dane posiłkując się zarówno tabelami jak również kwerendami. Raporty przeznaczone są do prezentacji danych najczęściej w formie drukowanej lub po prostu tworzenia zestawień przy wykorzystaniu funkcji agregujących. Strony są graficznym interfejsem bazy danych w Sieci. Makra, to sekwencyjnie ustawione skrypty oparte o składniki zawarte w bazie danych jak funkcje logiczne a także formularze, raporty. Moduły zaś, są kodem zapisanym w jeżyku Access Basic, który służy do autorskiego opracowywania i rozbudowywania aplikacji w Access. Etap 0 Analiza zjawiska do zarejestrowania w bazie danych Aby poprawnie zaprojektować tabele dla bazy danych należy przeprowadzić analizę zjawiska, dla którego bazę chcemy zaprojektować. Analiza ma za zadanie wyizolować z całości zagadnienie wartości istotne z punktu widzenia samej struktury bazy danych. Przedmiot analizy jest skomplikowany i aby przeprowadzić ją a sposób pełny należy uwzględnić kilka znaczących punktów i etapów. Dla przykładu zawartego w niniejszym ćwiczeniu przewidziano dość proste postępowanie analityczne, które i tak jest dużym przybliżeniem i określenie Analiza nie do końca jest dla niego odpowiednie. Tak czy inaczej rozumowanie przeprowadzić trzeba ponieważ bez niego baza danych powstać by nie mogła. Przykład, który rozpatrujemy to układ Lekarz- Pacjent. Pierwszą czynnością jaką trzeba wykonać jest odpowiedź na kilka pytań 1. Jak wygląda układ Pacjent Lekarz, Lekarz Pacjent. a. Układ ten można uznać za proste odwzorowanie przysłowiowym: Przychodzi pacjent do lekarza b. Mamy więc: pacjenta, lekarza oraz sam fakt wizyty, którą trzeba zarejestrować w naszej bazie danych. c. Z uwagi na prostotę przykładu ograniczymy się tylko do trzeba encji, dla których dobierzemy relacje oraz odpowiednie cech dla opisania tabel. 2. Co jest istotne z punktu widzenia tworzonej RELACYJNEJ bazy danych? a. Postać lekarza, który musi być rejestrowany w bazie. Jego dane będą wykorzystywane jako podstawa do rejestracji wizyty pacjenta b. Postać Pacjenta, który przychodzi po poradę i na wizycie dostaje wskazania od lekarza (już umieszczonego w bazie danych) c. Fakt wizyty lekarskiej odnotowanej jako spotkanie Pacjenta z Lekarzem po której Pacjent dostaje wskazania odnośnie leczenia oraz inne zalecenia (określenie cech według fantazji projektanta oczywiście dla ćwiczenia) 3. Jakie relacje można dobrać pomiędzy poszczególnymi zidentyfikowanymi encjami: Pacjent-Wizyta-Lekarz a. Pacjent nie może bezpośrednio być w relacji z lekarzem ponieważ wtedy nie istniałby mechanizm rejestracji wizyty i przepisania na wizytę zaleceń.
b. Lekarz nie może być w bezpośredniej relacji z Pacjentem z tego samego rodowodu co w p.1 c. Zatem relacja wygląda tak, że encja Pacjent łączy się z encją Wizyty a ta z kolei jest połączona z encją Lekarza. Układ można uszczegółowić diagramem i opisem: i. Jeden Pacjent może przyjść na kilka wizyt ( kurza łapka od strony Wizyty oznacza wiele razy, pojedyncze połączenie od strony pacjenta oznacza jeden pacjent ) ii. Jeden Lekarz może radzić na wizytach wiele razy. iii. Jedna wizyta dotyczy tylko jednego pacjenta i tylko jednego lekarza. (patrząc od strony Wizyty przyjmujemy jedną wizytę ) 4. Należy zastanowić się jakie cechy opisują poszczególne encje: Lekarza, Pacjenta, oraz Wizyty. Ten punkt będzie wyjaśniony w dalszej części ćwiczenia praktycznego. Etap 1 Zakładanie nowej bazy danych 1. Uruchomić program Access. 2. Z menu programu Access należy wybrać opcję Plik a następnie Nowy. 3. Na zakładce po prawej stronie okna programu należy wybrać opcję Pusta baza danych a następnie zapisać plik nowej bazy danych z wybraną nazwą w wybranym miejscu na dysku 4. W oknie bazy danych zapoznać się poszczególnymi elementami składowymi stanowiącymi podstawowe moduły systemu zarządzania relacyjną bazą danych Ćwiczenie 2 - Tworzenie tabel w bazie danych 1. W zakładce Tabele wybrać z opcję Utwórz tabelę w widoku projektu 2. Zidentyfikować wartości określające przedmiot opisu w tabeli. Dla przykładu zostanie opisany układ Pacjent Lekarz 3. Zastanowić się jakie cechy istotne dla systemu bazodanowego mogą opisywać Pacjenta a jakie Lekarza a. Przykładowy opis struktury danych tabeli Pacjenci (zastanowić się nad polem jednoznacznie identyfikującym pacjenta) imię, nazwisko, data urodzenia, adres, kod pocztowy, miejscowość, telefon, nr dowodu osobistego, nr ubezpieczenia, opis UWAGA!!! Pole jednoznacznie identyfikujące to tzw. klucz główny tabeli. Wyznacza się go zazwyczaj jako pole o nazwie id (jako pierwsze w zestawieniu) typ pola to autonumerowanie oraz pole oznacza się
znacznikiem kluczyka który znajduje się na pasku narzędzi programu Access. Jest to bardzo istotny etap w ćwiczeniu ponieważ w dalszych punktach będziemy się odwoływać do tego pola. Każda tabela ma swój klucz główny. W każdej należy wykonać etap tworzenia klucza głównego. b. Przykładowy opis struktury danych tabeli Lekarze (odnaleźć pole jednoznacznie identyfikujące lekarza) imię, nazwisko, adres, miejscowość telefon, specjalność, opis 4. Utworzyć tabele dla Pacjentów i Lekarzy. 5. W oknie Projektu tabeli wprowadzić następująco: a. Nazwę pola danych określającą co będzie rejestrowane b. Typ danych przechowywanych w tym polu rodzaj informacji, który będzie przechowywany (tekst, liczby) c. Opis dodatkowy ułatwiający identyfikacje pola cele informacyjne d. Uzupełnić właściwości pola w oknie poniżej 6. Obie tabele uzupełnić danymi po min. 5 wpisów w każdą z tabel. Bardzo ważne!!! Typy pól: Tekst przechowuje tekst (ASCII) do długości 254 znaków zwykłe pola danych jak imię, nazwisko, kod, nr telefonów, itp Nota przechowuje tekst (ASCII) o długości do 64 kb pola danych jak opisy, charakterystyka, komentarze, itp. Liczba przechowuje wartości liczbowe według dobranych właściwości (w dolnej zakładce właściwości) przechowuje wartości liczbowe na których wykonywane są obliczenia arytmetyczne n. Cena, kwota, liczba dzieci, itp. Data/Godzina przechowuje wartości daty i godziny (zapis liczbowy) o ustalonym formacie w oknie właściwości Walutowy - przechowuje wartości w formacie opatrzonym walutą z dokładnością do dwóch miejsc po przecinku Autonumerowanie pole o automatycznej numeracji wybierane najczęściej jako właściwe dla pola identyfikatora (tryb przyrostowy, losowy) Tak/Nie pole przechowujące wartości logiczne prawdy lub fałszu, Tak/Nie, włączone/wyłączone. Obiekt OLE pole przechowujące wartości będące danymi bitowymi jak rysunki, dźwięki, filmy itp. Hiperłącze przechowuje dane w formacie hiperłączy Kreator Odnośników pozawala na łączenie danych w tabelach za pomocą kreatora. Służy jako pomoc w projektowaniu odwzorowania danych
Właściwości: Liczba pól określających właściwości różni się dla odpowiednio wybranych typów pól danych Rozmiar pola określa liczbę znaków jakie system pozwoli wprowadzić do pola danych. W przypadku liczb pole wyboru pozwala wybrać rodzaj dokładności pola liczbowego w zakresie Format sposób prezentacji danych w przypadku daty jest to wybór pomiędzy sposobem kodowania daty np. RRRR-MM-DD Maska wprowadzania pozwala na określenie suflera podczas wprowadzania danych tak by użytkownik łatwo mógł wprowadzać poprawne dane np. kod - _ (zalecane użycie kreatora) Tytuł nazwa pola która będzie pojawiać się w oknie tabeli podczas wprowadzania danych (opcja) Wartość domyślna wartość, która będzie wprowadzana w pole przed jego edycją. Może zostać zmieniona przez użytkownika bazy danych Reguła sprawdzania poprawności pole pozwalające na wprowadzenie reguły sprawdzającej poprawność wprowadzonych danych np. dla pola daty <1990-01-01 (nie wcześniejsze niż sprzed 1990-01-01) Tekst reguły sprawdzania poprawności tekst komentarz pojawiający się kiedy reguła poprawności zostanie naruszona dla danego pola Wymagane pozwala określić czy system będzie monitował o wprowadzenie danych w pole. W przypadku wartości TAK, system będzie konsekwentnie prosił o konkretną wartość nie pozwalając na pozostawienie pola nie wypełnionego. Zerowa długość dozwolona pozawala na wprowadzenie wartości zamiast konkretnej wartości w polu gdzie obowiązuje konieczność wprowadzenia danych Indeksowanie czy pole poddane jest indeksowaniu czy nie (indeksowanie ułatwia wyszukiwanie danych) Pole identyfikatora wymaga opcji Tak, bez powtórzeń Ćwiczenie 3 Łączenie danych w tabelach za pomocą odwzorowania Przykład I - podstawowy 1. Relacja Pacjent Lekarz w najprostszym układzie pozwala ustalić jednego lekarza rodzinnego dla jednego pacjenta. W takim wypadku układ można scharakteryzować w taki sposób, że jednemu lekarzowi odpowiada wielu pacjentów 2. Utworzenie połączenia Pacjent Lekarze. a. Otworzyć tabelę Pacjenci w trybie projektowania. b. Dodać pole o nazwie lekarz_rodzinny c. Jako typ danych wybrać kreator odnośników d. Wybrać połączenie z tabelą Lekarze. Postępować zgodnie z sugestiami kreatora czytając opisy. e. Zapisać tabelę Pacjenci. f. Wprowadzić dane uzupełniając informację o lekarzu dla każdego z pacjentów. Ćwiczenie 4 Łączenie danych w tabelach za pomocą relacji Przykład II karta pacjenta 1. Utworzyć dodatkową tabelę o nazwie Wizyta będzie to tabela zawierająca informację o wizytach pacjenta w przychodni i konsultacjach lekarskich. 2. Zastanowić się jakie pola mogłyby opisywać wizytę pacjenta. Dla przykładu mogą to być wartości opisujące
a. Nr kolejny wizyty autonumerowanie b. Pacjent pole do podłączenia danych (kreator odnośników) z tabeli Pacjenci c. Lekarz pole do podłączenia danych (kreator odnośników) z tabelą Lekarze d. Data wizyty e. Rozpoznanie pole informujące o konsultacji lekarskiej f. Recepta informacja o zaleceniach w leczeniu g... zaimprowizować dalsze pola danych 3. Zapisać tabelę z określoną strukturą. 4. Podłączyć z pomocą kreatora odnośników tabelę Wizyta z tabelami Pacjenci i Lekarze. 5. Wprowadzić dane o wizytach pacjentów u poszczególnych lekarzy Ćwiczenie 5 Tabel miejscowości Wykorzystując układ relacyjny można w tabelach Pacjenci oraz Lekarze zastąpić pola Miejscowość, które przechowują nazwy miejscowości podłączeniem do tabeli z ujednoliconymi nazwami miejscowości. W tym celu tabelę taką trzeba utworzyć. 1. Utworzyć nową tabelę o nazwie Miejscowości 2. W strukturze tabeli wprowadzić jedno pole o nazwie Miejscowość i oznaczyć to pole kluczem głównym (kluczykiem) 3. Przejść w tryb wprowadzania danych i wprowadzić w tabelę kilka nazw miejscowości. 4. Otworzyć tabelę Pacjenci w tryb projektowania i w polu Miejscowość zmienić typ pola na Kreator odnośników. 5. Korzystając z kreatora podłączyć pole do tabeli Miejscowości. Zadania do samodzielnego wykonania: 1. Przeprowadzić podobne rozumowanie i utworzyć bazę danych dla zjawiska wypożyczania książek w bibliotece lub wypożyczalni samochodów.