SYSTEMY ZARZĄDZANIA BAZĄ DANYCH: DBASE, ACCESS, SQL


  1. Wstęp: Pojęcie bazy danych
  2. Systemy zarządzania bazami danych
  3. Przetwarzanie i udostepnianie danych w komputerowych bazach danych: baza jednostanowiskowa,
    baza ze współdzieleniem plików, baza typu klient serwer
  4. Modele baz danych: baza hierarchiczna i baza sieciowa, baza obiektowa, baza kartotekowa, baza relacyjna.
  5. Wybrane zagadnienia relacyjnych baz danych:

Wstęp - pojęcie bazy danych:

Systemy baz danych są jednym z najważniejszych zastosowań komputerów.
Najogólniej mówiąc przez bazę danych rozumiemy uporządkowany zbiór danych przechowywany w urządzeniach pamieciowych systemu komputerowego.
System zarządzania bazą danych jest programem zarządzajacym dostepem do bazy danych.
Baza danych jest to uporządkowany zbiór danych z pewnej dziedziny tematycznej, zorganizowany w sposób ułatwiajacy dostęp do danych i operowanie nimi wg określonych kryteriów.
Baza danych jest abstrakcyjnym, informatycznycm odzwierciedleniem wybranego fragmentu rzeczywistosci, zwanego miniświatem
Bazą danych moze być np. zbiór danych o uczniach i ich ocenach czy kartoteka pacjentów.

Każda baza danych posiada
Projektanci baz danych definiują strukturę baz danych i przygotowuja programy - aplikacje BD.
Baza danych musi być wypełniona danymi a następnio przetworzona.


SYSTEM ZARZĄDZANIA BAZĄ DANYCH - SZBD - DBMS - Data Base Management System.


Najpopularniejszą obecnie formą organizowania danych są komputerowe bazy danych.
Komputerowe bazy danych i systemy zarządzania nimi w postaci rozbudowanych nieraz aplikacji zastąpiły tradycyjne metody przechowywania danych w wielu dziedzinach życia.
Usprawniły działanie firm i instytucji, umożliwiajac szybki dostęp do informacji.
Komputerowe BD różnią sie pod względem sposobu przetwarzania i udostępniania danych oraz sposobu ich organizowania w bazie.

SZBD jest oprogramowaniem ogólnego przeznaczenia ułatwiajacym procesy definiowania, konstruowania i przetwarzania baz danych dla różnych aplikacji:
System bazy danych składa się z  bazy danych i systemu zarządzania bazą danych


Kazda baza danych umożliwia jednoczesną pracę wielu użytkowników.
Oznacza to, że w danej chwili współbieżnie jest przetwarzanych wiele informacji.
Użytkownicy powinni mieć wrazenie, ze system jest im dedykowany.
Wymaga to spccjalnych technik zarządzania transakcjami - moduł zarządzania transakcjami
Baza danych to dane i schemat.
Dane opisują cechy obiektu.
Schemat jest opisem struktury przechowywanych danych oraz powiązań wzajemnych między nimi.

Przykładowe struktura informacji dot. grup studenckich:

1) Studenci
Tabela STUDENT (Nazwisko, NrIndeksu, Rok, Kierunek)
Dane:     Nowak, 18175, I, informatyka
              Kowalik, 33573, II, telekomunikacja

2) Prowadzone wykłady
Tabela: WYKŁAD (Nazwa, Nr, Godziny, Prowadzący)
Dane:     Języki programowania, CS201, 8, Misiak
              Bazy danych, C8100, 8, Pilecki

3) Grupy studenckie
Tabela: GRUPA (NrGrupy, NrWykładu, Semestr, Rok)
Dane:     85, CS201, letni, 96
              92, CS445, zimowy, 96

4) Oceny z zaliczeń modułów dysaktycznych
Tabela: OCENY )NrIndeksu, NrGrupy, NrWykładu, Ocena)
Dane:     18175, 92, CS100, 4
              19551, 101, CS445, 5
               33573, 117, CS100, 3

                
