środa, 29 października 2014

Systemy baz danych...

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:

  • hierarchiczne
  • sieciowe
  • relacyjne
  • obiektywne
 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

Brak komentarzy:

Prześlij komentarz