Program MS Access obejmuje:
zakładanie relacyjnej bazy danych składającej się z tabel i perspektyw (kwerend);
interfejs graficzny do obiektów bazy danych;
interfejs graficzny dla aplikacji bazy danych (formularze, raporty, strony WWW);
środowisko do programowania aplikacji bazy danych (makra, język VBA Visual Basic for Applications).
Tabele w Accessie są:
strukturą logiczną przechowywania danych w bazie danych;
źródłem danych dla innych obiektów jak kwerendy, formularze i raporty;
elementem interfejsu użytkownika.
W widoku schemat tabeli (projekt tabeli) określamy kolumny (pola), z których będą się składać wiersze (rekordy).
Po
zdefiniowaniu schematu tabeli wprowadzamy
dane i wyświetlamy je w widoku “Arkusz danych”.
W widoku "Arkusz danych" można wykonywać podstawowe operacje na wierszach tabeli:
przeglądać wiersze,
wstawiać nowy wiersz,
usuwać dany wiersz,
aktualizować wartości w danym wierszu.
W
podobny sposób definiujemy tabele Pracownicy,
Sprawy i
Pisma. Zdefiniowane
obiekty są wyświetlane na liście w oknie bazy danych.
Tekst -
napisy do 255 znaków,
Memo - długie teksty (do 64000 znaków),
Liczba - bajt, liczba całkowita, liczba całkowita długa,
pojedyncza precyzja, podwójna precyzja,
Data/Godzina np. "22.06.97"
lub "22.06.97
12:12:34",
Waluta np. "200,25
zł",
Autonumer (wartości liczbowe zwiększane automatycznie dla każdego
nowego rekordu lub generowane losowo),
Tak/Nie (wartości logiczne),
Obiekt OLE - obiekt jak np. grafika, dokument Worda, arkusz Excela,
obsługiwany przez inny program systemu Windows.
Hiperłącze - adres obiektu w sieci, na przykład pliku lub strony
WWW.
Kreator odnośników
Przy określaniu typu danego pola na liście dostępnych typów jest jeszcze specjalna opcja „Kreator odnośników”.
Odnośnik określa listę wartości bądź kolumnę innej tabeli (kwerendy), z
której pobiera się wartości dla danego pola (np. wartości klucza obcego
pochodzą z kolumny klucza głównego). Pole z odnośnikiem jest wyświetlane
w postaci listy rozwijanej.
Jest możliwość wyświetlania w widoku arkusz danych tabeli nie samych wartości odnośnika, ale powiązanych z nimi wartości. Na przykład, zamiast wyświetlać identyfikatory klientów, na liście rozwijanej pojawiają się ich imiona i nazwiska.
Wartości
wyświetlane w polu Id_klienta pochodzą z tabeli
Klienci. Sam identyfikator
klienta, będący kolumną związaną z polem, nie jest wyświetlany (szerokość
odpowiadającej mu kolumny ustawiamy na 0 cm).
Pole
Klient jest typu odnośnik. Wyświetlane wartości
pochodzą z tabeli Klienci. Wartością fizycznie zapisywaną w bazie danych
jest identyfikator klienta (kolumna ukryta pola Klient).
Oprócz podania typu danych
oraz znaczenia (opisu) określa
się dodatkowe właściwości kolumny mające charakter bądź więzów spójności:
rozmiar
pola,
reguła
poprawności
np. dla zarobków >100 And
<5000 oraz dla nazwiska Like ”K???”,
wymagane
- czy wartość musi być wprowadzona (NULL nie dozwolone),
zerowa
długość?
- czy wartość może być pustym napisem (dla typu danych tekst i memo),
bądź
dostarczających dodatkowych informacji dla interfejsu użytkownika:
format
- wyświetlania na ekranie,
miejsca
dziesiętne
- przy wyświetlaniu na ekranie,
maska
wprowadzania
- wyświetlanie znaków formatujących przy wprowadzaniu wartości do pola,
tytuł
-
nazwa tego pola w formularzu lub raporcie,
komunikat
o błędzie
- gdy dane nie spełniają reguły poprawności,
indeksowane
-
czy na polu ma być założony indeks.
Więzy spójności globalne dla tabeli
Reguły poprawności dotyczące całej tabeli np. dla pól numerycznych Debet < Limit (z menu Widok -> Właściwości tabeli lub przycisk „Właściwości” na pasku narzędzi) ewentualnie z określeniem komunikatu o błędzie.
Indeks
służy
do przyśpieszenia
wyszukiwania rekordów mając dane wartości w jednym lub więcej pól
(dostęp do listy indeksów - z menu
Widok ->
Indeksy
lub przez przycisk "Indeksy" z paska narzędzi).
Zmiana schematu tabeli
Używając
tego samego interfejsu ekranowego co przy tworzeniu tabeli można dokonywać
zmian schematu tabeli:
Dodanie
nowego pola
Usunięcie
pola (trzeba je usunąć
samemu także z kwerend, formularzy i raportów).
Zmiana
nazwy pola (trzeba ją
zmienić samemu w kwerendach, formularzach i raportach).
Zmiana
typu danych z konwersją
zapisanych danych (np. zwiększenie rozmiaru, zmiana tekstu na typ Memo lub
dowolnego typu danych na typ Tekst). Gdy system nie może dokonać odpowiedniej
konwersji są dwie możliwości - nie dokonywać zmiany typu danych lub zastąpić
wartości, których nie można przekształcić, na Null.
Powiązania między tabelami
Tworząc
schemat bazy danych należy zaplanować powiązania (związki, relacje w
Accessie) między danymi zapisanymi w tabelach. Ze względu na
to, że przy projektowaniu bazy danych termin „relacja” ma znaczenie
matematycznej abstrakcji tabeli, używamy terminu powiązanie.
Cele
określania powiązania między tabelami:
Określenie
referencyjnych więzów spójności między tabelami sprawdzanymi przez
system.
Automatyczne
tworzenie warunku złączenia w kwerendzie korzystającej z powiązanych
tabel.
Synchronizacja
wyświetlania powiązanych ze sobą danych w formularzach np. dla formularza
klienta, automatyczne wyświetlanie w podformularzu złożonych przez niego
zamówień (podobnie w podraporcie).
Dla powiązanych pól muszą być spełnione następujące warunki:
Pole
(pola) w tabeli nadrzędnej muszą tworzyć klucz główny lub musi być na
nich określony jednoznaczny (unikatowy) indeks. Uwaga:W
Accessie klucz główny nazywa się kluczem
podstawowym, a klucz obcy kluczem
zewnętrznym.
Powiązane
pola muszą mieć ten sam typ danych.
Diagram powiązań między tabelami
Ramki reprezentują
tabele. Linie między tabelami reprezentują
powiązania (związki) między tabelami. Zaznaczone jest powiązanie między
pismami i sprawami oraz wyświetlone okienko właściwości tego powiązania
(okienko "Relacje").
Referencyjne więzy spójności (więzy integralności)
Przy
definiowaniu powiązania między tabelami należy wybrać opcję „Wymuszaj
więzy integralności”. Tabela występująca
w związku po stronie jeden jest nazywana w Accessie
tabelą nadrzędną, natomiast
tabela po stronie wiele tabelą podrzędną.
Gdy
do tabeli podrzędnej jest wstawiany nowy rekord z określoną wartością
klucza obcego, musi istnieć rekord w tabeli nadrzędnej z tą wartością.
Np. gdy wstawiamy spawę z identyfikatorem klienta, którego dotyczy, identyfikator ten musi już występować w tabeli
Klienci (może
to być też wartość NULL).
Z tabeli nadrzędnej nie można usunąć rekordu, jeśli w tabeli podrzędnej istnieją odpowiadające mu rekordy. Np. nie można usunąć klienta, jeśli są dotyczące go sprawy.
W
przypadku ustawienia opcji „Kaskadowe usuwanie powiązanych rekordów”
przy usuwaniu rekordu z tabeli nadrzędnej automatycznie są usuwane
wszystkie powiązane rekordy z tabeli podrzędnej.
W
przypadku ustawienia opcji „Kaskadowa aktualizacja powiązanych rekordów”
przy zmianie klucza głównego rekordu z tabeli nadrzędnej automatycznie są
aktualizowane klucze obce we wszystkich powiązanych rekordach z tabeli
podrzędnej.
Typ złączania wierszy
Przy
zapytaniach opartych na powiązaniu między tabelami istotny jest typ
złączania (sprzężenia) określający sposób złączania wierszy z obu tabel. Są trzy
typy złączeń - pierwszy z nich jest domyślny.
Uwzględnienie
tylko rekordów, dla których połączone pola z obu tabel są równe (złączenie
wewnętrzne).
Np. klienci, razem z ich sprawami, jeśli klienta nie dotyczy żadna
sprawa taki klient nie jest uwzględniany.
Uwzględnienie
wszystkich rekordów z tabeli nadrzędnej i tylko tych rekordów z tabeli
podrzędnej, dla których istnieje powiązany z nimi rekord w tabeli nadrzędnej
(lewostronne złączenie zewnętrzne). Np. obejmuje również klientów, których
nie dotyczą żadne sprawy, ale nie obejmuje spraw, które nie mają określonych
klientów.
Uwzględnienie
wszystkich rekordów z tabeli podrzędnej
i tylko tych rekordów z tabeli nadrzędnej, dla których istnieje
powiązany z nimi rekord w tabeli podrzędnej (prawostronne
złączenie zewnętrzne). Np. obejmuje również sprawy nie mające określonych
klientów (ale już nie obejmuje klientów, których nie dotyczą żadne
sprawy).