Własności baz danych
  1. Niezależność aplikacji i danych. Dane wprowadzane bez konieczności modyfikowania aplikacji
  2. Abstrakcyjna reprezentacja danych. Przygotowanie aplikacji realizowane przy użyciu deklaratywnych jezyków programowania na wyższym poziomie niż w przypadku klasycznych jezyków programowania.
  3. Różnorodność sposobów widzenia danych. Różni użytkownicy widzą różnie te same dane - filtry, perspektywy.
  4. Fizyczna i logiczna niezależność danych - rozszerzenie systemu komputerowego nie narusza danych.w bazie danych.

Korzyści stosowana BD
Kiedy nie zaleca się stosowania BD
  1. W przypadku ograniczonych mozliwości firmy
  2. W przypadku gdy mechanizmy SZBD w zakresie współbiezności, dostępu, bezpieczeństwa itp. są nadmiarowe
  3. W przypadku przetwarzania danych przez pojedynczego użytkownika lub grupę użytkowników pracujacych w sposób ściśle skoordynowany, np. sekwencyjny.
  4. W przypadku przechowywania prostych danych o niskim stopniu powiązania oraz używania prostych programów, nie rozwijanych w przyszłosci.
  5. W przypadku istitnych ograniczeń czasowych na czas realizacji transakcji, np. czasu rzeczywistego.

PRZETWARZANIE I UDOSTĘPNIANIE DANYCH W KOMPUTEROWYCH BAZACH DANYCH

Mogą być niewielkie bazy danych, np. baza znajomych, z której korzysta jedynie właściciel albo np. baza danych w banku, do której jest konieczny dostęp z wielu stanowisk.

Baza danych może pracować jako
Baza jednostanowiskowa - baza jak i system zarządzania BD są zainstalowane tylko na jednym komputerze.
Dlatego do bazy danych w danym momencie ma tylko jeden uprawniony użytkownik. W bazach tego typu nie występuje problem równoczesnego dostępu.

Baza ze współdzieleniem plików
Rozwiązanie to zapewnia równoczesny dostęp do danych wielu uzytkowników.
Baza jak i SZBD są dostępne na wielu komputerach.
Modyfikacja danych z poziomu jednego komputera jest automatycznie uwzgędniana na innych stanowiskach komputerowych mających dostęp do bazy.
W bazach tego typu współdzielone są jedynie pliki danych, ale przetwarzanie danych odbywa się na każdym komputerze oddzielnie.

Baza typu Klient - Serwer
System klient-serwer praktykowany jest w dużych bazach, do których konieczny jest równoczesny dostęp z wielu stanowisk.
W takim systemie baza danych i SZBD znajduje się na specjalnym komputerze zwanym serwerem bazy danych.
Serwer BD odpowiada za zarządzanie danymi, przetwarzanie danych i udostępnianie.
Z serwerem sa połaczone przez sieć komputery użytkowników, zwane klientami.
Komputer klient wysyła odpowiednie zapytania lub polecenia do serwera bazy danych, ten przetwarza dane a wynik wysyła do komputera - klienta.
W systemie klient-serwer pracuje większość baz danych w systemie sieci Intranet i  Internet.

MODELE BAZ DANYCH

Bazy danych mogą róznić się sposobem, w jaki dane są zorganizowane i powiazane ze sobą.
Pzrez model danych rozumiemy zbiór pojęć stosowanych do opisu struktury bazy danych.

Struktura BD obejmuje:
Wśród modeli danych mozna wyróżnić następujące kategorie:
Z modeli implementacyjnych modele  hierarchiczne i sieciowe są już prawie nie stosowane w praktyce.
Model relacyjny dominuje w komercyjnych bazach danych. Przykładem jest relacyjny model w bazie danych Oracle.

Baza hierarchiczna
W modelu hierarchicznym baza ma strukturę drzewiastą, z jednym punktem początkowym i wieloma rozgałęzieniami, podobną do struktury drzewa, folderów na dysku komputera czy drzewa genealogicznego.
Zbiór nadrzędny nazywamy rodzicem zawiera podzbiory zwane potomkami.

Przykład:

Odmiana bazy hierarchicznej jest baza sieciowa.

Baza sieciowa
W odróżnieniu od hierarchicznej, w bazie sieciowej dowolny zbiór danych może być powiązany z każdym innym.


