Bazy danych - zagadnienia
1. Pojęcia: baza danych, system do zarządzania bazami danych
Baza danych to kolekcja danych umieszczonych w określony sposób w strukturach odpowiadająca założonemu modelowi danych. W potocznym ujęciu obejmuje dane oraz program komputerowy wyspecjalizowany do gromadzenia i przetwarzania tych danych. Program taki (lub zestaw programów) nazywany jest "Systemem zarządzania bazą danych" - ang. DataBase Management System (DBMS). Należy pamiętać, że w ścisłej nomenklaturze przez bazę danych rozumiemy zbiór danych, który zarządzany jest przez system DBMS.
Bazy danych operują głównie na danych tekstowych i liczbowych, lecz większość współczesnych baz umożliwia przechowywanie danych binarnych typu: grafika, muzyka itp.
2. Relacyjność bazy danych - co to oznacza, podstawowe cechy relacyjności
Wiele tablic danych może współpracować ze sobą (są ze sobą powiązane). Bazy relacyjne posiadają wewnętrzne języki programowania, wykorzystujące zwykle SQL do operowania na danych, za pomocą których możemy tworzyć zaawansowane funkcje obsługi danych. Relacyjne bazy danych (jak również przeznaczony dla nich standard SQL) oparte są na kilku prostych zasadach:
Wszystkie wartości danych oparte są na prostych typach danych.
Wszystkie dane w bazie relacyjnej przedstawiane są w formie dwuwymiarowych tabel (w matematycznym żargonie noszących nazwę "relacji"). Każda tabela zawiera zero lub więcej wierszy (w tymże żargonie - "krotki") i jedną lub więcej kolumn ("atrybutów"). Na każdy wiersz składają się jednakowo ułożone kolumny wypełnione wartościami, które z kolei w każdym wierszu mogą być inne.
Po wprowadzeniu danych do bazy, możliwe jest porównywanie wartości z różnych kolumn, zazwyczaj również z różnych tabel, i scalanie wierszy, gdy pochodące z nich wartości są zgodne. Umożliwia to wiązanie danych i wykonywanie stosunkowo złożonych operacji w granicach całej bazy danych.
Wszystkie operacje wykonywane są w oparciu o logikę, bez względu na położenie wiersza tabeli. Nie można więc zapytać o wiersze, gdzie (x=3) bez wiersza pierwszego, trzeciego i piątego. Wiersze w relacyjnej bazie danych przechowywane są w porządku zupełnie dowolnym - nie musi on odzwierciedlać ani kolejności ich wprowadzania, ani kolejności ich przechowywania.
Z braku możliwości identyfikacji wiersza przez jego pozycję pojawia się potrzeba obecności jednej lub więcej kolumn niepowtarzalnych w granicach całej tabeli, pozwalających odnaleźć konkretny wiersz. Kolumny te określa się jako "klucz podstawowy" (primary key) tabeli.
3. Relacje pomiędzy tabelami: rodzaje, sposób konstruowania, klucz podstawowy, klucz obcy, przykładowe konstrukcje, wymuszanie więzów integralności na relacjach
Relacje są wykorzystywane do pobierania danych z wielu tabel i umieszczanie ich w jednym formularzu, raporcie lub kwerendzie. Po utworzeniu tabel zostały one połączone relacjami jak widać na poniższym zrzucie.
Tabela jest zbiorem danych dotyczących określonego tematu ,jak produkty i dostawcy. Używanie oddzielnych tabel dla każdego tematu eliminuje duplikowanie danych co czyni przechowywanie danych bardziej efektywnym i eliminuje błędy wprowadzania danych. Tabele organizują dane w kolumnach (zwanych polami) i w wierszach (zwanych rekordami).
Kwerend można używać do wyświetlania, zmiany i analizy danych. Można ich też używać jako źródła rekordów dla formularzy i raportów. 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.
Formularze można używać w wielu zastosowaniach. Większość informacji zawartych pochodzi z odpowiedniego źródła rekordów. Pozostałe informacje przechowywane są w projekcie formularza.
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.
Klucz podstawowy - jest to pole tabeli identyfikujące jednoznacznie
dany rekord. Innymi słowy, każde pole w kolumnie klucza podstawowego ma
inną niepowtarzalną wartość.
4. Co to jest normalizacja bazy, reguły normalizacji.
Normalizacja baz danych jest to proces mający na celu eliminacje powtarzających się danych w relacyjnej bazie danych. Główna idea polega na trzymaniu danych w jednym miejscu, a w razie potrzeby linkowania do danych. Taki sposób tworzenia bazy danych zwiększa bezpieczeństwo danych i zmniejsza ryzyko powstania niespójności (w szczególności problemów anomalii).
Istnieją sposoby ustalenia czy dany schemat bazy danych jest "znormalizowany", a jeżeli jest to jak bardzo. Sposoby te nazywane są postaciami normalnymi (ang. normal forms lub NF ). Normalizacja bazy danych do konkretnej postaci moze wymagać rozbicia dużych tabel na mniejsze i przy każdym wykonywaniu zapytania do bazy danych ponownego ich łączenia. Zmniejsza to wydajność, więc w niektórych przypadkach świadoma denormalizacja (stan bez normalizacji) jest lepsza - zwłaszcza w systemach nie korzystających z modelu relacyjnego (np. OLAP).
Normalizacja nie usuwa danych, tylko zmienia schemat bazy danych. Normalizacja przeprowadza bazę danych z jednego stanu spójnego (przed normalizacją) w inny stan spójny (po normalizacji). Jedyna różnica polega na innym układzie danych i relacji pomiędzy nimi, ale bez utraty danych (ewentualnie dodawane są nowe klucze główne).
5. Systemy zarządzania bazą danych, przykładowe systemy zarządzania bazą danych.
System Zarządzania Bazą Danych, SZBD (ang. Data Base Management System, DBMS) nazywany też serwerem baz danych lub systemem baz danych, SBD to oprogramowanie bądź system informatyczny służący do zarządzania komputerowymi bazami danych. Systemy baz danych mogą być sieciowymi serwerami baz danych lub udostępniać bazę danych lokalnie.
Niezbędne mechanizmy:
środki do gromadzenia, utrzymywania i administrowania trwałymi i masowymi zbiorami danych,
środki zapewniające spójność i bezpieczeństwo danych,
sprawny dostęp do danych (zwykle poprzez język zapytań, np. SQL),
środki programistyczne służące do aktualizacji/przetwarzania danych (API dla popularnych języków programowania),
jednoczesny dostęp do danych dla wielu użytkowników (z reguły realizowany poprzez transakcje),
środki pozwalające na regulację dostępu do danych (autoryzację),
środki pozwalające na odtworzenie zawartości bazy danych po awarii,
środki do zarządzania katalogami, schematami i innymi metadanymi,
środki optymalizujące zajętość pamięci oraz czas dostępu (np. indeksy),
środki do pracy lub współdziałania w środowiskach rozproszonych.
Większość obecnie spotykanych systemów działa w trybie klient-serwer, gdzie baza danych jest udostępniana klientom przez SZBD będący serwerem. Serwer baz danych może udostępniać dane klientom bezpośrednio lub przez inny serwer pośredniczący (np. serwer WWW lub aplikacji).
Systemy bazy danych w architekturze klient-serwer to m.in.:
DB2
Informix Dynamic Server
Firebird
Microsoft SQL Server
MySQL
Oracle
PostgreSQL
Czasem jednak stosowanie serwera nie jest konieczne. Istnieją bazy danych, które nie muszą być współdzielone przez wielu użytkowników w tym samym czasie. Do takich zastosowań używane są bezserwerowe bazy danych takie jak:
Access korzystająca z silnika Microsoft Jet
Kexi korzystająca z silnika SQLite
6. Charakterystyka Accessa - obiekty, przeznaczenie obiektów
Access jest systemem zarządzania bazami danych, działającym w środowisku WINDOWS. Dzięki specyficznej organizacji bazy danych w postaci jednego pliku o rozszerzeniu .mdb Access oferuje znacznie bogatsze konwencje dotyczące nazewnictwa obiektów bazy danych niż systemy, w których pojedynczym obiektom odpowiadają osobne pliki. Został on pomyślany tak, aby pomagać w zbieraniu, odzyskiwaniu i prezentowaniu danych.
Access oferuje użytkownikom sześć zasadniczych rodzajów obiektów przeznaczonych do budowy systemu bazy danych. Są to tabele, zapytania, formularze, raporty, makropolecenia i moduły. Każdemu z tych elementów można nadać nazwę składającą się maksymalnie z 64 znaków. Dozwolone są przy tym wszystkie znaki alfanumeryczne (litery i cyfry), spacje i znaki specjalne.
1. Projektowanie bazy danych
Przy pierwszym uruchomieniu okno Accessa nie wygląda zbyt imponująco. Pasek menu zawiera tylko dwie pozycje: Plik i Pomoc. Pasek narzędzi zawiera szereg przycisków, z których dostępne są na razie: Nowa baza danych, Otwórz bazę danych, Sufler i Pomoc.
Access oferuje cały zestaw pasków narzędzi, które są wyświetlane stosownie do wykonywanych przez nas czynności. Jedną z ciekawych cech paska narzędziowego jest jego mobilność. Można go przeciągnąć myszką w dowolne miejsce i tak zmienić rozmiar okienka, w którym wyświetlane są przyciski, by uzyskać największy komfort pracy.
2. Tabela w Accessie
Definiowanie tabeli w Accessie jest rzeczą łatwą, wystarczy bowiem w oknie bazy danych kliknąć zakładkę Tabela, a następnie przycisk Nowy. Access wyświetli wtedy pole dialogowe z dwoma przyciskami: Kreatory tabel i Nowa tabela. Pierwszy z nich uruchamia jednego z wielu „pomocników” - podprogramów, których zadaniem jest automatyczne tworzenie obiektów bazy danych według życzeń użytkownika.
3. Projektowanie zapytań
Projektowanie zapytań odbywa się w oknie projektu zapytania. Aby je otworzyć należy:
- w oknie bazy danych kliknąć zakładkę Zapytanie, a następnie przycisk Nowy
- wybrać polecenie Plik | Nowy | Zapytanie
- kliknąć znajdujący się na pasku narzędziowym przycisk nowego zapytania.
W każdym przypadku pojawi się pole dialogowe z dwoma przyciskami: Kreatory zapytań i Nowe zapytanie. Tylko wybór tego drugiego spowoduje otworzenie okna projektu zapytania. Pierwszy uruchomi procedurę automatycznego tworzenia zapytań, czyli jednego z asystentów.
4. Projektowanie formularzy
Aby zbudować nowy formularz na „fundamencie” wybranej tabeli należy wyróżnić jej nazwę w oknie bazy danych i kliknąć przycisk nowego formularza na pasku narzędziowym. Spowoduje to pojawienie się pola dialogowego Nowy formularz, w którym znajduje się lista wszystkich tabel i zapytań Wybierz z nazwą wskazaną w oknie bazy danych oraz dwa duże przyciski: Kreatory formularzy i Pusty formularz. Wybierając jeden z nich decydujemy się na skorzystanie z pomocy Accessa lub na budowę formularza od początku.
5. Projektowanie raportów
Aby utworzyć raport należy wyróżnić jego nazwę w oknie bazy danych i nacisnąć przycisk nowego raportu na pasku narzędzi lub użyć polecenia Plik | Nowy | Raport. O ile rozwijana lista w polu dialogowym Nowy raport zawiera nazwę właściwego zapytania, klękamy przycisk Kreator raportów. Pierwszy krok to wybór jednego z kilku dostępnych rodzajów raportów: Jednokolumnowego, Grupy podsumowania, Wydruku seryjnego S Ford, Podsumowania lub Tabelarycznego.
6. Makropolecenia
Makropolecenia w Accessie to procedury, które można uruchomić i, których działanie powoduje wykonanie jednej lub kilku predefiniowanych czynności, zwanych także akcjami. Każde makropolecenie to po prostu lista czynności wraz z ich argumentami i ewentualnymi warunkami, decydującymi o tym, czy dana czynność jest wykonywana czy nie.
Na pojedyncze makropolecenie może składać się nie więcej niż 999 osobnych czynności. Wyrażenie warunkowe musi dać się zapisać za pomocą maksymalnie 255 znaków. Z tylu też znaków może składać się komentarz, opisujący pojedynczą czynność w makropoleceniu. Liczba ta jest także górną granicą długości pojedynczego argumentu czynności.
Najważniejsze z zastosowań makropoleceń:
- zmiana położenia i rozmiaru dowolnego okna w granicach przestrzeni roboczej okna Accessa, zmiana okna aktywnego, zmiana obiektu aktywnego
- wykonanie dowolnego polecenia z dowolnego menu dostępnego w Accessie
- stworzenie indywidualnego paska menu wraz z poleceniami dla dowolnego formularza
- obsługa systemowych pól dialogowych, emulacja działań z użyciem klawiatury
- wyświetlanie własnych pól dialogowych z komunikatami
- sprawdzanie poprawności wprowadzanych danych
- zmiana wartości danych w dowolnych detalach formularzy i niektórych detalach raportów
- zmiana wartości prawie wszystkich atrybutów formularzy, raportów, ich sekcji i znajdujących się na nich detali
- filtrowanie wierszy wyświetlanych w formularzu, dowolna zmiana wiersza bieżącego, wyszukiwanie wierszy według wyspecyfikowanych kryteriów
- otwieranie i zamykanie formularzy, drukowanie raportów, uruchamianie zapytań wyszukujących i modyfikujących, automatyczne dostarczanie danych dla zapytań z parametrem
- uruchamianie innych aplikacji, zarówno dla Windows, jak i dla DOS-u, wymiana danych pomiędzy aplikacjami, import, eksport i dołączanie tabel innych baz danych, arkuszy roboczych i plików tekstowych
- uruchamianie i zatrzymywanie makropoleceń, anulowanie zdarzenia, które uruchomiło makropoleceniem, „zamrożenie” ekranu na czas działania makropolecenia, zatrzymanie aplikacji.
7. Moduły
Moduły są to zbiory procedur i funkcji napisane w języku Access Basic.
Strona 4 z 4