Baza
danych to zbiór informacji zapisanych w ściśle określony sposób w strukturach
odpowiadających założonemu modelowi danych. W potocznym ujęciu obejmuje dane
oraz program komputerowy wyspecjalizowany do gromadzenia i przetwarzania tych
danych. Program taki (często zestaw programów) nazywany jest „Systemem
zarządzania bazą danych” (ang.Data Base Management System, DBMS). Inaczej, baza
danych oznacza zbiór danych, opisujący pewien wybrany fragment rzeczywistości.
Przykładowo bazą danych może być zbiór danych banku na temat klientów, ich
rachunków, operacji na rachunkach, udzielanych kredytach.
System Zarządzania
Bazą Danych (SZBD) to oprogramowanie, którego podstawowym zadaniem jest kontrola
organizacji, przechowywania i zarządzania danymi zgromadzonymi w bazie danych. Pozwala
to na:
- łatwy dostęp do danych (dane są zorganizowane w struktury
- jednoczesny dostęp do danych przez wielu użytkowników (architektura klient-serwer, transakcje)
- zmianę istniejących danych (dodawanie, usuwanie, edycja)
- kontrolę dostępu do danych (autoryzacja, ograniczenie dostępu)
- bezpieczeństwo danych (archiwizacja, logowanie)
Każdy system
zarządzania bazą danych można podzielić na trzy podstawowe elementy:
język modelowania, strukturę danych, język zapytań do bazy danych oraz
mechanizm transakcji.
Język modelowania
opisuje schemat komunikacji dla wszystkich baz związanych z danym SZBD. Obecnie
najbardziej popularny jest model relacyjny, w którym dane przechowywane są w
tabelach składających się z wierszy i kolumn. Innymi typami modeli są:
model powiązań, hierarchiczny oraz obiektowy. Jeden system zarządzania
bazą danych może obsługiwać jeden bądź wiele modeli.
Struktura danych
określa sposób przechowywania danych (kolumn, wierszy, plików, obiektów) w
systemie.
Język zapytań do
bazy danych umożliwia interakcję z bazą danych, analizę i zmianę
istniejących danych. Obecnie najbardziej popularnym językiem zapytań jest
SQL obsługiwany przez większość popularnych systemów zarządzania bazą
danych.
Mechanizm
transakcji zapewnia integralność danych w warunkach jednoczesnej pracy
wielu użytkowników oraz w przypadku zaistniałych błędów, np. przerwania
połączenia z bazą.
- Kartotekowe - W bazach kartotekowych każda tablica danych jest samodzielnym dokumentem i nie może współpracować z innymi tablicami. Z baz tego typu korzystają liczne programy typu: książka telefoniczna, książka kucharska, spisy książek, kaset i inne. Wspólną cechą tych baz jest ich zastosowanie w jednym wybranym celu.
- Bazy Relatywne – w tym typie wiele tablic danych może współpracować ze sobą (są między sobą powiązane). Bazy relacyjne posiadają wewnętrzne języki programowania, wykorzystujące zwykle SQL do operowania na danych, za pomocą których tworzone są 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 pochodzą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 algebrę relacji, 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” (ang. primary key) tabeli.
- Rekord - w bazie danych jest konstrukcją analogiczną do rekordu w języku programowania. Posiada strukturę wewnętrzną — podział na pola o określonym typie. Rekordem może być wiersz pliku tekstowego, a pola mogą być określone poprzez pozycję w wierszu lub oddzielane separatorami. W relacyjnych bazach danych rekord to jeden wiersz w tabeli, czyli jedna krótka w relacji. Podczas przetwarzania wyników zapytań do bazy danych, które mogą zawierać połączone dane z kilku tabel, pojedynczy wiersz również jest nazywany rekordem. W niektórych językach (np. Pascal) można definiować interfejsy do operowania na plikach na poziomie rekordów; wtedy cały plik jest traktowany jak zbiór rekordów, a czytanie i pisanie realizowane jest całymi rekordami.
- Pole rekordu – jest to najmniejsza część wyżej opisanego rekordu, która przechowuje jedną daną.
- Klucze - Zadaniem klucza podstawowego jest zapewnienie unikalności, zapewnienie że kolumny klucza nie zawierają wartości pustych, możliwości identyfikacji rekordu w bazie danych, jak i szybszego wyszukania interesującego nas rekordu.
- Kwerendy stanowią podstawowe narzędzie baz danych, które może spełniać wiele różnych funkcji. Najczęściej są one używane do pobierania określonych danych z tabel. Często dane, które mają być pobrane, znajdują się w kilku tabelach — kwerendy pozwalają przeglądać takie dane w jednym arkuszu danych. Poza tym nie zawsze jest konieczne wyświetlanie wszystkich rekordów, dlatego przy użyciu kwerend można określać odpowiednie kryteria „filtrowania” danych, aby uzyskać dostęp tylko do potrzebnych rekordów. Kolejnym zastosowaniem kwerend jest dostarczanie danych dla formularzy i raportów. Niektóre kwerendy umożliwiają edytowanie danych w tabelach źródłowych za pomocą arkusza danych kwerendy. W przypadku używania kwerend aktualizujących należy pamiętać, że zmiany zostaną wprowadzone w tabelach, a nie tylko w arkuszu danych kwerendy. Istnieją dwa podstawowe typy kwerend: kwerendy wybierające i kwerendy funkcjonalne. Kwerenda wybierająca pobiera dane i udostępnia je. Można wyświetlić wyniki takiej kwerendy na ekranie, wydrukować je lub skopiować do schowka. Wyniki kwerendy mogą też posłużyć jako źródło rekordów dla formularza lub raportu. Kwerenda funkcjonalna, jak wskazuje jej nazwa, służy do wykonywania zadań związanych z danymi. Kwerendy funkcjonalne umożliwiają tworzenie nowych tabel, dodawanie danych do istniejących tabel oraz aktualizowanie i usuwanie danych.
- Formularz - Formularze są też określane jako „ekrany wprowadzania danych”. Stanowią one interfejs do pracy z danymi i często zawierają przyciski umożliwiające wykonywanie różnych poleceń. Można utworzyć bazę danych bez korzystania z formularzy, edytując dane w arkuszach danych tabel. Większość użytkowników baz danych woli jednak używać formularzy do przeglądania, wprowadzania i edytowania danych przechowywanych w tabelach. Formularze usprawniają pracę z danymi, udostępniając łatwy w użyciu interfejs, a także umożliwiając dodawanie elementów funkcjonalnych, takich jak przyciski poleceń. Po odpowiednim zaprogramowaniu przyciski umożliwiają określanie danych wyświetlanych w formularzu, otwieranie innych formularzy lub raportów oraz wykonywanie wielu innych zadań. Przykładem może być formularz o nazwie „Formularz klienta” służący do pracy z danymi klienta. Taki formularz może zawierać przycisk otwierający formularz zamówienia, który pozwala wprowadzić nowe zamówienie dla danego klienta. Dzięki formularzom można określać sposoby interakcji użytkowników z danymi zawartymi w bazie danych. Można na przykład utworzyć formularz wyświetlający tylko wybrane pola i udostępniający tylko określone operacje. Ułatwia to ochronę i poprawne wprowadzanie danych.
- Raporty służą do podsumowywania i wyświetlania danych zawartych w tabelach. Zazwyczaj raport umożliwia odpowiedź na określone pytanie dotyczące danych, na przykład „Ile pieniędzy otrzymaliśmy od poszczególnych klientów w tym roku?” lub „W jakich miastach mają swoje siedziby nasi klienci?” Każdy raport można sformatować w sposób zwiększający czytelność danych. Raport można uruchomić w dowolnym momencie, przy czym zawsze będzie on odzwierciedlał bieżące dane znajdujące się w bazie danych. Raporty są zazwyczaj formatowane z myślą o ich drukowaniu, ale można też wyświetlać je na ekranie, eksportować do innych programów lub wysyłać jako wiadomości e-mail.