Wykład I - math.uni.lodz.plmath.uni.lodz.pl/~kowalcr/Bazy/Temat1.pdf · Trochę historii Pierwsze...

27
Wykład I Wprowadzenie do baz danych

Transcript of Wykład I - math.uni.lodz.plmath.uni.lodz.pl/~kowalcr/Bazy/Temat1.pdf · Trochę historii Pierwsze...

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

SZBD

SIEĆ

BAZA DANYCH

KLIENCI

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