Reklama
Wizyt
Dzisiaj: 43Wszystkich: 383477

Systemy baz danych

Technikum » SBD » Systemy baz danych

 

1. Definicja Systemu Zarządzania Bazą Danych.
2. Z jakich elementów składa się System Baz Danych.
3. Czym charakteryzuje się architektura klient-serwer
4. Czym charakteryzuje się architektura 3-warstwowa
5. Na czym polega trwałość bazy danych
6. Co oznacza pojęcie "integralność bazy danych"
7. Na czym polega współdzielenie danych w bazie
8. Co oznacza pojęcie "abstrakcja danych w bazie"
9. Na czym polega niezależność danych w bazie

 

 

Do obsługi baz danych tworzone są złożone systemy zawierające zbiory gotowych narzędzi zapewniających dostęp do danych. Umożliwiają one manipulowanie danymi zgromadzonymi w systemach komputerowych i aktualizowanie tych danych. Są to systemy zarządzania bazą danych, w skrócie nazywane SZBD (ang. Database Management Systems).


Do najważniejszych cech SZBD można zaliczyć:

  • operowanie na dużych i bardzo dużych zbiorach danych
  • zarządzanie złożonymi strukturami.



Architektura systemu baz danych


System zarządzania bazą danych wraz z bazami danych i językiem komunikowania się tworzą system baz danych.

 

 



Interakcja programu użytkowego (aplikacji) z bazą danych odbywa się najczęściej za pomocą języka SQL. Jest to jedyny sposób komunikowania się aplikacji z bazą danych.

Język SQL jest narzędziem dostępu do bazy danych stosowanym głównie przez projektantów aplikacji, projektantów baz danych i administratorów baz danych. Użytkownicy komunikują się z bazą danych za pomocą aplikacji i dopiero aplikacje komunikują się z bazą danych za pomocą poleceń SQL.


W praktyce stosuje się dwa sposoby komunikacji z bazą danych:

  • architektura klient-serwer
  • architektura 3-warstwowa

 

Architektura klient-serwer

W architekturze klient-serwer aplikacje zainstalowane na stacjach użytkowników komunikują się z bazą danych, wykorzystując sieciowe oprogramowanie dedykowane do komunikacji z systemem zarządzania bazą danych.

 

 

Architektura 3-warstwowa

W architekturze 3-warstwowej pomiędzy użytkownikami a serwerem bazy danych znajduje się tzw. serwer aplikacji, który udostępnia umieszczone na nim aplikacje. Jest to architektura typowa dla aplikacji WWW. Aplikacje są udostępniane przez serwer aplikacji w postaci stron internetowych. Użytkownik komunikuje się z bazą danych przez przeglądarkę stron WWW. W odpowiedzi na polecenia użytkownika serwer aplikacji wysyła odpowiednie żądania do systemu zarządzania bazą danych, który wykonuje polecenia i przesyła ich wyniki do serwera aplikacji. Serwer aplikacji przesyła te wyniki do aplikacji użytkownika.



Baza danych


Baza danych to zbiór danych z określonej dziedziny posiadający ściśle zdefiniowaną wewnętrzną strukturę. Baza danych powinna charakteryzować się następującymi cechami:

  • trwałość danych
  • integralność danych
  • bezpieczeństwo danych
  • współdzielenie danych
  • abstrakcja danych
  • niezależność danych
  • integracja danych

 

Trwałość

Trwałość danych zapisanych w bazie jest podstawową cechą baz danych. Trwałość danych oznacza, że dane zostały zapisane w bazie w sposób nieulotny. Wszystkie współczesne systemy baz danych muszą spełniać ten wymóg. Trwałość danych jest niezależna od działania aplikacji oraz od platformy sprzętowej i programowej. Dane gromadzone w bazie danych są przechowywane w pamięci zewnętrznej (dyskowej, optycznej, taśmowej). Powinny one być przechowywane w pamięci tak długo, jak długo wymagają tego użytkownicy systemu baz danych.


Integralność, czyli poprawność danych

Integralność (spójność) danych oznacza, że dane muszą:

  • wiernie odzwierciedlać dane rzeczywiste,
  • spełniać ograniczenia nałożone przez użytkowników,
  • wykazywać brak anomalii wynikających ze współbieżnego dostępu do danych.

Integralność bazy danych to także odporność na błędy i awarie wynikające z zawodności sprzętu i oprogramowania oraz odporność na błędy użytkowników.

Wyróżniamy dwa rodzaje integralności danych:

  • semantyczna — oznacza zgodność danych z rzeczywistością, czyli poprawność odwzorowania rzeczywistości;
  • bazowa — oznacza poprawność procesów zachodzących w bazie.

Na poziomie struktur bazy danych można wyróżnić następujące rodzaje integralności:

  • referencyjna — oznacza, że każdej wartości klucza obcego odpowiada dokładnie jedna wartość klucza podstawowego;
  • encji — oznacza, że każdy atrybut encji musi mieć określoną wartość;
  • atrybutu — oznacza, że wartość każdego atrybutu należy do jego dziedziny.



Bezpieczeństwo danych

Bezpieczeństwo danych oznacza, że dostęp do bazy danych mają tylko jej użytkownicy identyfikowani unikalną nazwą (loginem) i hasłem. Ponadto każdy użytkownik posiada określone uprawnienia w bazie danych. Bezpieczeństwo danych oznacza również, że baza danych jest zabezpieczona przed awarią sprzętu lub oprogramowania.



Współdzielenie danych

