Wybrane zagadnienia relacyjnych baz danych Opracowanie: Wioleta Musiał
Formy organizowania informacji w bazach danych Baza danych to uporządkowany zbiór danych z pewnej dziedziny tematycznej, zorganizowany w sposób ułatwiający dostęp do danych i operowanie nimi według określonych kryteriów. System zarządzający danymi w bazie i umożliwiający ich przetwarzanie nazywany jest systemem zarządzania bazą danych (DBMS – Data Base Management System). Baza danych może pracować jako baza jednostanowiskowa, baza ze współdzieleniem plików i baza typu klient-serwer.
Baza jednostanowiskowa Baza jednostanowiskowa to najprostszy przypadek bazy danych. Zarówno baza, jak i system zarządzania nią są zainstalowane tylko na jednym komputerze. Dostęp do bazy w danym momencie posiada tylko jeden uprawniony użytkownik. W bazach tego typu nie występuje problem równoczesnego dostępu do danych (współdzielenia plików) przez kilku użytkowników bazy.
Baza ze współdzieleniem plików Baza ze współdzieleniem plików zapewnia równoczesny dostęp do danych wielu użytkownikom. Zarówno baza jak i system zarządzania nią jest dostępny na wielu komputerach, które pracują w sieci komputerowej. W ten sposób modyfikacja danych z poziomu jednego komputera jest automatycznie uwzględniana na innych stanowiskach komputerowych mających dostęp do tej bazy. W bazach tego typu współdzielone są jedynie pliki danych, jednak przetwarzanie samych danych odbywa się na każdym komputerze oddzielnie.
Baza typu klient-serwer Baza typu klient-serwer. W takim systemie baza danych wraz z systemem zarządzania znajduje się na specjalnym komputerze zwanym serwerem bazy danych. Odpowiada on za zarządzanie danymi, ich przetwarzanie i udostępnianie. Z serwerem komunikują się połączone w sieć komputery użytkowników zwane klientami. Komputer – klient wysyła odpowiednie zapytanie lub polecenie do serwera bazy danych, ten przetwarza dane, a wynik przetwarzania przesyła do komputera – klienta. W systemie klient-serwer pracuje większość baz danych w sieci Internet.
Bazy danych mogą różnić się między sobą sposobem, w jaki dane są zorganizowane i powiązane ze sobą. Ze względu na strukturę danych rozróżniamy bazy: kartotekowe, relacyjne, hierarchiczne, sieciowe i obiektowe.
Baza hierarchiczna i sieciowa Najstarszym modelem baz danych jest model hierarchiczny. W tym modelu baza posiada strukturę drzewiastą z jednym punktem początkowym i wieloma rozgałęzieniami, podobną np. do struktury drzewa folderów na dysku komputera. Struktura ta opiera się na modelu rodzic-potomek. Zbiór nadrzędny nazywany rodzicem posiada określoną liczbę podzbiorów nazywanych potomkami, te z kolei posiadają kolejne podzbiory. W modelu hierarchicznym zbiór nadrzędny może mieć wiele podzbiorów, jednak każdy podzbiór ma tylko jeden zbiór nadrzędny.
Baza hierarchiczna
Baza sieciowa Odmianą bazy hierarchicznej jest baza sieciowa. Baza ta posiada strukturę danych przypominającą sieć. W odróżnieniu od bazy hierarchicznej, w bazie sieciowej dowolny zbiór danych może zostać powiązany z każdym innym. Podzbiór (potomek) może być powiązany z wieloma zbiorami nadrzędnymi (rodzicami) lub z żadnym zbiorem.
Baza sieciowa
Baza obiektowa Baza obiektowa opiera się na modelu obiektowym, łączy w sobie cechy programów komputerowych tworzonych za pomocą nowoczesnych języków programowania obiektowego z cechami aplikacji bazodanowych. Operują one na obiektach (czyli zbiorach połączonych danych i procedur umożliwiających manipulowanie tymi danymi) i tzw. klasach obiektów.
Baza kartotekowa Baza kartotekowa jest również nazywana bazą dwuwymiarową. Bazy tego typu posiadają najprostszą strukturę – składają się tylko z jednej tabeli, w której zgromadzone są wszystkie dane. Nazwa „kartotekowa” wzięła się stąd, że każdy rekord takiej bazy można przedstawić w postaci pojedynczej karty, zawierającej wszystkie informacje w nim zapisane. Zastosowanie baz tego typu ogranicza się do gromadzenia małych ilości danych dotyczących jednego tematu.
Baza relacyjna Baza relacyjna to najpopularniejsza grupa baz danych. W bazach tego typu dane są przechowywane nie w jednej, lecz w wielu tabelach, przy czym każda tabela przechowuje dane na określony temat. Dodatkowo pomiędzy tabelami tworzone są specjalne powiązania zwane relacjami. Dzięki nim możliwe jest uzyskiwanie informacji z bazy na wiele sposobów, poprzez kojarzenie ze sobą danych pochodzących z różnych tabel.
Wybrane zagadnienia relacyjnych baz danych Dane w bazie danych są przechowywane w strukturach zwanych tabelami. Tabele są podstawowymi obiektami baz danych. Przechowują one dane wykorzystywane przez inne obiekty, np. zapytania, formularze czy raporty. Tabela (table) – zbiór (kolekcja) powiązanych ze sobą danych w bazie danych, przedstawiony jako układ poziomych wierszy nazywanych rekordami (krotkami) i pionowych kolumn nazywanych polami rekordu. Tabele zawierają dane różnego typu.
W modelu relacyjnym dane wewnątrz bazy są dzielone pomiędzy tabele W modelu relacyjnym dane wewnątrz bazy są dzielone pomiędzy tabele. Podział danych nazywany jest normalizacją bazy danych. W najprostszym przypadku baza danych może składać się tylko z jednej tabeli. Aby w bazie danych możliwe było szybkie wyszukiwanie i łączenie danych z tabel, każdy rekord tabeli powinien posiadać pole za pomocą, którego byłby jednoznacznie identyfikowany w bazie. Pole tego typu nazywane jest kluczem podstawowym. Klucz podstawowy tworzony jest w oparciu o niepowtarzające się dane.
Właściwe określenie klucza podstawowego pozwala uniknąć możliwości powtórzeń w tabeli bazy danych, ponieważ pole klucza podstawowego nie może przechowywać powtarzających się danych. Oprócz kluczy podstawowych w tabelach są tworzone także klucze obce. Klucz obcy to nazwa pola, które w jednej tabeli jest kluczem podstawowym, a w drugiej jest polem łączącym te tabele. W oparciu o te pola mogą być tworzone relacje pomiędzy tabelami.