Baza danych jest modelem pewnej rzeczywistości, tą rzeczywistość realną nazywamy
obszarem analizy.
Istotne obiekty analizy:
-
bloki przedmiotowe- moduły
-
studenci
Istotne obiekty analizy nazywamy klasami lub encjami. Związki, które zachodzą między
klasami (encjami) są częścią obszaru analizy. Każda klasa posiada właściwości (atrybuty).
Mówimy, że klasy są zidentyfikowane poprzez pewne informacje przechowywane na temat
obiektów tej klasy, np.: student identyfikowany jest poprzez nazwisko, imię, numer albumu.
Baza danych jest zbiorem danych reprezentujących pewien obszar analizy. Jednostka danych
(lub potocznie dana) jest symbolem lub zbiorem symboli reprezentujących jakiś fakt, jakąś
rzecz. Aby fakt był użyteczny musi zostać zinterpretowany. Zinterpretowane dane nazywa się
często informacjami. Informacje mają przypisane znaczenie, np.: liczba 23 może oznaczać
wiek, numer albumu; bez interpretacji nie wiemy co ona oznacza. Mówimy, że baza danych
jest zbiorem faktów (pozytywnych) o pewnym obszarze analizy. Baza danych, w ściśle
określonej chwili, jest w pewnym stanie, czyli jest to zbiór faktów dotyczących bazy, zbiór
faktów prawdziwych w danej chwili.
Baza zawiera dwa podstawowe elementy:
- zbiór definicji opisujących strukturę – schemat bazy danych tworzenie schematu – projekt
bazy lub projektowaniem bazy
- łączny – całkowity zbiór danych w bazie danych.
Integralność oznacza, że baza jest dokładnym odbiciem swojego obszaru analizy.
Proces integralności powinien zapewnić przejście zmianę bazy danych poprzez stany
poprawne.
Integralna baza nie powinna posiadać powtarzających się faktów lub przejść, czyli nie
powinna posiadać replikacji
Transakcje są to zdarzenia powodujące zmianę stanu bazy danych.
Integralność jest realizowana poprzez więzy integralności - reguły określające w jaki
sposób baza ma pozostać dokładnym odbiciem swojego obszaru analizy.
Więzy dzielimy na:
- więzy statyczne (niezmienniki stanu)- są używane do sprawdzania czy wykonywana
transakcja nie zmienia stanu bazy w stan niepoprawny.
- więzy przejść- są to reguły wiążące ze sobą stany bazy. Więzy przejść są ograniczeniami
nakładanymi na same przejścia.
Podstawowe funkcje bazy danych
Do wykonywania operacji na bazie używamy dwóch rodzajów funkcji:
- funkcje aktualizujące – dokonują one fizycznie zmiany w bazie – np. zaliczamy transakcje
zmieniające bazę z jednego stanu w drugi , wiąże się z nimi ciąg warunków reprezentujących
więzy integralności oraz ciąg akcji określających co powinno się zdarzyć, jeżeli warunki będą
prawdziwe.
- funkcje zapytań – za ich pomocą wydobywa się dane z bazy danych - nie modyfikują
samej bazy, głównie sprawdzają czy fakt lub grupa faktów jest spełniona w danym stanie
bazy danych. Funkcje te zwracają nie określenie czy zachodzi prawda lub fałsz, ale zwracają
pewien zbiór wartości.
Każdy system bazy danych, używa pewnych formalizmów nazywanych modelem danych,
inaczej są to ściśle określone reguły za pomocą, których można konstruować system bazy
danych. Baza danych może być używana przez jednego użytkownika, jednak często baza
danych jest wielodostępna. Ważne jest zachowanie spójności bazy danych, żeby nie zawiodła
w przypadku, gdy korzysta z niej dwóch użytkowników.
Bazą danych nazywamy zbiór danych o określonej strukturze zapisany na zewnętrznym
nośniku pamięci komputera mogącym zaspokoić potrzeby wielu użytkowników
korzystających z niego w sposób selektywny w dogodnym dla siebie czasie.
Baza danych jest to zbiór danych zorganizowanych przez system zarządzania bazą danych
System zarządzania bazą danych SZBD
SZBD
⇔
DBMS
DBMS – DATABASE MANAGEMENT SYSTEM
SZBD – zorganizowany zbiór narzędzi umożliwiających dostęp i zarządzanie bazą lub
wieloma bazami danych.
Elementarne zadania SZBD
1.Umożliwienie użytkownikowi utworzenia nowej bazy danych i określenie jej schematu,
czyli logicznej struktury danych za pomocą specjalizowanego języka definiowania danych.
2.Udostępnianie użytkownikowi możliwości tworzenia zapytań o dane – query
(kwerend-zapytania) oraz aktualizowania danych za pomocą języka zapytań – języka
operowania danymi = język zapytań.
3.Zapewnienie możliwości przechowywania ogromnej ilości danych przez dłuższy czas
chroniąc je przed przypadkowym, nieprawidłowym dostępem oraz umożliwianie efektywnego
dostępu do danych z poziomu języka zapytań i operacji na danych.
4.Sterowanie jednoznacznym dostępem do danych przez wielu użytkowników z
zapewnieniem bezkolizyjności oraz ochrony danych przed przypadkowym uszkodzeniem
Funkcje systemu SZBD
1. Zarządzanie plikami
-
dodawanie nowych plików do bazy danych
-
usuwanie plików z bazy danych
-
modyfikowanie struktury istniejących plików
-
wstawianie nowych danych do istniejących plików
-
modyfikowanie danych w istniejących plikach
-
usuwanie danych z istniejących plików
2. Wyszukiwanie informacji
-
wydobywanie danych z istniejących plików do stosowania przez użytkowników
-
wydobywanie danych z istniejących plików przez programy użytkowe
3. Zarządzanie bazą danych
-
tworzenie i monitorowanie użytkowników bazy danych
-
ograniczanie dostępu do plików w bazie danych
-
monitorowanie działania samej bazy danych.
Właściwości SZBD
1.Współdzielenie danych, przez niektórych nazywane współbieżnością dostępu lub
korzystanie z bazy.
2.Integracja danych – jeden logiczny element w bazie powinien być przechowywany tylko w
jednym miejscu.
3.Integralność danych – zmiany danych winny być odzwierciedlone w wielu miejscach, gdzie
następuje odwołanie do tych zmiennych lub „możliwość stwarzania użytkownikowi
definiowania reguł pozwalających zachować warunki integralności”.
4.Poufność i bezpieczeństwo danych.
5.Abstrakcja i opis danych – określenie, wydzielenie niektórych właściwości obiektów
przechowywanych w bazie.
Poziom opisu danych:
-
opis logiczny (z punktu widzenia użytkownika)
-
opis fizyczny
6.Niezależność danych – oddzielenie danych od procesów, które te dane będą używać.
7.Niezawodność – awaria sprzętowa lub programowanie powinna wpłynąć na integralność
bazy po usunięciu awarii.
Właściwości powyżej wymienione są w danej bazie osiągnięte tylko częściowo.
Zapytania mogą być sformułowane dwojako:
-poprzez interfejs zapytań bezpośrednich
-poprzez interfejs programów użytkowych
Aktualizacja – dotyczy operacji zmiany danych dwoma drogami:
-poprzez interfejs zapytań bezpośrednich
-poprzez interfejs programów użytkowych
Modyfikacje (modyfikacja samego schematu DBMS) dotyczy administratora bazy.
Moduł Zarządzania Pamięcią w prostych systemach zarządzania może bezpośrednio
odpowiadać systemowi plików z podstawowego systemu operacyjnego.
Moduł Zarządzania Plików przechowuje dane o miejscu zapisania pliku na dysku i jest
odpowiedzialny za ich przesyłanie w postaci blokowej.
Moduł Zarządzania Buforami obsługuje pamięć operacyjną i jest odpowiedzialny za
przydzielanie odpowiednich obszarów pamięci operacyjnej i przydzielenie ich blokom.
Procesor Zapytań nazywany jest Modułem Zarządzania Zapytaniami, przekształca
zapytania lub operacje na bazie formułowane zazwyczaj w języku „bardzo wysokiego
poziomu”
(np. SQL) w ciąg poleceń żądających dostarczenia odpowiednich danych. Najtrudniej jest
optymalizować zapytania, czyli generować odpowiedzi w najkrótszym możliwie czasie.
Moduł Zarządzania Transakcjami ma gwarantować pewność i kompletność
przeprowadzania wszystkich operacji „w jednym ciągu”. Opisuje się to za pomocą
właściwości poprawności przeprowadzenia transakcji ACID (Atomicity Consistency
Isolation Durability – Niepodzielność Spójność Izolacja Trwałość).
1. Atomicity – jest wykonywana albo cała transakcja, albo nic
2. Consistency – po zakończeniu transakcji baza musi zachowywać spójność –
niesprzeczność
3. Isolation – przy jednoczesnym przeprowadzaniu kilku transakcji ich działania nie mogą na
siebie wpływać
4. Durability – wynik transakcji nie może być utracony z powodu awarii systemu
Do realizacji tych 4 własności wykorzystuje się:
- blokady - MZT blokuje elementy, których dotyczy wykonywana transakcja
- logi – MZT dokonuje zapisu na dysku takich danych jak:
- rozpoczęcie transakcji
- zmiany w bazie przez transakcję
- zakończenie transakcji
- zatwierdzenie transakcji – w chwili gdy transakcja kończy działanie jest gotowa do
zatwierdzenia (zmiany są kopiowane do logu, log jest zapisywany na HDD, aktualizacja
samych danych)
Modele danych
- Relacyjny Model Danych
-
Klasyczny
-
Hierarchiczny
-
Sieciowy
-
Obiektowy Model Danych
RMD– jest tylko jedna struktura danych – relacja. Relacja to tabela, dla której jest spełniony
zbiór 7 zasad.
ZASADY: