Wprowadzenie do baz danych

Transkrypt

Wprowadzenie do baz danych
Wykład I
 Wprowadzenie
do baz danych
Trochę historii



Pierwsze znane użycie terminu baza danych
miało miejsce w listopadzie w 1963 roku.
W latach sześcdziesątych XX wieku został
opracowany przez Charles’a Bachman’a
pierwszy system zarządzania bazami danych.
W 1970 r. E.F.Codd zaproponował relacyjny
model danych. Jednym z pierwszych
implementacji modelu relacyjnego były: Ingress i
System R.
Trochę historii c.d.



Oracle i DB2 dostępne były dopiero około
roku 1980.
W latach 90 skupiono się na obiektowych
bazach danych
W latach 90 rozprzestrzeniły się bazy
danych Open Source takie jak
PostgreSQL oraz MySQL
Definicja bazy danych


Baza danych to zbór informacji zapisanych w
ściśle określony sposób w strukturach
odpowiadających założonemu modelowi
danych, czyli obejmuje dane oraz program
komputerowy wyspecjalizowany do
gromadzenia i przetwarzania tych danych. Taki
program nazywamy „Systemem zarządzania
bazą danych”.
Baza danych oznacza zbór danych, opisujący
pewien wybrany fragment rzeczywistości.
Cechy charakterystyczne baz
danych



Trwałość danych
Rozmiar wolumenu danych
Złożoność danych
Trwałość danych

Oznacza, że dane przechowywane w
bazie danych nie są ulotne. Czyli okres
przechowywania danych jest ograniczony
wyłącznie okresem żywotności nośnika
danych. Po zapisaniu danych do baz
danych ich trwałość jest niezależna od
istnienia i działania aplikacji oraz od
platformy sprzętowo-programowej.
Rozmiar wolumenu danych

Często dane gromadzone w bazie danych
nie mieszczą się w pamięci operacyjnej,
więc do ich przechowywania potrzebna
jest pamięć zewnętrzna (np. Dyskowa).
Złożoność danych



Złożoność ich struktur i zależności
pomiędzy nimi
Złożoność semantyczna danych
Na dane są często nakładane
ograniczenia integralności, które
gwarantują pojawienie się w bazie, danych
spełniające te ograniczenia
6 podstawowych wymagań dla
baz danych

Spójność baz danych
Wierne odzwierciedlenie danych
rzeczywistych: dane przechowywane w bazie
danych są takie jak w świecie rzeczywistym,
który ta baza danych reprezentuje
 Spełnienie ograniczeń nałożonych przez
użytkowników
 Brak anomalii wynikających ze
współbieżnego dostępu do danych

6 podstawowych wymagań dla
baz danych c.d.


Efektywne przetwarzanie danych : czyli
wstawianie nowych danych, modyfikowanie
istniejących, usuwania oraz wyszukiwania
danych
Poprawne modelowanie świata
rzeczywistego : struktura bazy danych musi
odzwierciedlać w poprawny sposób obiekty
świata rzeczywistego i powiązania pomiędzy
tymi obiektami ( musi być zgodny z tzw
modelem danych).
6 podstawowych wymagań dla
baz danych c.d.



Autoryzacja dostępu do danych: czyli dostęp
do bazy danych mają tylko jej użytkownicy
identyfikowani unikalną nazwą i hasłem.
Możliwość równoczesnej pracy wielu
użytkowników
Wsparcie dla metadanych : metadane to dane
o bazie danych, czyli opisują dane
przechowywane w bazie, struktury danych,
użytkowników i ich uprawnienia.
Model danych



Spójny zestaw pojęć, który służy do opisywania
danych i związków pomiędzy nimi oraz
manipulowania danymi i ich związkami
Pewna reprezentacja wziętych ze świata
rzeczywistego obiektów, zdarzeń i powiązań
między nimi
Abstrakcja, która koncentruje się na istotnych,
swoistych aspektach pewnego fragmentu
rzeczywistości, a pomija cechy przypadkowe
Składniki modelu danych


Część strukturalna : zawiera zbiór zasad,
zgodnie z którymi powinny być
konstruowane bazy danych
Część wykonawcza : opisuje typ
dopuszczalnych operacji na danych
Modele baz danych





Hierarchiczny : świat rzeczywisty jest
opisywany za pomocą drzew
Sieciowy : świat modelowany jest opisywany za
pomocą grafów
Relacyjny : wykorzystywanie tabel
dwuwymiarowych
Obiektowy : składniki programowania
obiektowego (obiekty)
Logiczny : wykorzystanie logiki
Podział baz danych

Bazy proste:



Kartotekowe
Hierarchiczne
Bazy złożone:





Relacyjne
Obiektowe
Relacyjno - obiektowe
Strumieniowe
Temporalne
SZDB
System zarządzania bazą danych
System zarządzania bazą danych


oprogramowanie bądź system
informatyczny służący do zarządzania
bazą danych.
System zarządzania bazą danych może
być również serwerem bazy danych (SBD)
lub też może udostępniać bazę danych
lokalnie – na określonym komputerze.
System zarządzania bazą danych
SZDB oferuje dostęp do danych
przechowywanych w bazie danych oraz
wykonywanie operacji na danych.
 Prosta def.
moduł programowy, którego zadaniem jest
zarządzanie całą bazą danych oraz
realizowanie żądań aplikacji użytkowników

Elementy środowiska SZDB






Wyróżnia się pięć podstawowych
elementów środowiska SZBD:
1. sprzęt,
2. oprogramowanie,
3. dane,
4. procedury,
5. ludzie.
1. Sprzęt




Sprzętem może być:
pojedynczy komputer,
duży, wielodostępny komputer,
sieć komputerów.
2. Oprogramowanie




Program SZBD
Program aplikacji
System operacyjny
SZBD może posiadać wbudowane
narzędzie czwartej generacji do tworzenia
i zarządzania danymi w bazie danych
3. Dane / 4. Procedury


Dane w bazie danych
Procedury – to instrukcje i polecenia, które
dotyczą procesu projektowania bazy
danych, jak i późniejszego jej
użytkowania. Użytkownicy bazy danych
oraz pracownicy zarządzający bazą
potrzebują udokumentowanych procedur
pozwalających korzystać z systemu.
Przykładowe procedury:







uruchomienia i zamknięcia SZBD,
logowania się do SZBD,
wykorzystania konkretnej funkcji SZBD czy aplikacji,
zmiany struktur i ilości tabel,
poprawy efektywności bazy danych,
tworzenia kopii bazy danych,
obsługi awarii sprzętu lub oprogramowania
5. Ludzie




Administrator bazy danych
Projektant bazy danych
Twórca aplikacji dla użytkowników
Użytkownik - klient
KLIENCI
SIEĆ
SZBD
BAZA DANYCH
Przykłady SZBD

Komercyjne:





Oracle
IBM DB2 UDB
IBM Informix(R) Dynamic Server
Microsoft SQL Server
Sybase Adaptive Server
Przykłady SZBD

Niekomercyjne:



MySQL
PostgreSQL
FireBird