Baza kartotekowa
Nazywana również bazą 2-wymiarową. Bazy takie skłądają się tylko z jednej tabeli, w której zgromadzone są wszystkie dane.
Kazdy rekord takiej bazy mozna przedstawić w postaci pojedynczej karty.
Przykład: zestaw kart katalogowych ksiazek w bibliotece lub kart pacjentów.
Kartotekowa baza danych oparta jest o 1 plik danych.


Baza obiektowa
Bazy opierające się na modelu obiektowym łączą cechy programów komputerowych tworzonych za pomocą nowoczesnych języków programowania obiektowego z cechami aplikacji bazodanowych.
Aplikacje bazodanowe bazują na obiektach (zbiorach połączonych danych i procedur umożliwiajacych manipulowanie tymi danymi) i tzw. klasach obiektów.

Bazy relacyjne
Prawie najpopularniejsza grupa baz danych.
Dane przechowywane w wielu tabelach, pomiędzy tabelami tworzone są specjalne powiązania zwane relacjami.


Ogólne zagadnienia relayjnych baz danych

Relacyjna baza danych oparta jest zwykle o kilka tablic danych, które powiązane są ze sobą przez pole o wspólnej nazwie.
Przykładem moze być baza hurtowni, zawierająca dane o klientach, towarach i wystawionych faktuirach.
Wszystkie te tabele pozwalają na wprowadzanie danych, przechowywanie w pamieci masowej, sortowanie, wyszukiwanie, wydruk.

Tabele i rekordy
Dane przechowywane są w formie strukturalnej.
Każda informacja zapisywana jest w podstawowym elemencie jakim jest rekord.
Rekordy są podzielone na pola.
Kazde pola ma swoją nazwę, wielkość oraz definicję typu danych, jakie będą umieszczone.
Główne typy pól: znakowe, numeryczne, datownikowe, logiczne, notatnikowe.

Relacyjny model BD został opracowany w oparciu o dziedzinę matematyki zwanej algebrą relayjną.
Twórcą modelu był amerykański matematyk E. F. Codd.
Dane są przechowywane w strukturach zwanych tabelami. Tabele są podstawowymi obiektami BD.
Przechowują one dane wykorzystywane przez inne obiekty jak np. zapytania, formularze czy raporty.
Tabela (table) - zbiór powiązanych ze soba danych w BD, przedstawiony w postaci poziomych wierszy zwanych rekordami (krotki)
i pionowych kolumn zwanych polami rekordu.
Każde pole posiada unikatową nazwę w obrebie tabeli oraz określony typ danych, np.
Nr, Imie, Nazwisko, Data_urodz, NrTelefon

Podział danych na tabele i klucze w relacyjnych bazach danych
W modelu relacyjnym dane wewnatrz bazy są dzielone między tabele. Podział nazywamy normalizacją baz danych.
W najprostszym przypadku baza danych może sie składać tylko z jednej tabeli.
Przy złozonych danych mogą wystąpić niepoożądane zjawiska utrudniające lub uniemożliwiajace poprawne funkcjonowanie bazy.

Przykład:

Baza danych z jedną tabelą:
Imie_Ucznia Nazwisko_Ucznia Klasa ImieAutora NazwAutora Tytuł Wydawnictwo DataWypozycz DataOddania

W takiej prostej bazie danych z jedną tabelą można zauważyć zjawisko redundendancji, czyli wielokrotnego powtarzania sie pewnych danych w bazie.
Np. jeśli ten sam uczeń wypożyczy kilka ksiązek, to w każdym rekordzie pojawią się te same dane ucznia.
Gdy np. popełnimy błąd w nazwisku to musimy poprawić osobno w każdym rekordzie dot. tego ucznia.
Gdy uczeń odda wszystkie książki to usuwając rekordy tracimy dane o uczniu. Później trzeba od nowa wprowadzić.

Baza danych z wieloma tabelami.
Model tej samej BD, ale dane zostały podzielone na 3 tabele:
Uczniowie (IDUcznia, IMUcznia, NazwUcznia, Klasa)
Ksiazki (IDKsiazki, ImAutor, NazwAutor, Tytiul, Wydawn)
Wypozyczenia (IDwypoz, IDUcznia, IDKaiazki, DataWypoz, DataZwrotu)