Współdzielenie danych oznacza, że istnieje możliwość równoczesnej pracy wielu użytkowników z tą samą bazą danych. Użytkownicy mogą też jednocześnie pracować z tym samym zbiorem danych. Skutkiem takiej pracy mogą być konflikty w dostępie do danych, gdy jeden użytkownik modyfikuje zbiór danych, a drugi próbuje ten sam zbiór odczytać lub zmodyfikować w inny sposób. W bazie danych muszą istnieć mechanizmy zapewniające poprawne rozwiązanie takich konfliktów.



Abstrakcja danych

Baza danych zawiera pewien model rzeczywistości. Ale przechowywane są w niej tylko niektóre dane o obiektach. Powinny one opisywać wyłącznie istotne aspekty obiektów świata rzeczywistego. Baza danych to abstrakcyjny model pewnego wycinka rzeczywistości, a jej struktura powinna w poprawny sposób odzwierciedlać obiekty świata rzeczywistego i powiązania pomiędzy tymi obiektami.



Niezależność danych

Niezależność danych polega na oddzieleniu danych od aplikacji, które używają tych danych. Niezależność danych może być rozpatrywana w dwóch aspektach:

  • Logiczna niezależność danych — niezależność danych widzianych przez użytkownika (przez jego aplikacje) od logicznej struktury bazy danych (schematu pojęciowego) oraz zmian tej struktury w czasie.
  • Fizyczna niezależność danych — niezależność logicznej struktury bazy danych (schematu pojęciowego) od sposobu przechowywania danych w pamięci zewnętrznej (na nośnikach zewnętrznych).

We współczesnych bazach danych niezależność danych jest osiągana tylko częściowo.



Integracja danych

Integracja danych polega na zapewnieniu współpracy danych przechowywanych w różnych miejscach i obsługiwanych przez różne systemy. Często bazy danych fizycznie są umieszczane na różnych komputerach połączonych ze sobą w taki sposób, że użytkownik nie wie, iż dane, z którymi pracuje, pochodzą z różnych baz i komputerów. Zmiany zawartości bazy na jednym komputerze powinny być uwzględniane również na innych komputerach. Tak funkcjonujące bazy nazywamy rozproszonymi bazami danych. Bazy danych powinny być zaprojektowane tak, aby dane były zawsze dostępne, niezależnie od tego, gdzie i w jakiej postaci zostały zapisane i jak są przechowywane. Serwery bazodanowe powinny zapewniać integrację rozproszonych danych znajdujących się na wielu komputerach. Mechanizmy integracyjne dostępne na nich powinny działać w czasie rzeczywistym i współpracować z różnorodnymi bazami danych.

 

System zarządzania bazą danych


System zarządzania bazą danych (ang. Database Management System — DBMS) decyduje o sposobie pobierania i przechowywania danych w relacyjnych bazach danych. Może on udostępniać bazę lokalnie na jednym komputerze (bazy jednostanowiskowe) lub może być serwerem bazy danych udostępniającym zasoby komputerom połączonym w sieć (bazy typu klient-serwer).

System zarządzania bazą danych musi posiadać mechanizmy, które pozwalają administrować zbiorami danych umieszczonymi w bazie, zapewniają bezpieczeństwo i integralność danych, umożliwiają dostęp do danych za pomocą języka zapytań (najczęściej SQL), zapewniają wielodostępność danych (na przykład przez transakcje) oraz pozwalają na autoryzację dostępu do danych.

Często takie systemy posiadają narzędzia do przechowywania i przetwarzania danych multimedialnych, narzędzia do konwersji danych w celu współpracy z innymi systemami baz danych, graficzne środowiska do tworzenia aplikacji oraz narzędzia do udostępniania bazy danych w internecie.

W systemach zarządzania bazą danych można wyodrębnić dwa elementy:

  • serwer — przechowuje dane, umożliwia ich pobieranie i aktualizowanie oraz zapewnia ich integralność i bezpieczeństwo;
  • oprogramowanie pośredniczące (ang. middleware) — realizuje komunikację między użytkownikiem a serwerem. Wyposażone jest w mechanizmy pozwalające wykorzystywać pobierane dane, na przykład w narzędzia do tworzenia i obsługi formularzy oraz raportów.

Systemy zarządzania bazą danych zwykle działają w trybie klient-serwer, czyli baza umieszczona na serwerze jest udostępniana klientom poprzez oprogramowanie pośredniczące (systemy bazodanowe). Przykładami takich systemów są: MySQL, MS SQL Server, Oracle, PostgreSQL, DB2.
Istnieją również systemy, które nie uwzględniają podziału typu klient-serwer. Przykładem takiego systemu jest Microsoft Access.

System zarządzania bazą danych (serwer bazodanowy), który należy do architektury klient-serwer, składa się z dwóch części, które ze sobą współpracują. Jedna część, działająca na serwerze, odpowiedzialna jest za wydajność, bezpieczeństwo, kopie zapasowe itp. Druga, działająca po stronie klienta, zapewnia interfejs użytkownika, dzięki któremu możliwe jest przeprowadzanie operacji na bazie danych. Najczęściej serwer bazodanowy komunikuje się z bazą danych za pomocą języka SQL




Schemat SZBD

Schemat systemu zarządzania bazą danych wraz z otaczającym go środowiskiem został pokazany popniżej.

 

 

  • Moduł zarządzania pamięcią przechowuje informacje o miejscu zapisania plików bazy danych na dysku oraz obsługuje pamięć operacyjną.
  • Procesor zapytań przekształca zapytanie lub operację języka zapytań w ciąg poleceń żądających określonych danych.
  • Moduł zarządzania transakcjami kontroluje poprawność i kompletność wykonania wszystkich transakcji.

 

Reklama