DOSTRAJANIE BAZY DANYCH
OPCJA AUTOSTART (Tools -> Startup)
1. Tytuł aplikacji - na pasku tytułowym (zamiast Microsoft Access).
2. Ikona aplikacji - związanie ikony z bazą danych (wyświetlane razem z tytułem aplikacji).
3. Pasek menu - zmiana globalnego paska menu.
4. Specjalne sekwencje klawiszy:
- F11 - wyświetl okno bazy danych;
- CRTL+F11 - wyświetl standardowy pasek menu;
- CTRL+BREAK - wstrzymaj wykonywanie kodu i wyświetl bieżący moduł.
SHIFT - przy otwieraniu bazy danych wyłącza opcje AutoStart.
Opcje Microsoft Access (Tools -> Options)
Przyśpieszanie aplikacji bazodanowej
1. Ulepszenie parametrów komputera (np. rozmiar pamięci RAM).
2. Optymalizacja ustawień systemu Windows (np. wielkość pamięci wirtualnej).
3. Optymalizacja ustawień systemu bazodanowego (MS Access).
4. Otwieranie jednostanowiskowych baz danych w trybie wyłącznym.
5. Instalowanie jednostanowiskowych baz danych na dysku lokalnym.
6. Sprowadzenie bazy danych do III-postaci normalnej (bez redundancji).
7. Założenie indeksów na polach według których odbywa się wyszukiwanie i sortowanie.
8. Zastosowanie Analizatora wydajności bazy danych do wskazania (i ewentualnie poprawienia) zauważonych potencjalnych usterek (np. nie skompilowany kod, nie połączone tabele, pożądany indeks): Narzędzia -> Analizuj -> Wydajność (Performance);
9. Zastosowanie Analizatora tabel bazy danych do wskazania czy dane w tabelach nie powtarzają się tj. czy są w III-ciej postaci normalnej i ewentualnie dokonanie podziału tabeli na dwie tabele: Narzędzia -> Analizuj -> Tabela (Table).
10. Przekształcenie pliku bazy danych do formatu .MDE: wszystkie moduły zostają skompilowane, baza danych zostaje skompaktyfikowana, następuje optymalizacja wykorzystania pamięci i działania aplikacji bazy danych, niepotrzebne części (jak kod źródłowy) zostają usunięte. Przekształcenie to odbywa się przy zamkniętej bazie danych (Narzędzia -> Narzędzia bazy danych -> Utwórz plik MDE – Make MDE File). W bazie danej zapisanej jako plik MDE nie można dokonywać zmian w projekcie formularzy, raportów, ani modułów. Jeśli konieczne są zmiany w projekcie tych obiektów, należy wprowadzić je w pierwotnej bazie danych (a więc jest potrzebne zrobienie kopii przed konwersją), a następnie ponownie ją zapisać jako plik MDE.
11. Ograniczaj użycie dużych obiektów jak tapety, obiekty OLE (jeśli można dokonuj konwersji na rysunki), elementy graficzne.
12. Do wprowadzania danych otwieraj formularz w trybie wprowadzania danych.
13. Używaj pomocniczych tabel do zapisywania wielokrotnie obliczanych danych - w tym jeśli można, źródeł rekordów dla formularzy i raportów.
14. Używaj kwerend, które można optymalizować (chodzi o to, aby poprzez indeksy, sortowanie i ograniczanie rozważanych danych do małego podzbioru umożliwić szybkie wykonanie kwerendy - w czasie liniowym lub prawie liniowym). Do wyświetlania załączaj tylko istotne kolumny (pomijaj kolumny używane tylko w warunkach).
15. Dokonuj regularnie defragmentacji (kompaktyfikacji) twardego dysku i bazy danych. Po wielokrotnym usunięciu obiektów baza danych może ulec fragmentacji, rozdrobnieniu, wykorzystując w sposób nie optymalny miejsce na dysku. Defragmentacja bazy danych polega na skopiowaniu jej wraz z uporządkowaniem zapisu na dysku:
Narzędzia -> Narzędzia bazy danych -> Kompaktuj i napraw bazę danych (Compact and Repair Database)
16. Jeśli to możliwe, używaj tabel importowanych zamiast dołączonych.
17. Jako źródło wierszy dla list używaj kwerend zamiast instrukcji SELECT.
18. Utworzoną aplikację Microsoft Office można przekształcić w wersję dystrybucyjną, przy której użytkownik nie potrzebuje programu Microsoft Access. Dokonuje się tego przy użyciu oprogramowania o nazwie Microsoft Office 2000 Developer.
ADMINISTROWANIE BAZĄ DANYCH
Kopia zapasowa i odtwarzanie po awarii
Plik z bazą danych może ulec uszkodzeniu np. w wyniku awarii dysku lub wyłączenia komputera, gdy otwarta jest baza danych Accessa. Najprościej, pod systemem operacyjnym skopiować pliki bazy danych (.mdb ewentualnie .mde, .mda, zarejestrowane biblioteki) i grupy roboczej (.mdw - przy instalacji Accessa system.mdw) i umieścić na innym nośniku - zapamiętując oryginalne miejsca tych plików w systemie plików. Po awarii dysku należy odtworzyć zachowane pliki w ich oryginalnych miejscach.
Defragmentacja (kompaktyfikacja) bazy danych i naprawa uszkodzonej bazy danych
1. W wyniku usuwania obiektów bazy danych, alokowana pamięć może ulec podzieleniu na dużą liczbę małych fragmentów.
2. W pewnych sytuacjach plik z bazą danych może ulec uszkodzeniu (np. przy wyłączeniu komputera bez zamknięcia bazy danych). Przy ponownym włączeniu Accessa, program pyta się czy przeprowadzić automatycznie próbę naprawy uszkodzonej bazy danych. W pewnych sytuacjach Access może nie wykryć uszkodzenia i wtedy należy samemu zainicjować próbę naprawy bazy danych:
Narzędzia -> Narzędzia bazy danych -> Kompaktuj i napraw bazę danych (Compact and Repair Database )
Konwersja bazy danych z wcześniejszej wersji
Accessa
Narzędzia -> Narzędzia bazy danych -> Konwertuj bazę danych (Convert Database)
Szyfrowanie i odszyfrowanie pliku bazy danych
Zaszyfrowanie uniemożliwia odczytanie danych z pliku bazy danych poza programem Access. Sam program Access może działać dla zaszyfrowanej bazy danych (10-15% wolniej). Baza danych powinna być zamknięta.
Narzędzia -> Zabezpieczenia -> Zaszyfruj/Odszyfruj bazę danych (Encypt/Decrypt Database)
Dokumentacja bazy danych
Narzędzia -> Analizuj -> Dokumentator (Documentator)
raport dotyczący wybranych obiektów bazy danych na drukarkę, do pliku tekstowego lub tabeli w Accessie.
Narzędzia -> Opcje -> Widok: włączyć Obiekty systemowe
umożliwia dostęp do systemowych tabel przechowujących informacje o bazie danych nazywanych słownikiem danych (metadanymi)
Replikacja bazy danych
W środowisku rozproszonym:
1. Część danych wspólna - mało zmieniająca się - replikowana do poszczególnych węzłów sieci; część danych - lokalna dla konkretnego węzła - nie używana poza nim.
2. Przybliżenie danych do końcowego użytkownika - ułatwienie dostępu przy dużej liczbie transakcji/zapytań w sieci.
3. Możliwość używania "tej samej" bazy danych w różnych oddziałach firmy w sytuacji braku połączenia w sieci.
4. Możliwość utworzenia repliki bazy danych do wykonania pracochłonnych raportów/kopii zapasowych bazy danych blokujących normalną pracę z bazą danych.
Replikacje są niewskazane, gdy:
1. Gdy dane muszą być zawsze aktualne.
2. Gdy na replikach jest wykonywane dużo transakcji.
Model:
baza danych - wzorzec synchronizowana ze zbiorem baz danych - replik.
W replikach nie można zmieniać struktury obiektów bazy danych (ale można tworzyć i zmieniać lokalne obiekty replik).
Z bazy danych - wzorzec wywołaj:
Narzędzia -> Replikacja -> Utwórz replikę (Create Replica)
Aby zsynchronizować replikę ze wzorcem, wywołaj z repliki:
Narzędzia -> Replikacja -> Synchronizuj (Synchronize Now)
W przypadku konfliktów, należy ręcznie rozwiązać kolizje - dokonując kolejno wyboru jednego z dwóch rekordów pozostających w kolizji (we wzorcu i replice).
Rozmiar replikowanej bazy danych istotnie się zwiększa i działa ona istotnie wolniej.
Praca w sieci - model klient-serwer
1. Zmniejszenie obciążenia sieci.
2. Łatwiejsze zarządzanie rozdzielonymi bazami danych (administrator danymi, użytkownik swoją częścią aplikacji - może ją zmieniać).
Dwa pliki .mdb:
Albo ręczne zbudowanie tabel w jednym pliku .mdb i przyłączenie ich do aplikacji albo zbudowanie wszystkich obiektów w jednym pliku .mdb i wykonanie:
Narzędzia -> Dodatki -> Rozdzielacz bazy danych (Database Splitter)
Można też tabele i kwerendy przekazać do serwera bazy danych – SQL Server:
Narzędzia -> Narzędzia bazy danych -> Kreator rozbudowy (Upsizing Wizard)
Interfejs użytkownika zawierający
formularze, raporty i moduły pozostaje w bazie danych Accessa natomiast
odpowiedzialność za utrzymywanie danych przejmuje serwer bazy danych. Limit w Accessie dane – 2GB; na SQLServerze – 2TeraB.
Mówimy wówczas o projekcie Microsoft Access (zamiast bazie danych Microsoft
Access).
Blokowanie danych
1. Tryb współdzielenia/wyłącznego użytkowania bazy danych przez wielu użytkowników
Narzędzia -> Opcje -> Zaawansowane: Domyślny tryb otwierania:
Wyłączność powinna być zarezerwowana dla czynności administracyjnych (jak np. szyfrowanie, defragmentacja).
2. Właściwość Blokowanie rekordów (formularze, raporty, kwerendy funkcjonalne) - opcje:
Zabezpieczanie bazy danych
W Accessie bazę danych można zabezpieczyć na dwa sposoby:
Dodatkowo,
Ustalenie hasła
Narzędzia -> Zabezpieczenia -> Ustaw hasło bazy danych (Set Database Password)
Hasło do otwarcia bazy danych jest najprostszym sposobem jej zabezpieczenia. Po ustaleniu hasła, przy każdym otwarciu bazy danych pojawia się okno dialogowe z pytaniem o hasło. Metoda ta jest pewna (hasło jest szyfrowane i nie można go odczytać czytając bezpośrednio plik bazy danych), lecz ogranicza się tylko do otwierania bazy danych. Zadawalające rozwiązanie dla bazy danych używanej wspólnie przez małą grupę użytkowników.
Nie należy zabezpieczać hasłem bazy danych, która będzie replikowana, ponieważ uniemożliwi to synchronizację replik.
Zabezpieczenia na poziomie użytkownika
Przy zabezpieczeniu na poziomie użytkownika podczas uruchamiania programu każdy użytkownik loguje się podając swój identyfikator i hasło. Istnieją dwie grupy domyślne: Administratorzy i Użytkownicy. Można zdefiniować również inne.
Użytkownikom udziela się uprawnień regulujących dostęp do operacji i do obiektów bazy danych. Na przykład, członkowie grupy Użytkownicy mogą oglądać, wstawiać i modyfikować dane w tabeli Klienci, ale nie mogą zmieniać jej projektu. Można im zezwolić tylko na oglądanie danych w tabeli zamówień i pozbawić ich całkowicie dostępu do tabeli Wypłaty. Członkowie grupy Administratorzy mają pełny dostęp do wszystkich obiektów bazy danych. Można utworzyć własny system kontroli dostępu do obiektów bazy danych, tworząc własne konta grupowe z odpowiednimi uprawnieniami, a następnie dodając do nich użytkowników.
Tworzenie kont użytkowników i kont grupowych oraz przyznawanie uprawnień
Założenie konta lub grupy:
Narzędzia -> Zabezpieczenia -> Konta użytkowników i grup (User and group accounts)
Po określeniu hasła dla konta Admin Access będzie wymagał od użytkowników podawania identyfikatora i hasła.
Określenie uprawnień użytkowników/grup do obiektów bazy danych:
Narzędzia -> Zabezpieczenia -> Uprawnienia użytkowników i grup (User and Group Permissions)
Aby uprościć zarządzanie uprawnieniami, zaleca się przypisywanie uprawnień tylko grupom (a nie użytkownikom) i dodawanie użytkowników do odpowiednich grup.
Użytkownicy, grupy i uprawnienia w SQL
Zakładanie grup i użytkowników oraz przyznawanie im uprawnień może być zrealizowane za pomocą instrukcji SQL:
CREATE GROUP grupa id_grupy;
CREATE USER użytkownik hasło id_użytkownika;
ADD USER użytkownik TO grupa;
GRANT uprawnienie ON TABLE tabela TO [grupa|użytkownik];
gdzie uprawnienie to: SELECT, INSERT, UPDATE, DELETE, itd.
Można też odwoływać przyznane uprawnienia:
REVOKE uprawnienie ON TABLE tabela FROM [grupa|użytkownik];
Tworzenie nowej grupy roboczej
Grupa robocza jest grupą użytkowników w środowisku współbieżnym, którzy współużywają dane. Przy stosowaniu zabezpieczeń na poziomie użytkownika członkowie grupy roboczej są zapisani w postaci kont użytkowników i grup przechowywanych w tzw. pliku informacyjnym grupy roboczej. Hasła są także przechowywane w pliku informacyjnym. Natomiast uprawnienia są przechowywane w bazie danych. Podczas instalacji Accessa tworzona jest automatycznie domyślna grupa robocza identyfikowana przez domyślny plik informacyjny grupy roboczej - system.mdw.
Używając programu Wrkgadm.exe (administratora grupy roboczej) można: