PROJEKTOWANIE PRZYKŁADOWEJ RELACYJNEJ BAZY DANYCH Proces tworzenia bazy danych obejmuje następujące zasadnicze etapy: 1. utworzenie pojęciowego modelu danych, 2. przekształcenie pojęciowego modelu danych w logiczny model danych, 3. implementacja bazy danych za pomocą systemu zarządzania bazą danych. Pojęciowy model danych etap 1 (identyfikacja obiektów) Pojęciowy model danych etap 2A (powiązania obiektów)
Pojęciowy model danych etap 2B (uszczegółowienie powiązań) Pobyt Uczestnictwo Posiłki Zwiedzanie Logiczny model danych Podstawę implementacji bazy danych stanowi logiczny model bazy danych, stanowiący opis modelu pojęciowego wyrażony za pomocą struktur i typów oferowanych przez system zarządzania bazą danych. Pakiet MS Access jest oprogramowaniem przeznaczonym do tworzenia i obsługi baz danych typu relacyjnego. Pakiet ten według wcześniej podanych określeń jest systemem zarządzania relacyjną bazą danych (RDBMS). Zawiera dwa rodzaje narzędzi: narzędzia umożliwiające zdefiniowanie danych i powiązań między nimi, narzędzia umożliwiające manipulowanie danymi (wprowadzanie do bazy, przeglądanie, modyfikacje, raportowanie i usuwanie). Definiowanie pól, typów i rozmiarów Każde z pól zdefiniowanego w modelu obiektu musi mieć nadaną nazwę (unikalną w danej tabeli). Przystępując do implementacji bazy danych należy dla każdego pola określić jego typ, obligatoryjność wprowadzenia danych do tego pola oraz dla niektórych typów rozmiar. W programie Access mamy do dyspozycji następujące typy danych: Tekst znaki alfanumeryczne nie więcej niż 255 znaków, Nota znaki alfanumeryczne do 64000 znaków, Liczba wartości liczbowe o różnych zakresach i różnych formatach (bajt, liczba całkowita, liczba całkowita długa, pojedyncza precyzja, podwójna precyzja, identyfikator replikacji, dziesiętne), Data/Godzina zapis daty i ewentualnie czasu (data ogólna, data długa, data średnia, data krótka, godzina długa, godzina średnia, godzina krótka), Walutowy zapis walutowy powinien być zawsze stosowany do przechowywanie danych dotyczących kwot określających pieniądze, Autonumerowanie specjalny typ programu Access zapewniający automatyczne tworzenie klucza obcego w tabeli (każdy nowy wiersz tabeli trzymuje automatycznie nowy numer unikatowy w danej tabeli; numery wierszy usuniętych nie są ponownie wykorzystywane w tej tabeli), Tak/Nie typ danych umożliwiający zapis istnienia lub braku pewnej cechy obiektu; może przyjmować postać: Prawda/Fałsz, Tak/Nie, Wł/Wył),
Obiekt OLE obiekt bieżącej lub zewnętrznej bazy danych łączony z danym obiektem (połączenie może być zimne, ciepłe lub gorące ). Określanie klucza podstawowego tabeli Każda tabela, która nie jest tabelą intersekcji musi mieć określony klucz podstawowy zapewniający unikatowość wierszy w obrębie tej tabeli i gwarantujący tym samym precyzyjność wyszukiwania danych. Przy wyborze klucza podstawowego kierujemy się następującymi zasadami: jeżeli obiekt posiada unikatową cechę, to przyjmujemy ją jako klucz podstawowy tabeli (jest to tzw. klucz naturalny prosty), jeżeli jedna cecha obiektu nie zapewnia jego unikatowości w obrębie tabeli możemy łączyć wiele cech tego obiektu (tworzymy w ten sposób klucz naturalny złożony), jeżeli naturalny klucz prosty lub złożony zawiera długi łańcuch znaków, to korzystniej zastąpić jest go tzw. kluczem sztucznym będącym najczęściej numerem wystąpienia wiersza w tabeli (nadawanym przez system zarządzania bazą danych w sposób automatyczny). Tworzenie powiązań pomiędzy tabelami Podczas tworzenia powiązań pomiędzy tabelami bazy danych implementowanej za pomocą programu Access należy przestrzegać następujących zasad: w widoku pokazywanie tabeli wybranym za pomocą narzędzia Relacje powiązanie pomiędzy tabelami realizujemy przeciągając klucz główny tabeli nadrzędnej na pole klucza obcego tabeli podporządkowanej i w widocznym oknie formularza ustalając szczegóły powiązania (stopień i moc powiązania) pamiętając o tym, że dane tabeli nadrzędnej program wyświetla z lewej strony, a dane tabeli podporządkowanej z prawej, dla użytkownika bazy danych, który nie jest administratorem bazy należy określić opcje: Wymuszaj więzy integralności oraz Kaskadowo aktualizuj pola pokrewne, lecz nie powinno się uaktywniać opcji Kaskadowo usuń rekordy pokrewne. Narzędzia bazy danych (elementy składowe bazy umożliwiające działanie na danych zawartych w bazie: Kwerendy - Formularze - Raporty - Makra - wyszukują żądane dane, dokonują obliczeń na danych, modyfikują dane, usuwają dane, tworzą nowe tabele, dostarczają danych dla formularzy i raportów. ułatwiają wprowadzanie nowych danych, przeglądane i modyfikacje istniejących danych, pozwalają na uruchamianie innych narzędzi bazy danych (kwerendy, raporty, makra). tworzą wydruki dokumentów lub przekrojów danych wykorzystując tabele i kwerendy, jako źródła danych umożliwiają złożenie zdefiniowanych typowych operacji na danych w określony przez nas ciąg czynności (najczęściej wykorzystywane do wykonywania czynności powtarzających się cyklicznie np. tworzenie okresowych raportów, aktualizacja danych w lokalnych tabelach danymi pochodzącymi z powiązanych tabel, wykonywanie kopii bezpieczeństwa danych, itp.).
Moduły - umożliwiają zdefiniowanie za pomocą języka programowania (VBA) nowych funkcji bazy danych dla naszych potrzeb (dostosowanie bazy danych do indywidualnych wymagań użytkowników bazy). Kwerendy dzielą się na dwie grupy: 11.. wybierające: a) wybierające proste, b) wybierające wg kryterium tekstowego (np. LIKE Warszawa, LIKE A* ), c) wybierające z warunkiem wyboru (np. > A AND < D) zdefiniowanym, za pomocą odpowiednich ciągów znaków, połączonych ze sobą operatorami relacji (>, >=, <, <=, =, <>) lub operatorami logicznymi (AND, OR), d) wyszukujące wartości PUSTE wśród pól rekordów (IS NULL, NOT IS NULL), e) z wyrażeniem wiążącym, które jest tworzone poprzez połączenie zawartości kilku pól rekordu, dając jedno nowe pole z tą łączną wartością (wykorzystują operator & do łączenia pól tekstowych), f) z wyrażeniem arytmetycznym, tworzonym w postaci formuły matematycznej z wykorzystaniem pól tabel stanowiących podstawę kwerendy, g) parametryczne, pozwalają wprowadzać warunek wyboru podczas uruchomienia kwerendy. 22.. funkcjonalne: a) aktualizujące, zmieniają dane w zestawie tabel, z których są tworzone, b) tworzące tabele, pozwalają utworzyć nową tabelę na podstawie istniejących tabel lub wyników kwerendy, c) usuwające, usuwają rekordy z zestawu tabel według określonego kryterium. Uwagi dotyczące kwerend: system zarządzania bazy danych zapamiętuje sposób działania kwerendy, a nie jej wyniki, dzięki czemu zdefiniowana kwerenda może być wykorzystywana wielokrotnie (zawsze zwracając wyniki dla aktualnego stanu danych bazy), w czasie definiowania kwerendy możemy tworzyć nowe sprzężenia między tabelami w bazie danych, które będą obowiązywały tylko na czas wykonywania tej kwerendy (definiując nowe powiązania w kwerendzie nie zmieniamy powiązań między tabelami określonych podczas definiowania tabel). Formularze Dla każdej tabeli lub kwerendy istniejącej w bazie danych można utworzyć formularz. Formularz jest zazwyczaj widokiem pojedynczego rekordu, przy czym rozmieszczenie pól i ich kolejność mogą być dowolne, inne niż tabeli lub kwerendzie źródłowej dla tego formularza. Podstawowymi celami formularzy są: prezentacja danych zawartych w bazie danych, umożliwienie aktualizowania zawartości bazy danych, sterowanie eksploatacją bazy danych. Formularze w bazie danych programu Access można otrzymać poprzez: wykorzystanie tzw. autoformularzy (zdefiniowanych w programie Access narzędzi tworzących automatycznie formularze), tworzenie formularzy za pomocą przeznaczonego do tego celu kreatora formularzy, projektowanie formularzy samodzielnie bez wykorzystywania narzędzi wspomagających np. kreatora formularzy. Uwagi dotyczące formularzy:
głównym zadaniem formularza jest ułatwienie osobie wprowadzającej dane przenoszenia danych z zewnętrznego dokumentu do bazy danych, formularz powinien skupiać uwagę użytkownika na jednym rekordzie danej tabeli (tzw. formularze proste), zmniejszając niebezpieczeństwo popełniania błędów podczas wprowadzania danych, wprowadzanie danych do powiązanych tabel ułatwiają formularze złożone pokazujące dla wprowadzanego rekordu tabeli podrzędnej powiązany z nim rekord tabeli nadrzędnej, w formularzach można definiować podpowiedzi poprawnych wartości niektórych danych w formie rozwijanych list lub tzw. pól kombi, dzięki czemu unikamy pomyłek i konieczności pamiętania pomocniczych wielkości (np. kodów towarów, usług, oznaczeń, itp.), pola formularza mogą zawierać obliczone przez program wykorzystywane najczęściej pomocnicze wielkości (np. utworzony automatycznie numer dokumentu, bieżącą datę dane stałe przygotowywanego dokumentu, itp.). Raporty Tworzy się je na ogół wtedy, gdy zachodzi potrzeba prezentacji danych w sposób ułatwiający dokonywanie ich analiz oraz utrwalanie w formie pisanej pewnego stanu rzeczywistości odzwierciedlonego w bazie danych. Nie można natomiast raportów wykorzystywać do wprowadzania zmian do bazy danych, tak jak to było możliwe w przypadku formularzy bądź kwerend. Wyższość raportów nad formularzami w aspekcie prezentacji danych wynika z szerokiego spektrum możliwości różnego rodzaju agregowania danych ujętych we wszystkich rekordach obiektu źródłowego (źródła danych). Sposób tworzenia raportu nie różni się zbyt wiele od sposobu tworzenia formularza. W raportach nie stosuje się takich formantów jak listy, listy rozwijane oraz przyciski poleceń. Wszystkie pozostałe formanty mogą być wykorzystane w raportach, włącznie z tzw. podraportami (raporty włączone do raportu głównego i powiązane z nim w odpowiedni sposób). Raporty można otrzymać poprzez: wykorzystanie tzw. autoraportów (narzędzi programu generujących automatycznie raporty), tworzenie raportów za pomocą przeznaczonego do tego celu kreatora raportów, projektowanie samodzielnie bez wykorzystywania narzędzi wspomagających np. kreatora raportów. Uwagi dotyczące raportów: źródłem danych dla raportu może być tabela lub wyniki kwerendy, dane przedstawiane w raporcie można sortować i agregować według przyjętych kryteriów, co zwiększa czytelność raportu, podczas projektowania raportu możemy na danych wykonywać obliczenia dla każdego rekordu (tzw. obliczenia poziome) lub obliczenia na wszystkich rekordach wchodzących w skład danej grupy (tzw. obliczenia pionowe), program podobnie jak w przypadku opisywanych narzędzi zapamiętuje sposób przygotowania raportu, a nie jego wyniki, dzięki czemu raz zdefiniowany raport może być wielokrotnie wykorzystywany, a otrzymywane za jego pomocą wyniki będą zawsze odzwierciedlały aktualny stan danych w bazie.