Zdarzenia: Wsp贸艂dzia艂anie obiekt贸w bazy danych
Zdarzenie jest okre艣lon膮 akcj膮, kt贸ra wyst臋puje dla pewnego obiektu lub w zwi膮zku z nim. Program Microsoft Access mo偶e odpowiedzie膰 na wiele r贸偶nych zdarze艅: klikni臋cie przyciskiem myszy, zmian臋 danych, otwarcie lub zamkni臋cie formularza i inne. Zdarzenia s膮 zazwyczaj wynikiem akcji u偶ytkownika.
U偶ywaj膮c procedury zdarzenia lub makra mo偶na doda膰 w艂asn膮, niestandardow膮 odpowied藕 na zdarzenie zachodz膮ce dla formularza, raportu lub formantu.
Przypu艣膰my, 偶e u偶ytkownik chce, aby formularz „OpisyProdukt贸w” otwiera艂 si臋 po klikni臋ciu przycisku polecenia „Szczeg贸艂y Produkt贸w” na formularzu „Zam贸wienia”. W poni偶szych przyk艂adach zosta艂o pokazane, jak to zrobi膰 za pomoc膮 procedury zdarzenia lub makra.
Odpowiadanie na zdarzenie Click za pomoc膮 procedury zdarzenia
Gdy u偶ytkownik tworzy procedur臋 zdarzenia dla obiektu, program Microsoft Access dodaje szablon procedury zdarzenia okre艣lony dla danego zdarzenia i obiektu do modu艂u formularza lub modu艂u raportu. Wszystko, co musi zrobi膰 u偶ytkownik, to doda膰 kod odpowiadaj膮cy w okre艣lony spos贸b, gdy dane zdarzenie wyst臋puje dla formularza lub raportu.
Odpowiadanie na zdarzenie „Przy klikni臋ciu” (Click) za pomoc膮 makra
Aby w odpowiedzi na zdarzenie uruchamiane by艂o makro, nale偶y otworzy膰 arkusz w艂a艣ciwo艣ci dla formularza, raportu lub formantu, znale藕膰 w艂a艣ciwo艣膰 odpowiadaj膮c膮 zdarzeniu i ustawi膰 j膮 na makro, kt贸re ma by膰 uruchamiane.
Podstawowe poj臋cia
rekord
Zbi贸r danych o osobie, miejscu, zdarzeniu lub dowolnym innym elemencie. W widoku "Arkusz danych" tabeli, kwerendy lub formularza rekord jest reprezentowany jako wiersz.
pole (kolumna)
Element tabeli, w kt贸rym jest zapisana okre艣lona informacja, na przyk艂ad nazwisko. Pole jest reprezentowane przez kolumn臋 lub kom贸rk臋 w arkuszu danych. W formularzu, do wy艣wietlania danych z pola mo偶na u偶y膰 formantu, na przyk艂ad pola tekstowego.
pole obliczeniowe
Pole zdefiniowane w kwerendzie, kt贸re s艂u偶y do wy艣wietlania wyniku pewnego wyra偶enia, a nie do przechowywania danych. Warto艣膰 w polu jest obliczana za ka偶dym razem, gdy warto艣ci w wyra偶eniu ulegn膮 zmianie. Formant obliczeniowy jest formantem w formularzu lub raporcie, kt贸ry r贸wnie偶 s艂u偶y do wy艣wietlania wyniku wyra偶enia, a nie do przechowywania danych.
formant
Obiekt graficzny, taki jak pole tekstowe, pole wyboru, przycisk polecenia lub prostok膮t, kt贸ry mo偶na umie艣ci膰 na formularzu lub raporcie w widoku "Projekt" w celu wy艣wietlenia danych, wykonania akcji lub w celu u艂atwienia korzystania z formularza lub raportu.
klucz podstawowy (g艂贸wny) tabeli
Jedno lub wi臋cej p贸l, kt贸rych warto艣ci jednoznacznie identyfikuj膮 ka偶dy rekord w tabeli. Klucz podstawowy jest u偶ywany w relacji do odwo艂ywania si臋 do okre艣lonych rekord贸w w jednej tabeli z innej tabeli. Klucz podstawowy jest nazywany kluczem obcym, gdy wyst臋puj膮 odwo艂ania do tego klucza z innej tabeli.
klucz obcy
Jedno lub wi臋cej p贸l tabeli, kt贸re odwo艂uj膮 si臋 do pola klucza podstawowego lub p贸l w innej tabeli. Klucz obcy wskazuje spos贸b, w jaki tabele s膮 powi膮zane - dane w polach klucza obcego i klucza podstawowego musz膮 by膰 zgodne. Na przyk艂ad tabela "Produkty" w przyk艂adowej bazie danych Northwind zawiera klucz obcy "IDdostawcy", kt贸ry odwo艂uje si臋 do klucza podstawowego "IDdostawcy" tabeli "Dostawcy". Dzi臋ki tej relacji w tabeli "Produkty" dla ka偶dego produktu jest wy艣wietlana nazwa dostawcy z tabeli "Dostawcy".
indeks
Funkcja programu Microsoft Access przyspieszaj膮ca przeszukiwanie i sortowanie tabeli. Klucz podstawowy tabeli jest indeksowany automatycznie. Pola, kt贸rych dane s膮 typu Memo, Hiper艂膮cze lub Obiekt OLE, nie mog膮 by膰 indeksowane.
relacja
Zwi膮zek ustanowiony mi臋dzy wsp贸lnymi polami (kolumnami) w dw贸ch tabelach. W艣r贸d relacji mo偶na wyr贸偶ni膰 relacje typu jeden-do-jednego, jeden-do-wielu oraz wiele-do-wielu.
fokus
Mo偶liwo艣膰 przyjmowania informacji wej艣ciowych ustawiana za po艣rednictwem myszy, klawiatury lub metody SetFocus. Tylko jeden element mo偶e w danej chwili mie膰 fokus. Na przyk艂ad, wprowadzany tekst pojawi si臋 w polu tekstowym tylko wtedy, gdy pole tekstowe ma fokus.
filtr
Zestaw kryteri贸w stosowanych do rekord贸w w celu ich posortowania lub pokazania pewnego podzbioru rekord贸w. W programie Microsoft Access wyst臋puj膮 cztery typy filtr贸w: Filtruj wed艂ug wyboru, Filtruj wed艂ug formularza i Zaawansowany filtr/ sortowanie i Filtruj dla wyra偶enia.
Bazy danych: czym s膮 i jak dzia艂aj膮
Baza danych jest zbiorem informacji zwi膮zanych z pewnym tematem lub zadaniem - na przyk艂ad analiz膮 zam贸wie艅 klient贸w lub ewidencj膮 kolekcji nagra艅. Je艣li baza danych nie jest przechowywana na komputerze lub te偶 na komputerze s膮 przechowywane tylko jej pewne cz臋艣ci, to trzeba po艣wi臋ci膰 du偶o pracy na organizowanie i koordynowanie informacji pochodz膮cych z bardzo r贸偶nych 藕r贸de艂.
Za pomoc膮 programu Microsoft Access mo偶na zarz膮dza膰 wszystkimi niezb臋dnymi informacjami u偶ywaj膮c jednego pliku bazy danych. W takim pliku dane mo偶na dzieli膰 na odr臋bne cz臋艣ci zwane tabelami. Za pomoc膮 formularzy elektronicznych mo偶na ogl膮da膰, dodawa膰 i aktualizowa膰 dane w tabelach; za pomoc膮 kwerend mo偶na znajdowa膰 i pobiera膰 tylko te dane, kt贸re s膮 rzeczywi艣cie aktualnie niezb臋dne; za pomoc膮 raport贸w mo偶na analizowa膰 i drukowa膰 dane w okre艣lonym uk艂adzie.
Najlepiej jest przechowywa膰 dane tworz膮c po jednej tabeli dla ka偶dego typu informacji, kt贸re maj膮 by膰 analizowane. Dane z r贸偶nych tabel mo偶na p贸藕niej 艂膮czy膰 razem w kwerendach, formularzach lub raportach - nale偶y w tym celu zdefiniowa膰 relacje mi臋dzy tabelami.
Je艣li chcesz znale藕膰 i pobra膰 tylko te dane, kt贸re spe艂niaj膮 pewne warunki, utw贸rz kwerend臋. Kwerenda mo偶e obejmowa膰 dane pochodz膮ce z r贸偶nych tabel, mo偶e aktualizowa膰 lub usuwa膰 wiele rekord贸w jednocze艣nie, pozwala tak偶e na wykonywanie oblicze艅 na danych, przy czym obliczenia te mog膮 by膰 zar贸wno wbudowane (istniej膮ce od razu w programie), jak i niestandardowe (definiowane przez u偶ytkownika).
Je艣li chcesz 艂atwo wy艣wietla膰, wprowadza膰 lub zmienia膰 dane w tabelach, utw贸rz formularz. Przy otwieraniu formularza, program Microsoft Access pobiera dane z jednej lub wi臋cej tabel i wy艣wietla je na ekranie. Uk艂ad danych na ekranie mo偶esz zar贸wno wybra膰 z Kreatora formularzy, jak i zdefiniowa膰 samodzielnie od pocz膮tku.
Je艣li chcesz analizowa膰 swoje dane lub zaprezentowa膰 je w postaci drukowanej, utw贸rz raport. Mo偶esz na przyk艂ad wydrukowa膰 raport grupuj膮cy dane i obliczaj膮cy podsumowania, a nast臋pnie inny raport, zawieraj膮cy dane wykorzystywane w nag艂贸wkach korespondencji.
Tabele
Tabela jest zbiorem danych dotycz膮cych okre艣lonego tematu, jak produkty i dostawcy. U偶ywanie oddzielnych tabel dla ka偶dego tematu eliminuje duplikowanie danych (redundancj臋) co czyni przechowywanie danych bardziej efektywnym i eliminuje b艂臋dy wprowadzania danych. Tabele organizuj膮 dane w kolumnach (zwanych polami) i w wierszach (zwanych rekordami).
W widoku "Arkusz danych" mo偶na dodawa膰, edytowa膰 lub wy艣wietla膰 dane znajduj膮ce si臋 w tabeli. Mo偶na tak偶e sprawdza膰 pisowni臋, drukowa膰 dane tabeli, filtrowa膰 lub sortowa膰 rekordy, zmienia膰 wygl膮d arkusza danych oraz zmienia膰 struktur臋 tabeli dodaj膮c lub usuwaj膮c kolumny.
W widoku "Projekt" mo偶na tworzy膰 ca艂膮 tabel臋 od pocz膮tku, a tak偶e dodawa膰, usuwa膰 i zmienia膰 pola istniej膮cej tabeli.
Kwerendy
Istot膮 baz danych jest stworzenie mo偶liwo艣ci efektywnego wyszukiwania informacji. Do tego celu s艂u偶膮 kwerendy (ang. query), s膮 one obok tabel zawieraj膮cych dane podstawowymi obiektami definiuj膮cymi schematy wyszukiwania po偶膮danej informacji. W MS Access istniej膮 dwa j臋zyki definiowania kwerend, j臋zyk SQL (ang. Structured Query Language) oraz j臋zyk QBE (ang. Query By Example).
Kwerendy pozwalaj膮 odpowiedzie膰 na pytania na temat danych w celu uzyskania okre艣lonych informacji z tabel i r贸偶norodnego zmieniania wybranych tabel. W艂a艣ciwie mo偶liwo艣ci przeprowadzania zapyta艅 s膮 g艂贸wnym powodem pos艂ugiwania si臋 aplikacjami zarz膮dzaj膮cymi baz膮 danych. Zapytania umo偶liwiaj膮 ogl膮danie danych we w艂a艣ciwej kolejno艣ci. Umo偶liwiaj膮 r贸wnie偶 przeprowadzanie oblicze艅 na podstawie zebranych danych w celu tworzenia 藕r贸d艂a danych dla formularzy, raport贸w i innych kwerend i aby wprowadzi膰 zmiany globalne w tabelach i tworzy膰 nowe tabele. Przy uruchamianiu wi臋kszo艣ci kwerend lub stosowaniu filtr贸w, Access zbiera w zestawieniu dane, o kt贸re pytamy. Chocia偶 to zestawienie wygl膮da i dzia艂a jak tabela, jest teraz dynamicznym, "偶ywym" widokiem jednej lub wi臋cej tabel.
Najcz臋艣ciej spotykanym rodzajem kwerendy jest kwerenda wybieraj膮ca. Pobiera ona dane z jednej lub wi臋cej tabel, u偶ywaj膮c podanych kryteri贸w, a nast臋pnie wy艣wietla wybrane dane w 偶膮danym porz膮dku.
Kwerend臋 mo偶na utworzy膰 u偶ywaj膮c kreatora lub korzystaj膮c ze szkicu w widoku Projekt kwerendy. W widoku Projekt, przez dodanie tabel zawieraj膮cych dane, okre艣la si臋 z jakimi danymi chcemy pracowa膰 i wype艂nia siatk臋 projektu.
Formularze
Formularzy mo偶na u偶ywa膰 w wielu zastosowaniach: do wprowadzania danych do tabeli, do otwierania innych formularzy i raport贸w, do tworzenia okienek dialogowych i in. Wi臋kszo艣膰 informacji zawartych w formularzu pochodzi z odpowiedniego 藕r贸d艂a rekord贸w. Pozosta艂e informacje s膮 przechowywane w projekcie formularza.
Po艂膮czenie mi臋dzy formularzem i jego 藕r贸d艂em rekord贸w jest realizowane za pomoc膮 obiekt贸w graficznych zwanych formantami. Najcz臋艣ciej spotykanym typem formantu, stosowanym do wy艣wietlania i wprowadzania danych, jest pole tekstowe.
Raporty
Raport jest wygodnym sposobem prezentacji danych w postaci wydrukowanej. U偶ytkownik ma pe艂n膮 kontrol臋 nad rozmiarem i wygl膮dem wszystkich element贸w raportu, dzi臋ki czemu mo偶e wy艣wietla膰 dane w 偶膮dany spos贸b.
Wi臋kszo艣膰 informacji zawartych w raporcie pochodzi z odpowiedniego 藕r贸d艂a rekord贸w: tabeli, kwerendy lub wyra偶enia SQL. Pozosta艂e informacje s膮 przechowywane w projekcie raportu.
U偶ywaj膮c graficznych obiekt贸w zwanych formantami tworzymy 艂膮cze mi臋dzy raportem a jego 藕r贸d艂em danych. Formanty mog膮 by膰 polami tekstowymi, kt贸re wy艣wietlaj膮 nazwy i numery, etykietami, kt贸re wy艣wietlaj膮 tytu艂y i liniami, kt贸re graficznie organizuj膮 dane i powoduj膮, 偶e raport staje si臋 bardziej atrakcyjny wizualnie.
Makra
Makro jest akcj膮 lub zestawem akcji, z kt贸rych ka偶da wykonuje okre艣lon膮 operacj臋, tak膮 jak otwarcie formularza lub wydrukowanie raportu. Makra pomagaj膮 zautomatyzowa膰 cz臋sto wykonywane zadania. Mo偶na na przyk艂ad uruchamia膰 makro drukuj膮ce raport, gdy u偶ytkownik klika przycisk polecenia.
Makro mo偶e by膰 jednym makrem z艂o偶onym z sekwencji akcji lub mo偶e by膰 grup膮 makr. Mo偶na r贸wnie偶 u偶y膰 wyra偶enia warunkowego, aby okre艣li膰, czy w pewnych sytuacjach akcja b臋dzie wykonywana podczas wykonywania makra.
Sekwencja makr
Poni偶sze makro sk艂ada si臋 z serii akcji. Program Microsoft Access wykonuje te akcje za ka偶dym razem, gdy wykonywane jest makro. Aby uruchomi膰 to makro nale偶y si臋 odwo艂a膰 do nazwy makra „Przegl膮dProdukt贸w”.
Grupa makr
Maj膮c wiele makr, pogrupowanie powi膮zanych ze sob膮 makr w grupy makr mo偶e pom贸c w zarz膮dzaniu baz膮 danych. Aby wy艣wietli膰 nazwy makr dla grupy makr, nale偶y klikn膮膰 polecenie Nazwy makr w menu Widok okna "Makro".
Na przyk艂ad, poni偶sza grupa makr o nazwie „Przyciski” sk艂ada si臋 z trzech powi膮zanych ze sob膮 makr: „Pracownicy”, „Produkty” i "Reps". Ka偶de z makr wykonuje akcj臋 Otw贸rzFormularz (OpenForm), a makro „Produkty” wykonuje dodatkowo akcj臋 RuchRozmiar (MoveSize).
Nazwa w kolumnie Nazwa makra identyfikuje ka偶de makro. Gdy makro jest wykonywane w grupie makr, program Microsoft Access wykonuje odpowiadaj膮c膮 temu makru akcj臋 z kolumny akcji, a nast臋pnie kolejne akcje, dla kt贸rych kolumna Nazwa makra jest pusta.
Aby uruchomi膰 makro z grupy makr, nale偶y poda膰 nazw臋 grupy i po kropce nazw臋 makra. Aby odwo艂a膰 si臋 do makra „Pracownicy” z grupy makr „Przyciski” z poprzedniego przyk艂adu, nale偶y wpisa膰 Przyciski.Pracownicy
Akcje warunkowe
Aby wy艣wietli膰 kolumn臋 Warunek, nale偶y klikn膮膰 polecenie Warunki z menu Widok w oknie "Makro". Poni偶sze makro uruchamia akcje OknoKomunikatu (MsgBox) i ZatrzymajMakro (StopMacro) tylko wtedy, gdy warunek z kolumny Warunek jest prawdziwy (gdy warto艣ci膮 w polu „IDdostawcy” jest Null).
Modu艂y
Modu艂 jest zbiorem deklaracji i procedur j臋zyka Visual Basic for Applications przechowywanych razem jako jedna ca艂o艣膰.
Istniej膮 dwa podstawowe typy modu艂贸w: modu艂y klasy i modu艂y standardowe. Ka偶da procedura w module mo偶e by膰 procedur膮 typu Function lub procedur膮 typu Sub.
Modu艂y klasy
Modu艂y formularza i modu艂y raportu s膮 modu艂ami klasy zwi膮zanymi z okre艣lonym formularzem lub raportem. Modu艂y formularza i raportu cz臋sto zawieraj膮 procedury zdarze艅, kt贸re s膮 uruchamiane w odpowiedzi na zdarzenie formularza lub raportu. Procedur zdarze艅 mo偶na u偶ywa膰 do sterowania dzia艂aniem formularzy i raport贸w oraz ich odpowiedziami na akcje u偶ytkownika, takie jak np. klikni臋cie przyciskiem myszy przycisku polecenia.
Gdy u偶ytkownik po raz pierwszy tworzy procedur臋 zdarzenia dla formularza lub raportu, program Microsoft Access automatycznie tworzy zwi膮zany z ni膮 modu艂 formularza lub raportu. Aby zobaczy膰 kod modu艂u dla formularza lub raportu, nale偶y klikn膮膰 przycisk Kod na pasku narz臋dzi w widoku "Projekt" formularza lub raportu.
Procedury w modu艂ach formularza i raportu mog膮 wywo艂ywa膰 procedury dodane do modu艂贸w standardowych.
W programie Microsoft Access 95 modu艂y klasy istniej膮 tylko w powi膮zaniu z formularzem lub raportem. W programie Microsoft Access 97 modu艂y klasy mog膮 r贸wnie偶 istnie膰 niezale偶nie od formularza lub raportu. Ten rodzaj modu艂u klasy jest wy艣wietlony na karcie Modu艂y w oknie bazy danych. Modu艂u klasy z karty Modu艂y mo偶na u偶y膰 do utworzenia definicji obiektu niestandardowego.
Modu艂y standardowe
Modu艂y standardowe zawieraj膮 og贸lne procedury, kt贸re nie s膮 zwi膮zane z 偶adnym innym obiektem, oraz cz臋sto u偶ywane procedury, kt贸re mo偶na uruchamia膰 z dowolnego miejsca w bazie danych
List臋 modu艂贸w standardowych w bazie danych mo偶na obejrze膰 klikaj膮c kart臋 Modu艂y w oknie bazy danych. Lista modu艂贸w formularzy, raport贸w oraz modu艂贸w standardowych jest r贸wnie偶 wy艣wietlana w Przegl膮darce obiekt贸w.
Typy danych w tabelach
Tekst
P贸l typu Tekst nale偶y u偶ywa膰 do przechowywania takich danych, jak nazwy czy adresy oraz danych liczbowych, na kt贸rych nie b臋d膮 dokonywane 偶adne obliczenia (na przyk艂ad numery telefon贸w, numery cz臋艣ci, czy kody pocztowe). Pole tekstowe mo偶e zawiera膰 do 255 znak贸w. Domy艣lnie pola mie艣ci 50 znak贸w. Aby umo偶liwi膰 wprowadzenie do pola wi臋kszej ilo艣ci danych, nale偶y zmieni膰 ustawienie w艂a艣ciwo艣ci Rozmiar pola.
Memo
Pola typu Memo s膮 u偶ywane do przechowywania danych d艂u偶szych ni偶 255 znak贸w. Pole Memo mo偶e zawiera膰 do 64 000 znak贸w. Pola Memo nie mog膮 by膰 indeksowane ani sortowane. Do przechowywania sformatowanych tekst贸w i d艂ugich dokument贸w, zamiast pola Memo nale偶y u偶y膰 pola OLE.
Liczba
Data/Godzina
Walutowy
Autonumer
Typ danych pola przechowuj膮cy unikatow膮 liczb臋 automatycznie przyporz膮dkowan膮 ka偶demu rekordowi w chwili jego do艂膮czenia do tabeli. Mo偶na generowa膰 trzy rodzaje liczb: kolejne (rosn膮ce o 1), losowe oraz identyfikator replikacji (u偶ywany przez Mened偶era replikacji w celu zapewnienia integralno艣ci danych w replikowanej bazie danych). Liczby generowane przez pole typu Autonumer nie mog膮 by膰 usuwane ani modyfikowane.
Tak/Nie
W艂a艣ciwo艣膰 Format mo偶na ustawi膰 na jeden z predefiniowanych format贸w: Tak/Nie, True/False lub W艂/Wy艂 lub na format niestandardowy
Obiekt OLE
U偶ywany dla obiekt贸w, takich jak np. dokumenty programu Microsoft Word i rysunki, utworzonych w innych programach przy u偶yciu protoko艂u OLE.
Hiper艂膮cze
Kolorowy i podkre艣lony tekst lub grafika, kt贸ry mo偶na klikn膮膰, aby skoczy膰 do pliku, okre艣lonego miejsca w pliku, strony HTML w sieci WWW lub strony HTML w internecie. Hiper艂膮cza mog膮 r贸wnie偶 prowadzi膰 do miejsc Gopher, Telnet, grup dyskusyjnych i FTP.
Okre艣lanie kryteri贸w wyboru:
w polu Tak/Nie mo偶na wprowadzi膰 -1, Tak, True dla warto艣ci „Tak”; 0, Nie, False dla „Nie”
Operatory s膮 dowolne. Je艣li operator zostanie pomini臋ty, przyjmowane jest, 偶e oznacza to r贸wno艣膰 (=).
Date() oznacza aktualn膮 dat臋
Now() oznacza „teraz”, czyli aktualn膮 dat臋 i godzin臋
Podstawowe kroki w projektowaniu bazy danych:
Okre艣lenie celu, kt贸remu ma s艂u偶y膰 baza danych
Pierwszym krokiem projektowania bazy danych programu Microsoft Access jest okre艣lenie celu, kt贸remu ma s艂u偶y膰 baza i sposobu jej u偶ywania. Konieczne jest okrele艣lenie 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).
Okre艣lenie tabel, kt贸re znajd膮 si臋 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. Projektuj膮c tabele nale偶y mie膰 na uwadze przedstawione poni偶ej podstawowe zasaday projektowania:
Ta sama informacja nie powinna by膰 wielokrotnie wprowadzona do jednej lub kilku tabel. Je偶eli informacja jest przechowywana tylko w jednej tabeli, mo偶na j膮 uaktualni膰 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.
Ka偶da tabela powinna zawiera膰 informacje tylko na jeden temat. Je偶eli tabela zawiera dane na temat jednego zagadnienia mo偶na przetwarza膰 je niezale偶nie od danych dotycz膮cych innych zagadnie艅. Na przyk艂ad, adresy klient贸w b臋d膮 przechowywane w innej tabeli ni偶 zam贸wienia. W ten spos贸b mo偶na usun膮膰 jakie艣 zam贸wienie, zachowuj膮c dane o kliencie.
Okre艣lenie p贸l, kt贸re znajd膮 si臋 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).
Przypisanie polom jednoznacznych warto艣ci
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.
Okre艣lenie relacji (sprz臋偶e艅) 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. Gdy si臋 to zrobi, mo偶na tworzy膰 kwerendy, formularze i raporty pozwalaj膮ce wy艣wietla膰 za jednym razem informacje z r贸偶nych tabel. Poni偶szy formularz, na przyk艂ad, zawiera informacje z pi臋ciu tabel:
Relacj臋 definiuje si臋 przez dodanie tabel, kt贸re maj膮 by膰 powi膮zane relacj膮 do okna Relacja, a nast臋pnie przeci膮gni臋cie pola kluczowego z jednej tabeli do pola kluczowego w drugiej tabeli.
Je偶eli przeci膮gnie si臋 pole, kt贸re nie jest kluczem podstawowym i nie ma indeksu unikatowego do innego pola, kt贸re r贸wnie偶 nie jest kluczem podstawowym i nie posiada indeksu unikatowego, to tworzona jest relacja nieokre艣lona. W kwerendach zawieraj膮cych tabele z nieokre艣lonymi relacjami zostanie wy艣wietlona domy艣lna linia sprz臋gaj膮ca pomi臋dzy tabelami, ale nie zostanie wymuszona integralno艣膰 referencyjna i nie b臋dzie gwarancji, 偶e rekordy w tabelach s膮 unikatowe.
Korzy艣ci wynikaj膮ce z powi膮zania relacjami tabel w bazie danych jest wiele. Porzez dopasowanie p贸l mamy du偶o szybsz膮 mo偶liwo艣膰 wydobywania informacji z bazy, a tak偶e rzadziej wyst臋puj膮 b艂臋dy podczas wprowadzania danych. Powi膮zane relacjami tabele mog膮 by膰 wykorzystane w kwerendach, formularzach i raportach. Dodanie podformularza do formularza i podraportu do raportu pozwala na zobaczenie powi膮zanej informacji w innych tabelach.
Relacja jeden-do-wielu
Relacja jeden-do-wielu jest najbardziej powszechnym typem relacji. W relacji jeden-do-wielu rekord w tabeli A mo偶e mie膰 wiele dopasowanych do niego rekord贸w z tabeli B, ale rekord w tabeli B ma tylko jeden dopasowany rekord w tabeli A.
Do stworzenia relacji mi臋dzy dwiema tabelami trzeba okre艣li膰, kt贸re pola maj膮 by膰 w nich wsp贸lne. W relacji jeden do wielu pole to, w tabeli „rodzica” jest nazywane kluczem podstawowym i musi by膰 kluczem podstawowym tabeli, albo unikalnym indeksem. Pole w tabeli „dziecka” jest nazywane kluczem obcym i nie musi zawiera膰 unikalnej warto艣ci.
Relacja jeden-do-jednego
W relacji jeden-do-jednego ka偶dy rekord w tabeli A mo偶e mie膰 tylko jeden dopasowany rekord z tabeli B, i tak samo ka偶dy rekord w tabeli B mo偶e mie膰 tylko jeden dopasowany rekord z tabeli A. Ten typ relacji spotyka si臋 rzadko, poniewa偶 wi臋kszo艣膰 informacji powi膮zanych w ten spos贸b by艂oby zawartych w jednej tabeli. Relacji jeden-do-jednego mo偶na u偶ywa膰 do podzia艂u tabeli z wieloma polami,
do odizolowania cz臋艣ci tabeli ze wzgl臋d贸w bezpiecze艅stwa, albo do przechowania informacji odnosz膮cej si臋 tylko do podzbioru tabeli g艂贸wnej. Na przyk艂ad, mo偶na by utworzy膰 tabel臋 do wyszukiwania pracownik贸w uczestnicz膮cych w rozgrywkach pi艂karskich.
W relacji jeden do jednego obydwa pola s膮 kluczami podstawowymi lub unikalnymi indeksami w swoich tabelach.
Relacja wiele-do-wielu
W relacji wiele-do-wielu, rekord w tabeli A mo偶e mie膰 wiele dopasowanych do niego rekord贸w z tabeli B i tak samo rekord w tabeli B mo偶e mie膰 wiele dopasowanych do niego rekord贸w z tabeli A. Jest to mo偶liwe tylko przez zdefiniowanie trzeciej tabeli (nazywanej tabel膮 艂膮cza), kt贸rej klucz podstawowy sk艂ada si臋 z dw贸ch p贸l 木 kluczy obcych z tabel A i B. Relacja wiele-do-wielu jest w istocie dwiema relacjami jeden-do-wielu z trzeci膮 tabel膮. Na przyk艂ad, tabele "Zam贸wienia" i "Produkty" s膮 powi膮zane relacj膮 wiele-do-wielu zdefiniowan膮 przez utworzenie dw贸ch relacji jeden-do-wielu z tabel膮 "Opisy zam贸wie艅".
Relacja wiele do wielu jest w rzeczywisto艣ci dwoma relacjami typu jeden do wielu, w kt贸rej trzecia tabela ma klucz podstawowy b臋d膮cy kombinacj膮 kluczy w obydwu tabelach
Wi臋zy integralno艣ci
Integralno艣膰 referencyjna jest zbiorem regu艂, kt贸re pr贸buj膮 utrzyma膰 kompletn膮 baz臋, bez 偶adnych 艣lepych ko艅c贸w. Nie zwi膮zane rekordy nie mog膮 istnie膰 bez rodzica. Aby Access przestrzega艂 regu艂 integralno艣ci referencyjnej dla definiowanej relacji nale偶y zaznaczy膰 pole Wymuszaj wi臋zy integralno艣ci w oknie dialogowym Edytowanie relacji.
Przy wymuszonej integralno艣ci referencyjnej w programie Microsoft Access niemo偶liwe jest: dodawanie rekord贸w do tabeli powi膮zanej, je艣li w tabeli podstawowej nie wyst臋puj膮 rekordy skojarzone, dokonywanie zmian warto艣ci w rekordach tabeli podstawowej, kt贸re mog艂yby spowodowa膰 wyst膮pienie rekord贸w osieroconych w tabeli powi膮zanej, usuwanie rekord贸w z tabeli podstawowej, je艣li w tabeli powi膮zanej wyst臋puj膮 pasuj膮ce rekordy powi膮zane.
Po zaznaczeniu opcji Wymuszaj wi臋zy integralno艣ci stan膮 si臋 dost臋pne dwie nowe opcje, kt贸re pozwalaj膮 ograniczy膰 niekt贸re restrykcje. Je艣li po zaznaczeniu tych opcji (Kaskadowo aktualizuj pola pokrewne i Kaskadowo usu艅 rekordy pokrewne) skasujemy rekord z tabeli rodzica lub zmienimy jedn膮 z warto艣ci klucza podstawowego, Access automatycznie wykona zmian臋 w tabeli dziecka, aby zachowa膰 integralno艣膰 referencyjn膮.
Brak symboli na ko艅cach linii relacji wskazuje, 偶e nie jest przestrzegana integralno艣膰 referencyjna. Aby j膮 doda膰, trzeba zmodyfikowa膰 relacj臋 w okienku relacji. Mo偶na okre艣li膰, kt贸ra strona relacji jeden do wielu jest t膮 „jedn膮”.
Wprowadzenie danych i utworzenie innych obiekt贸w bazy danych
Kiedy oka偶e si臋, 偶e struktura tabel spe艂nia opisane powy偶ej kryteria, mo偶na wprowadzi膰 wszystkie dane do tabel i utworzy膰 dowolne kwerendy, formularze, raporty, makra i modu艂y.
Zastosowanie narz臋dzi analizy programu Microsoft Access
Program Microsoft Access jest wyposa偶ony w dwa narz臋dzia, kt贸re pomagaj膮 udoskonali膰 projekt bazy danych. Kreator analizy tabel potrafi sprawdzi膰 projekt przegl膮daj膮c jednorazowo jedn膮 tabel臋, zaproponowa膰 now膮 struktur臋 tabeli i - je艣li to ma sens - zamieni膰 tabel臋 w 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.
Integralno艣膰 danych
Stosowanie format贸w danych
Formaty liczbowe (numeryczne) definiowane przez u偶ytkownika:
Dost臋pne formaty daty i godziny:
Symbole pozwalaj膮ce zdefiniowa膰 dowolny format wy艣wietlania daty i godziny:
Stosowanie masek wprowadzania
W艂a艣ciwo艣膰 InputMask (MaskaWprowadzania) s艂u偶y do u艂atwiania wprowadzania danych oraz do sterowania warto艣ciami, jakie u偶ytkownicy mog膮 wpisywa膰 do formant贸w typu pole tekstowe. Mo偶na na przyk艂ad utworzy膰 mask臋 wprowadzania dla pola “Numer telefonu”, w kt贸rym b臋dzie dok艂adnie pokazane, w jaki spos贸b nowy numer ma zosta膰 wprowadzony: (___) ___-____.
Tworz膮c mask臋 wprowadzania mo偶na za pomoc膮 znak贸w specjalnych zdecydowa膰, 偶e pewne znaki b臋d膮 wymagane (na przyk艂ad numer telefonu), podczas gdy inne b臋d膮 opcjonalne (na przyk艂ad numer kierunkowy). Znaki te okre艣laj膮, jaki typ znaku (cyfr臋 czy liter臋) trzeba wprowadzi膰 w miejsce ka偶dego znaku w masce wprowadzania.
Uwaga: Ustawienie w艂a艣ciwo艣ci InputMask na warto艣膰 "Has艂o" tworzy formant do wprowadzania has艂a. Dowolny znak wprowadzony do formantu b臋dzie zapisywany jako znak, lecz wy艣wietlany w postaci gwiazdki (*). Maski “Has艂o” mo偶na u偶ywa膰, aby uniemo偶liwi膰 wy艣wietlanie wprowadzanych znak贸w na ekranie.
Wyb贸r mi臋dzy formatem wy艣wietlania, a mask膮 wprowadzania
W programie Microsoft Access u偶ytkownik ma do dyspozycji dwie w艂a艣ciwo艣ci, kt贸re daj膮 podobny efekt: w艂a艣ciwo艣膰 Format i w艂a艣ciwo艣膰 MaskaWprowadzania.
W艂a艣ciwo艣膰 Format s艂u偶y do wy艣wietlania danych w jednolitym formacie. Na przyk艂ad, je艣li w艂a艣ciwo艣膰 Format dla pola "Data/Godzina" zostanie ustalona jako Data 艣rednia, w贸wczas wszystkie wprowadzane daty b臋d膮 wy艣wietlane w tym formacie: 12-I-96. Je艣li u偶ytkownik bazy danych wprowadzi dat臋 w postaci 01/12/96 (lub w innym poprawnym formacie), to program Microsoft Access przekszta艂ci wy艣wietlon膮 dat臋 do formatu Data 艣rednia podczas zapami臋tywania rekordu.
W艂a艣ciwo艣膰 Format wp艂ywa tylko na spos贸b wy艣wietlania warto艣ci, a nie na to, jak jest ona zapami臋tana w tabeli.
Je艣li wymagana jest kontrola danych podczas ich wprowadzania, nale偶y wykorzysta膰 mask臋 wprowadzania zamiast, lub jednocze艣nie z formatem wy艣wietlania danych. Je艣li dane maj膮 by膰 wy艣wietlane w postaci dok艂adnie takiej, jak podczas wprowadzania, nie nale偶y ustawia膰 w艂a艣ciwo艣ci Format.
Predefiniowane formaty wy艣wietlania s膮 dost臋pne dla p贸l typu "Liczba", "Walutowy", "Data/Godzina", "Autonumer" i "Tak/Nie"; a formaty tych p贸l mo偶na te偶 dostosowa膰. Nie s膮 okre艣lone formaty predefiniowane dla p贸l typu "Tekst", "Memo', czy "Hiper艂膮cze", ale dla p贸l tych mo偶na zdefiniowa膰 formaty niestandardowe. Nie mo偶na natomiast zdefiniowa膰 formatu wy艣wietlania dla p贸l typu "Obiekt OLE".
Zastosowanie maski wprowadzania zapewnia, 偶e dane b臋d膮 zgodne ze zdefiniowanym formatem; mo偶na ponadto zdefiniowa膰 typ warto艣ci, kt贸ra ma by膰 wprowadzona w ka偶de z pustych miejsc. Na przyk艂ad, przedstawiona powy偶ej maska wprowadzania wymaga, aby wszystkie dane zawiera艂y dok艂adnie tyle cyfr, ile potrzeba do zapisania numeru telefonu wraz z numerem kierunkowym, oraz aby w ka偶de z pustych miejsc zosta艂a wpisana cyfra.
Uwaga: W przypadku zdefiniowania dla danego pola zar贸wno formatu wy艣wietlania, jak i maski wprowadzania, program Microsoft Access odwo艂uje si臋 do maski w przypadku dodawania lub edycji danych, za艣 w艂a艣ciwo艣膰 Format okre艣la spos贸b wy艣wietlania danych po zapami臋taniu rekordu. Stosuj膮c jednocze艣nie w艂a艣ciwo艣ci Format i MaskaWprowadzania nale偶y sprawdzi膰, czy wyniki ich dzia艂ania nie b臋d膮 sprzeczne.