1
Projektowanie baz danych
Baza danych jest zbiorem informacji związanych ze sobą tematycznie, może
zawierać: tabele, kwerendy, formularze, raporty, makra, moduły i skróty do stron dostępu
do danych.
Podstawową funkcją każdej aplikacji bazodanowej jest przechowywanie
pewnych informacji o wybranych przedmiotach. Projektowanie bazy danych wymaga
umiejętności spojrzenia na informację jako na zbiór danych opisujących poszczególne
przedmioty oraz związki (relacje ) zachodzące pomiędzy różnymi obiektami
1
.
Używając programu Microsoft Access można zarządzać wszystkimi swoimi
informacjami z pojedynczego pliku bazy danych. W obrębie tego pliku dane można
podzielić na osobne kontenery nazywane tabelami; oglądać, dodawać i aktualizować dane
przy użyciu formularzy w trybie online; znajdować i pobierać żądane dane przy użyciu
kwerend; oraz analizować lub drukować dane w określonym układzie przy użyciu
raportów.
W programie Microsoft Access są dwie metody tworzenia bazy danych. Można
utworzyć pustą bazę danych, a następnie dodać do niej tabele, formularze, raporty i inne
obiekty
- jest to najbardziej elastyczna metoda, lecz wymagająca oddzielnego
zdefiniowania każdego elementu bazy danych. Alternatywnie można użyć Kreatora baz
danych do utworzenia w jednej operacji wymaganych tabel, formularzy i raportów dla
wybranego rodzaju bazy danych - jest to najłatwiejsza metoda rozpoczęcia tworzenia bazy
danych. Bez względu na wybraną metodę, po utworzeniu bazy danych można ją później
modyfikować i powiększać w dowolnym czasie.
Aby w sposób efektywny przechowywać dane, należy utworzyć jedną tabelę dla
każdego typu informacji, które mają być śledzone. Zbierając dane z wielu tabel
w kwerendzie, formularzu, raporcie lub na stronie dostępu do danych, należy również
zdefiniować relacje między tabelami. Aby znaleźć lub pobrać tylko te dane, które spełniają
określone warunki, lub dane z wielu tabel, należy utworzyć kwerendę. Kwerenda może
również aktualizować lub usuwać wiele rekordów na raz i przeprowadzać predefiniowane
lub niestandardowe obliczenia na danych. Chcąc oglądać, wprowadzać lub zmieniać dane
bezpośrednio w tabeli, należy utworzyć formularz. Po otwarciu formularza, program
Microsoft Access pobiera dane z jednej lub kilku tabel i wyświetla je na ekranie
w układzie wybranym przez użytkownika w Kreatorze formularzy lub utworzonym
samodzielnie. Do analizy danych lub zaprezentowania ich w określony sposób na wydruku
służy raport. Można na przykład wydrukować jeden raport, który grupuje dane i wylicza
podsumowania, i drugi, z innymi danymi, sformatowanymi w sposób odpowiedni dla
etykiet wysyłkowych.
Przed rozpoczęciem używania programu Microsoft Access do budowania tabel,
formularzy i innych obiektów, które złożą się na bazę danych, należy koniecznie poświęcić
nieco czasu na zaprojektowanie bazy danych. Zarówno w bazie danych w Microsoft
Access, jak i w projekcje Microsoft Access, dobry projekt jest podstawą utworzenia bazy
danych, która pozwoli na szybkie, dokładne i skuteczne wykonywanie zamierzonych
celów.
1
D Mendrala, M Szeliga – Access 2003. Gliwice 2003, s. 8
2
Etapy projektowania bazy danych
1. Określenie celu, któremu ma służyć baza danych.
2. Określenie tabel, które są potrzebne w bazie danych.
3. Określenie pól, które są potrzebne w tabelach.
4. Przypisanie polom jednoznacznych wartości w każdym rekordzie.
5. Określenie relacji między tabelami.
6. Udoskonalenie projektu.
7. Wprowadzenie danych i utworzenie innych obiektów bazy danych.
8. Zastosowanie narzędzi analizy programu Microsoft Access.
Ad:1 Określenie celu, któremu ma służyć baza danych
Pierwszym krokiem w projektowaniu bazy danych jest określenie celu, któremu ma
służyć baza i sposobu jej używania. Trzeba wiedzieć, jakich informacji ma dostarczyć baza
danych. Na tej podstawie można określić, jakie zagadnienia będą analizowane w bazie
danych (tabele) i jakie informacje mają określać każde zagadnienie (pola w tabelach).
Należy porozmawiać z przyszłymi użytkownikami bazy danych. Zorganizować
burzę mózgów dotyczącą pytań, na które baza danych miałaby odpowiadać. Naszkicować
wzory raportów, które powinna wytwarzać. Zgromadzić formularze do wpisywania
danych, które są używane obecnie. Zapoznać się z działaniem dobrze zaprojektowanych
baz danych, podobnych do tej, która ma być utworzona.
Ad:2 Określenie tabel, które są potrzebne w bazie danych
Określenie tabel może być najtrudniejszym etapem procesu projektowania bazy
danych. Powodem tego jest fakt, że wyniki, których ma dostarczyć baza danych - raporty
gotowe do wydrukowania, formularze przeznaczone do wykorzystania, pytania, na które
trzeba odpowiedzieć - nie zawsze zawierają bezpośrednie wskazówki o strukturze
tworzących je tabel.
Tabela jest zbiorem danych dotyczących określonego tematu. Używanie osobnej
tabeli dla każdego tematu oznacza, że dane przechowywane są tylko raz, co sprawia, że
baza danych jest bardziej wydajna i zmniejsza ryzyko błędów przy wprowadzaniu danych.
Dane w tabelach są zorganizowane w kolumny (nazywane polami) i wiersze (nazywane
rekordami).
Projektując tabele należy podzielić posiadane informacje pamiętając
o przedstawionych poniżej podstawowych zasadach projektowania. Tabela nie powinna
zawierać powtarzających się informacji, a informacje nie powinny powtarzać się
w różnych tabelach. Jeżeli informacje są przechowywane tylko w jednej tabeli, można je
zaktualizować zmieniając dane tylko w jednym miejscu. Tak jest łatwiej, a ponadto unika
się wystąpienia niezgodności danych zapisanych w różnych miejscach. Na przykład,
dobrze jest zapisać numer telefonu i adres klienta tylko raz, w jednej tabeli.
Chociaż istnieją pewne ograniczenia, z danymi w podrzędnym arkuszu danych
można w wielu przypadkach pracować w taki sam sposób, jak z danymi w głównym
arkuszu danych. W widoku "Projekt" tabeli można utworzyć całą tabelę od początku albo
dodać, usunąć lub dostosować pola w istniejącej tabeli.
3
Ad:3 Określenie pól, które są potrzebne w tabelach
Każda tabela zawiera informacje na temat jednego zagadnienia, a każde pole
w tabeli zawiera jedną daną dotyczącą tego zagadnienia, któremu poświęcona jest tabela.
Na przykład, tabela poświęcona klientom może zawierać pola z nazwą firmy, adresem,
miastem, krajem i numerem telefonu. Zabierając się do projektowania pól w tabelach
dobrze jest pamiętać o następujących wskazówkach.
Należy powiązać każde pole bezpośrednio z zagadnieniem, którego dotyczy tabela.
Nie należy wprowadzać danych pośrednich lub obliczonych (danych, które są wynikiem
wyrażenia). Należy uwzględnić wszystkie potrzebne informacje. Informacje należy
przechowywać w możliwie najmniejszych jednostkach logicznych (na przykład Imię oraz
Nazwisko, a nie Dane personalne).
Wspólne pole łączy dwie tabele, dzięki czemu w programie Microsoft Access
można zestawić razem dane z takich dwóch tabel, aby je obejrzeć, poddać edycji lub
wydrukować. W widoku "Arkusz danych" tabeli można dodawać, edytować i oglądać dane
lub w inny sposób pracować z danymi tabeli. Można również wyświetlać rekordy z tabel,
które są powiązane z bieżącą tabelą, przez wyświetlanie podrzędnych arkuszy danych
w głównym arkuszu danych.
Ad: 4 Przypisanie polom jednoznacznych wartości w każdym rekordzie
Aby program Microsoft Access mógł powiązać informacje przechowywane
w różnych tabelach
- na przykład, aby powiązać klienta ze wszystkimi jego
zamówieniami - każda tabela w bazie danych musi zawierać pole lub zbiór pól, które
jednoznacznie określają każdy rekord. Takie pole lub zbiór pól nazywany jest kluczem
podstawowym.
Ad:5 Określenie relacji między tabelami
Po podzieleniu danych na tabele i zdefiniowaniu pól kluczy podstawowych trzeba
wprowadzić do programu Microsoft Access informacje na temat sposobu poprawnego
łączenia powiązanych danych w logiczną całość. W tym celu definiuje się relacje między
tabelami w bazie danych Microsoft Access.
Ad:6 Udoskonalenie projektu
Po zaprojektowaniu tabel, pól i łączących ich relacji przychodzi czas na sprawdzenie
projektu i wykrycie ewentualnych usterek. Łatwiej poprawić bazę danych teraz niż po
wypełnieniu tabel danymi.
Wykorzystujemy program Microsoft Access do utworzenia tabel, określamy
łączące je relacje i wprowadzamy do tabel dostatecznie dużo przykładowych danych, aby
można było sprawdzić projekt. Aby przetestować relacje w bazie danych, sprawdzamy, czy
można utworzyć kwerendy w celu uzyskania odpowiedzi na stawiane pytania. Tworzymy
w zarysie formularze, raporty i sprawdzamy, czy przedstawiają te dane, których
oczekujemy. Szukamy niepotrzebnych powtórzeń danych i usuwamy je.
4
Ad:7 Wprowadzenie danych i utworzenie innych obiektów bazy danych
Kiedy okaże się, że struktura tabel spełnia opisane powyżej zasady, można
wprowadzić wszystkie dane do tabel i utworzyć dowolne kwerendy, formularze, raporty,
strony dostępu do danych, makra i moduły.
Ad:8 Zastosowanie narzędzi analizy programu Microsoft Access
Program Microsoft Access jest wyposażony w dwa narzędzia, które pomagają
udoskonalić projekt bazy danych Microsoft Access. Kreator analizy tabel potrafi sprawdzić
projekt przeglądając jednorazowo jedną tabelę, zaproponować nową strukturę tabeli i jeśli
to jest potrzebne podzielić tabelę na kilka tabel połączonych relacjami. Analizator
wydajności potrafi przeprowadzić analizę całej bazy danych, sformułować zalecenia
i propozycje dotyczące wprowadzenia ulepszeń. Analizator wydajności może też
wprowadzić te zalecenia i propozycje.
Faza projektowania kończy się wdrożeniem projektu w środowisku konkretnego
systemu zarządzania bazami danych. Projektowanie i wdrożenie projektu jest ze sobą
ściśle związane, możemy przyjąć, że projektując bazę danych, będziemy jednocześnie
tworzyć obiekty bazy danych, takie jak tablice i kwerendy oraz, że obiekty te zostaną ze
sobą prawidłowo powiązane. Następnym etapem jest umożliwienie użytkownikom
korzystania z bazy danych. Użytkownik musi mieć możliwość dodawania informacji do
bazy, ich modyfikowania i usuwania
2
.
2
D Mendrala, M Szeliga – Access 2003. Gliwice 2003, s. 9
5
Cel pracy
Podstawowym zadaniem projektu, jest pomoc nauczycielowi
w ewidencjonowaniu i zarządzaniu informacjami dotyczącymi poszczególnych uczniów
i klas, przez dodanie do funkcjonalności standardowego dziennika szkolnego, możliwości
szybkiego, elektronicznego przetwarzania i analizy danych.
I. Pytania stawiane bazie
Ze względu na charakter, zadawane bazie pytania można podzielić na kategorie dotyczące:
• indywidualnego ucznia: uzyskiwanych ocen z określonego przedmiotu,
raportowania nieobecności, spóźnień, komunikacji z opiekunami itp.
• statystyczne, dotyczące indywidualnego ucznia – średnia ocena, średnia ocena
• z określonego przedmiotu, porównanie ze średnią klasy.
• poszukiwanie danych spełniających określone kryteria, np.: uczniów zagrożonych,
uczniów których rodzice nie stawili się na zebranie/dni otwarte
• i innych.
• statystyka klasy – średnia ogólna klasy i średnia ogólna ucznia.
• Informacje o odbytych lekcjach klas na podstawie daty.
II. Funkcje bazy danych
Podstawową funkcją bazy będzie dostarczenie informacji na temat:
•
wyników nauczania uczniów
• stanu zdrowia uczniów
• frekwencji uczniów
• liczebności klas
• odbytych lekcjach
Utworzona aplikacja umożliwia wprowadzanie danych oraz aktualizację i usuwanie już
zapisanych w niej danych o:
• uczniach - ich stanie zdrowia, osiągnięciach, zachowaniu, nieobecnościach
• opiekunach uczniów – stan prawny opiekuna, jego adres, telefon kontaktowy, adres
poczty elektronicznej
• przedmiotach
• nauczycielach
• opisach ocen
6
Kolejną funkcją bazy będzie możliwość wyświetlania informacji statystycznych,
podsumowań i zestawień.
Projektowana baza danych umożliwi:
• przeglądanie zgromadzonych w niej danych,
• porządkowanie informacji według określonych kryteriów,
• dodawanie nowych danych, uzupełnianie, modyfikowanie i usuwanie danych,
• grupowanie danych oraz dokonywanie obliczeń.
III. Encje i ich atrybuty
Zadaniem encji
Dziennik
jest odwzorowanie funkcji dziennika lekcyjnego w zakresie
ewidencji prowadzonych zajęć lekcyjnych w poszczególnych klasach szkolnych.
Atrybuty encji odpowiadają za ewidencjonowanie danych o odbytych lekcjach - określają
przedmiot, nauczyciela prowadzącego zajęcia oraz termin zajęć – oraz przypisują im
indywidualny indeks (IdDziennika).
Encja
Klasa
grupuje nazwy występujących klas, przypisując każdej z nich indywidualny
indeks oraz sumaryczną średnią ocenę.
Informacje dotyczące kontaktów z opiekunami ucznia zgrupowano w encji
Kontakty.
7
Jako atrybuty występują tutaj: unikalny indeks, numer telefonu, adres poczty internetowej
oraz opis kontaktu z opiekunem.
Zadaniem encji
Lekcja2
jest grupowanie informacji o obecnościach, uzyskiwanych
podczas zajęć lekcyjnych ocenach (w tym ocenach opisowych) oraz ewentualnych
uwagach dotyczących aktywności bądź zachowania.
Encja Nauczyciel zawiera dane o nazwisku oraz imionach nauczycieli z przypisanym
każdemu indywidualnym indeksem.
Za grupowanie danych o adresie opiekunów ucznia odpowiada encja
Opiekun
.
Atrybuty encji określają stopień pokrewieństwa opiekuna z uczniem, jego pełny adres oraz
unikalny identyfikator. Przewiduje się możliwość występowania kilku opiekunów tego
samego ucznia sprawujących równoczesną opiekę.
Opisową ocenę osiągnięć ucznia, wraz z indywidualnym identyfikatorem, zamieszczono
w encji
OpisyOcen
.
8
Nazwy przedmiotów wraz z indywidualnym identyfikatorem przechowuje encja
Przedmioty
.
Za grupowanie informacji dotyczących ucznia odpowiada encja
Uczeń
. Poza unikalnym
identyfikatorem (IdUcznia) atrybuty encji określają płeć ucznia, jego imię, nazwisko, datę
urodzenia, klasę, czy powtarza, uwagi dotyczące zdrowia i opiekuna. Encja ta pozwala
również na zapis danych graficznych obrazujących wygląd ucznia.
Szczegółowe uwagi na temat zdrowia, w szczególności dotyczące ograniczeń z nim
związanych wraz z indywidualnym identyfikatorem przechowywane są przez encje
Zdrowie
.
Zadaniem encji
Zwolnienia
jest ewidencja usprawiedliwień nieobecności uczniów na
zajęciach.
9
IV. Model logiczny bazy danych
Typy związków w bazie:
- w klasie jest wielu uczniów,
- uczeń może być wiele razy chory,
- stan zdrowia ucznia jest jednoznacznie określony (wpis w tablicy zdrowie) ,
- uczeń może mieć wielu opiekunów (rodzic, opiekun prawny, faktycznie
sprawujący doraźną opiekę członek rodziny),
-
nauczyciel może prowadzić wiele lekcji z różnych przedmiotów
V. Opis funkcjonalny
Kwerendy wybierające:
• DaneUcznia – wybiera informacje na temat uczniów
• Dzieci_Rodzice – podaje pokrewieństwo pomiędzy opiekunami, a uczniami
• Klasa Kwerenda – pokazuje nazwy klas oraz uzyskane średnie oceny
• Kw_Dziennik – przedstawia dane dotyczące lekcji
• Kw_Dziennik_UczniowieKlasy – pokazuje uczniów należących do poszczególnych
klas oraz ich obecności, oceny i adnotacje dodatkowe (np.: uwagi dotyczące
zachowania)
• Kw_Klasa-Uczniowie – służy do pokazywania listy uczniów poszczególnych klas
• Kw_Lekcja – przedstawia zawartość tablicy lekcja
• Kw_Lekcja-klasa – pokazuje nazwę występujących klas
• Kw_LiczbaUczniówKlas – podaje liczbę uczniów klas
• KW_NazwiskaU – wyświetla listę uczniów łącząc nazwisko z imieniem w jednym
polu
• Kw_Nieobecni – przedstawia informacje o frekwencji uczniów
10
• Kw_NowaLekcja – kwerenda lekcja grupuje informacje dla formularza dziennik
• KW_SredniaOcenaUcznia – oblicza średnią ocenę z wszystkich przedmiotów dla
wskazanego ucznia
• Kw_Uczeń_Nieobecności – służy do zliczania nieobecnych godzin
• Kw_Uwagi – gromadzi dane dla formularza adnotacji
• Kw_Zwolnienia – przedstawia listę dostarczonych zwolnień
• Oceny2 – pokazuje listę uczniów z wystawionymi ocenami, grupując ją względem
klas i nazwisk uczniów
• Opiekun_Dziecka – podaje listę nazw opiekunów
• ŚredniaOcenaKlasy – kwerenda z parametrem obliczająca średnia ocenę wskazanej
klasy
• Uczeń Kwerenda_Zdrowie – podaje informacje dotyczące zdrowia uczniów
• Uczeń Oceny cząstkowe – podaje szczegółową listę ocen uczniów ze wszystkich
przedmiotów
Kwerenda krzyżowa
Kw_oceny – zliczająca średnie oceny jakie uczeń uzyskał ze wszystkich przedmiotów
VI. Formularze
Baza zaprasza do współpracy dwoma występującymi po sobie formularzami startowymi,
przy czym drugi formularz automatycznie zamyka poprzedzający go. Do wejścia do bazy
danych lub jej zamknięcia służą niestandardowe przyciski:
Zapraszam
i
Zamknij
.
Główne okno funkcyjne bazy pozwala na wybór jednej z wielu dostępnych funkcji:
• formularz podający informacje na temat ucznia
• dane kontaktowe opiekunów uczniów
• wykazy list uczniów uczęszczających do poszczególnych klas
• informacje o nieobecnościach uczniów oraz usprawiedliwieniach nieobecnych
godzin
• uwagach o osiągnięciach lub zachowaniu ucznia
• funkcje dziennika lekcyjnego
• pomocnicze funkcje edycyjne oraz raporty
11
Jednym z głównych formularzy jest
Edytor danych ucznia
, grupujący
podstawowe informacje, takie jak: data urodzenia, imię i nazwisko, uwagi na temat
zdrowia, czy powtarza klasę – pozwala również na zachowanie obrazu przedstawiającego
ucznia. Jednym z celów formularza jest pełna prezentacja informacji dotyczącej ucznia
jego opiekunom. Celowi temu służą wywoływane przyciskami umieszczonymi w dolnej
części, formularze dodatkowe.
12
Edytor opiekunów
– wywoływany graficznym przyciskiem przedstawiającym rodziców
z dzieckiem – pozwala ewidencjonować dane adresowe oraz kontaktowe jednego lub wielu
sprawujących opiekę osób. Pozwala także zróżnicować kontakty w zależności od miejsca
przebywania opiekuna (praca, dom).
Do prezentacji opiekunom osiągnięć uczniów służy
formularz podający średnie oceny
z kolejnych przedmiotów oraz prezentujący na wykresie ogólną średnią ocenę ucznia tle
klasy.
13
Formularz
Adnotacje i uwagi
grupuje zarówno informacje o zachowaniu ucznia na
zajęciach jak i dodatkowe dane o specjalnych osiągnięciach, predyspozycjach i innych
zdarzeniach z życia szkolnego ucznia.
Kolejną ważną informacją dotyczącą ucznia jest frekwencja na zajęciach, prezentowana
w formularzu
Frekwencja ucznia.
Dla większej wygody w zarządzaniu kontaktami z opiekunami uczniów przygotowano
także indywidualny formularz pozwalający na edycję danych kontaktowych.
14
Formularz
Listy uczniów
pozwala na zapoznanie się z listą uczniów z poszczególnych
klas.
Funkcjonalność dziennika lekcyjnego zapewniają formularze:
Dziennik – nowa lekcja
wraz z powiązanym z nim formularzem listy uczniów klas oraz
Dziennik
. Po
wprowadzeniu informacji dotyczących klasy, przedmiotu, nazwiska prowadzącego lekcję
wykładowcy oraz terminu zajęć i zaakceptowaniu ich klawiszem
Nowa lekcja
,
automatycznie zostaną wypełnione rekordy odpowiadające aktywności uczniów wybranej
klasy.
15
Wstępnie zaznaczane są obecności wszystkim uczniom – osobom nieobecnym należy
ręcznie zmienić stan odpowiedniego pola. Formularz służy również do zapisywania ocen
i uwag odnośnie poszczególnych uczniów.
Formularz ciągły
Nieobecności
pokazuje listę wszystkich opuszczonych przez uczniów
zajęć, grupując je zgodnie z nazwiskiem ucznia oraz klasą.
16
Usprawiedliwione nieobecności pokazywane są przez formularz
Zwolnienia uczniów
.
Formularz
Adnotacje i uwagi
pokazuje listę informacji grupowaną zgodnie z klasą do
której uczęszcza uczeń oraz jego nazwiskiem. Każda adnotacja opatrywana jest dokładną
informacją o dacie zdarzenia wraz z nazwą lekcji na której miało ono miejsce.
17
Dziennik
służy do wyszukiwania informacji o przeprowadzonych zajęciach.
Dane mogą być filtrowane według: nazwy klasy, nazwiska nauczyciela, nazwy przedmiotu
oraz daty. Po zdefiniowaniu kryteriów filtrowania, we wbudowanym podformularzu
aktualizowana jest lista uczniów.
18
Okno wyboru
Formularzy pomocniczych
– dostępne z głównego formularza bazy -
grupuje formularze edycyjne pozwalające na modyfikacje i dopisywanie: nazwisk
nauczycieli, nazw przedmiotów, adnotacji dotyczących zdrowia i opisów ocen.
Opracowała:
mgr Ewa Wiśniewska
19