Bazy danych odgrywają znaczącą role w codziennym życiu każdego z nas, zdajemy sobie z tego sprawę logując się do swojego konta w banku, przeglądając strony aukcyjne lub po prostu wpisując hasło w wyszukiwarce Google.
Szybkie i bezpieczne przetwarzanie oraz przechowywanie ogromnych ilości informacji jest dziś bardzo ważnym czynnikiem funkcjonowanie wielu firm, organizacji i instytucji.
Współczesne bazy danych są sumą wiedzy i technologii rozwijanych przez przez kilka ostatnich dziesięcioleci. Owocem tych prac jest przede wszystkim bardziej wyspecjalizowane oprogramowanie - systemy zarządzania bazami danych DBMS (Database Management System) czyli rozbudowane narzędzia do tworzenia zbiorów informacji i zarządzania nimi.
Główne zadania DBMS można określić następująco:
1. Zapamiętywanie danych oraz wyszukiwania ich na podstawie innych wyników
2. Oddzielenie funkcji zapamiętania i wyszukiwania od programów aplikacyjnych, co powoduje że programy stają się mniej wrażliwe na zmianę danych.
3. Umożliwienie korzystania z danych na podstawie ich logicznego opisu, system całkowicie przejmuje kontrole nad wykorzystaniem urządzeń pamięciowych dla zapisu danych,
4. Umożliwia dostęp do danych dla wielu użytkowników,
5.Sprawdzanie danych za pomocą odpowiednio zdefiniowanych procedur kontrolnych,
6. Ochrona danych.
Niestety mają one również jedną wadę - należą do najbardziej złożonych rodzajów oprogramowania.
Dostęp do baz danych powinien być zdefiniowany za pomocą języka zapytań, który jest zresztą łatwy w użyciu oraz z zastosowaniem języków programowania wysokiego poziomu.
Można wyróżnić cztery podstawowe rodzaje baz danych:
Wymieniona kolejność jest nieprzypadkowa, a mianowicie jest kolejnością chronologiczną w jakiej dane bazy powstawały.
Hierachiczne
W hierarchicznej bazie danych stosuje się struktury typu drzewa. Węzłom w
strukturze drzewa odpowiadają zbiory rekordów danych. Zbiór rekordów
poziomu wyższego jest łączony relacjami 1:m (one-to-many) ze zbiorami
poziomu niższego. Dzięki takiej budowie, wyszukiwanie określonych
elementów w bazie odbywa się stosunkowo szybko. Istotna wadą baz
hierarchicznych jest jednak redundancja danych wynikająca z faktu, że
można wykorzystywać jedynie relacje typu 1:m. Duże kłopoty sprawia
również zmiana struktury istniejącej bazy.
Sieciowe
Sieciowa baza danych jest rozwinięciem bazy hierarchicznej przez dodanie
możliwości zapisu relacji m:m (many-to-many). Tak więc w bazie
sieciowej poza relacjami hierarchicznymi występują dodatkowe połączenia,
umożliwiające uzyskanie dostępu do danego rekordu bez potrzeby
każdorazowego przechodzenia przez strukturę drzewa. Wprowadzone zmiany
spowodowały zmniejszenia redundancji danych przez dodatkowe możliwości
powiązania danych, które już istnieją, ale nie wyeliminowały trudności
związane ze zmianą struktury bazy istniejącej.
Relacyjne
Obecnie najczęściej stosowanymi bazami są bazy relacyjne, Pakiet programów służących zarządzaniu relacyjnymi bazami danych jest nazywany RDBMS (ang. Relational Database Management System). Bazy te realizują z powodzeniem wszystkie funkcje związane z zarządzaniem informacją opisową.
W relacyjnej bazie danych wykorzystywana jest struktura tablicy. W skład bazy wchodzi jedna lub więcej powiązanych ze sobą tablic. Każda kolumna tablicy zawiera elementy tego samego typu, ma swoją nazwę i jest przez nią identyfikowana. Zbiór wartości jakie mogą występować w danej kolumnie nazywa się jej dziedziną. Wiersz tablicy, nazywany rekordem , identyfikowany jest za
pośrednictwem wartości zapisanych w nim elementów. Funkcję
klucza, jednoznacznie określającego poszczególne wiersze, może spełniać
pojedyncza kolumna lub też kilka odpowiednio wybranych kolumn.W relacyjnej bazie typowym językiem zapytań jest SQL.
Wyszukiwanie w więcej niż jednej tablicy dokonywane jest z wykorzystaniem wspólnych wartości tego samego typu atrybutów
Obiektowe
Obiektowe bazy danych rozwinęły się wraz z rozwojem i rozpowszechnieniem
programowania zorientowanego obiektowo. Cechą charakterystyczną
obiektowych baz danych jest to, że przechowują obiekty o dowolnych
strukturach wraz z przywiązanymi do nich metodami . Dzięki
takiemu rozwiązaniu bazy takie mają znaczną przewagę nad innymi
rodzajami baz kiedy zachodzi konieczność przechowywania bardzo złożonych
struktur. Znaczącą wadą baz obiektowych w chwili obecnej jest problem z
realizacją zapytań.
(Powyższe fragmenty tekstu są zaczerpnięte z wykładu dr inż. Waldemara Izdebskiego)
Żeby ułatwić osobom, które interesują się bazami danych oraz studentom, którzy mają przedmiot na wykładach. W związku z tym trzech znanych naukowców z dziedziny IT z Uniwersytetu Stanforda- Hector Garcia-Molina, Jeffrey D. Ullman i Jennifer Widom
- postanowiło stworzyć pierwszy kompletny podręcznik, wprowadzający do systemów baz danych.
Zawiera on opis wszystkich najnowszych standardów bazy danych SQL 1999, SQL/PSM, SQL/CLI, JDBC, ODL oraz XML i to w większym zakresie niż w większości publikacji.
Podręcznik został przygotowany w taki sposób aby po przeczytaniu książki przez użytkownika projektowanie czy użytkowanie bazy danych nie stanowiło dla czytelnika żadnego problemu.
Mogę z czystym sumieniem polecić tą książkę.
"Systemy baz danych" - Hector Garcia-Molina, Jeffrey D. Ullman i Jennifer Widom
Książkę można znaleźć tutaj:
LINK