Bazy danych
Ma
á
gorzata Kr
towska, Agnieszka Oni
ko
Katedra Oprogramowania
Wydzia
á
Informatyki
Wyk
á
ad 1: Wprowadzenie do baz
danych
Bazy danych
2
Zaliczenie
–
Wyk
áad
: Podstawowe informacje z zakresu baz danych - relacyjne
bazy danych, SQL, indeksy, architektura baz danych
–
Pracownia specjalistyczna
: projekt bazy danych, SQL
Bazy danych
3
Literatura
• Ullman J.D., Widom J., Podstawowy wyk
á
ad z baz danych, WNT
1999
• Garcia-Molina H., Ullman J.D. Widom J., Systemy baz danych.
Pe
á
ny wyk
á
ad, WNT, 2006
• Banachowski L., Ch
dzy
ska A., Mrówka-Matejewska E.,
Matejewski K., Stencel K., Bazy danych. Wyk
á
ady i
ü
wiczenia,
Wydawnictwo PJWSTK, 2003
• Beynon-Davies P., Systemy baz danych, WNT, 1998
• Elmasri R., Navathe S.B., Wprowadzenie do systemów baz
danych, Helion, 2005
Bazy danych
4
Strony WWW
Materia
á
y do wyk
á
adu:
• http://aragorn.pb.bialystok.pl/~gkret
Inne strony:
• http:// www.oracle.com
• http://www.wsp.krakow.pl/~wmkolasa/bazy/101.html
• http://www.w3schools.com/sql/default.asp
Bazy danych
5
Plan wyk
á
adu
• System bazy danych
– Baza danych
– Model danych
– System zarz
dzania baz
danych
• Architektura klient-serwer
• Historia
• Relacyjne bazy danych
• Zapytania proste SQL
Bazy danych
6
System bazy danych
Sk
á
adniki systemu bazy danych
– baza danych
– model danych
– system zarz
dzania baz
danych (SZBD)
Scenariusze powstawania systemu bazy danych
– przyrostowo („kawa
á
ek-po-kawa
á
ku”)
– system zintegrowany
Bazy danych
7
Poj
cie bazy danych
• Baza danych: strukturalizacja zarz
dzania informacj
• Trwa
á
o
ü
danych: zbiór danych istniej
cy przez d
á
ugi czas
• Zgodno
ü
z rzeczywisto
ci
: dotyczy pewnego fragmentu
rzeczywisto
ci zwi
zanego z firm
, organizacj
, itp. Jest z
regu
á
y cz
ci
systemu informacyjnego obs
á
uguj
cego
zapotrzebowania informacyjne zwi
zane z tym fragmentem
rzeczywisto
ci
Bazy danych
8
W
á
a
ciwo
ci bazy danych
• Wspó
á
dzielenie danych
– wspó
á
bie
*
ny dost
p do danych przez wielu u
*
ytkowników
• Kontrolowanie replikacji danych
– baza jest zbiorem danych bez niepotrzebnie powtarzaj
cych si
lub
zb
dnych informacji
• Spójno
ü
reprezentacji danych
– reprezentacja w oparciu o jeden model danych
• Abstrakcja danych
– baza nie jest dok
á
adnym modelem rzeczywisto
ci, a jedynie jej
wycinkiem
• Bezpiecze
stwo danych
• Niezale
*
no
ü
danych
– celem jest sytuacja, w której organizacja danych jest niewidoczna
dla u
*
ytkowników i programów korzystaj
cych z danych
Bazy danych
9
Model danych
• Model danych jako architektura - zbiór zasad pos
á
ugiwania si
danymi:
– Definicja danych. Zbiór regu
á
okre
laj
cych, jaka jest struktura
danych.
– Operowanie danymi. Zbiór regu
á
okre
laj
cych, jak operuje si
danymi.
– Integralno
ü
danych. Zbiór regu
á
okre
laj
cych, które stany bazy
danych s
poprawne.
Typy modeli:
– Proste modele danych - struktury rekordów zgrupowanych w
strukturach plików
– Klasyczne modele danych: hierarchiczne, sieciowe, relacyjne
– Semantyczne modele danych
– Obiektowe modele danych
Bazy danych
10
Hierarchiczny model danych
Hierarchiczny model danych jest pewnym rozszerzeniem modelu prostego,
opartego na rekordach sk
áadajcych si z pól i zgrupowanych w plikach. W
schemacie hierarchicznym wprowadza si
typy rekordów i zwizki nadrzdny-
podrz
dny pomidzy nimi.
Definicja danych
• Typ rekordu to nazwana struktura danych, z
áo*ona ze zbioru nazwanych pól; ka*de pole
s
áu*y do zapisu pojedynczego atrybutu obiektu opisywanego przez rekord, i
charakteryzuje si
okrelonym typem danych, np. liczba caákowita, napis, data, itp. Na
ogó
á jedno z pól danego typu rekordu wyró*nia si jako klucz, tj. unikalny identyfikator
rekordu w
ród rekordów danego typu (czsto przydzielany doü arbitralnie, podobnie
jak np. nr albumu studenta lub nr PESEL w ewidencji ludno
ci) oraz zakáada si
uporz
dkowanie rekordów wg. wartoci jednego z pól (zwykle klucza, choü
niekoniecznie).
• Relacja nadrz
dny-podrzdny: typy rekordów tworz struktur drzewa, tj. ka*dy typ
rekordu (z wyj
tkiem najwy*szego w hierarchii, tzw. korzenia -- root) zwizany jest z
dok
áadnie jednym typem nadrzdnym. Zarazem ka*dy okrelony rekord typu
podrz
dnego jest zwizany z okrelonym rekordem wáaciwego typu nadrzdnego.
Bazy danych
11
Hierarchiczny model danych
Operowanie danymi
• Typowe operacje na danych w tym modelu to wyszukiwanie rekordów okre
lonego
typu, podrz
dnych wzgldem danego rekordu, i speániajcych warunki dotyczce
zawarto
ci okrelonych pól; usuwanie lub dodawanie rekordów i edycja ich pól.
Realizowane s
poprzez funkcje lub procedury pisane w jzykach programowania o
charakterze zazwyczaj proceduralnym, np. C.
Integralno
ü danych
Podstawowe warunki integralno
ci wynikaj z samej definicji struktury danych
modelu:
• Ka
*dy rekord (z wyjtkiem korzenia) musi byü powizany z rekordem nadrzdnym
w
áaciwego typu; a wic np. usunicie rekordu nadrzdnego wi*e si z usuniciem
wszystkich wzgl
dem niego podrzdnych. Nie mo*na wstawiü rekordu bez powizania
go z rekordem nadrz
dnym.
• Zawarto
ü ka*dego pola rekordu musi odpowiadaü typowi danych z definicji danego
typu rekordu.
Bazy danych
12
Sieciowy model danych
•
Sieciowy model danych w ogólnym zarysie niewiele odbiega od
hierarchicznego. W miejsce zwi
zku nadrzdny-podrzdny pomidzy
rekordami wprowadza si
w nim tzw. typ kolekcji (set), który jest záo*onym
typem danych pola zawieraj
cym odniesienia do innych rekordów okrelonego
typu. Tzn. okre
lenie typu kolekcji polega na podaniu typu rekordu-
,,w
áaciciela'' i typu rekordów-elementów kolekcji (oraz ew. klucza
porz
dkowania elementów). Operowanie danymi ma te* charakter
proceduralny: typowe operacje to wyszukiwanie rekordu na podstawie
zawarto
ci pól i/lub przynale*noci do danego wystpienia typu kolekcji, i
dokonywanie modyfikacji bie
*cego rekordu.
•
Warunki integralnoci danych, poza oczywistymi ju
* wizami dotyczcymi
zgodno
ci zawartoci pól rekordu z okreleniem typu rekordu i unikalnoci pól
kluczowych, mog
byü formuáowane w terminach wymogu przynale*noci
rekordu do jakiego
wystpienia okrelonego typu kolekcji.
Bazy danych
13
Systemy baz danych
Baza danych
J
dro SZBD
Interfejs SZBD
Zestaw narz
dzi SZBD
Model
danych
wiat
rzeczywisty
Konstruowanie
bazy danych
Bazy danych
14
System zarz
dzania baz
danych (SZBD)
Database management system (DBMS)
Zorganizowany zbiór narz
dzi umo
*
liwiaj
cy dost
p i zarz
dzanie
jedn
lub wi
cej bazami danych. SZBD jest pow
á
ok
, która
otacza baz
danych i za pomoc
której dokonuj
si
wszystkie
operacje na bazie danych.
Funkcje SZBD:
– Umo
*
liwienie utworzenia nowej bazy i okre
lenie jej
schematu
– Przechowywanie danych
– Obs
á
uga zapyta
(ang.
query
)
– Zapewnienie wielodost
pno
ci
– Ochrona i zapewnienie integralno
ci danych
Bazy danych
15
Sk
á
adowe SZBD
Dane
Metadane
Modu
á zarzdzania
pami
ci
Procesor
zapyta
Modu
á zarzdzania
transakcjami
Modyfikacje
schematu
Zapytania
Aktualizacje
Bazy danych
16
Modu
á
zarz
dzania pami
ci
• Modu
á
zarz
dzania plikami
– przechowuje dane o miejscu zapisania plików na dysku i na
polecenie modu
á
u zarz
dzania buforami przesy
á
a zawarto
ü
bloku
lub bloków gdzie jest zapami
tany
*
dany plik
• Modu
á
zarz
dzania buforami
– obs
á
uguje pami
ü
operacyjn
. Wybiera w pami
ci operacyjnej
strony, które zostan
przydzielone dla wybranych bloków.
Bazy danych
17
Modu
á
zarz
dzania zapytaniami
• Zadaniem modu
á
u jest przekszta
á
cenie zapytania lub operacji na
bazie danych w ci
g polece
*
daj
cych dostarczenia
okre
lonych danych, takich jak konkretne krotki zadanej relacji
lub fragmenty indeksu relacji
• Najtrudniejsza operacja:
optymalizacja zapytania
Bazy danych
18
Modu
á
zarz
dzania transakcjami
• Transakcja - nieformalna grupa operacji przeznaczonych do
wykonania razem w jednym ci
gu, jako du
*
a operacja
jednostkowa
• W
á
a
ciwo
ci (ACID):
– niepodzielno
ü
(
atomicity
) - ca
á
a transakcja powinna zosta
ü
przeprowadzona, albo
*
aden z jej elementów nie zostanie
uwzgl
dniony
– spójno
ü
(
consistency
) - np. miejsce w danym rejsie lotniczym nie
mo
*
e by
ü
przydzielone dwóm ró
*
nym pasa
*
erom
– izolacja (
isolation
) - brak wp
á
ywu transakcji na siebie przy
jednoczesnym ich przetwarzaniu
– trwa
á
o
ü
(
durability
) - po zako
czeniu transakcji jej wynik nie mo
*
e
zosta
ü
utracony
Bazy danych
19
Transakcje
Podstawowe rozwi
zania techniczne zapewniaj
ce w
á
a
ciwo
ci
ACID:
– Blokady - blokowanie elementu elementu, którego dotyczy
wykonywana w
á
a
nie transakcja Po za
á
o
*
eniu blokady dane s
niedost
pne dla innych transakcji.
– Logi - dokumentowanie operacji tzn. rozpocz
cie ka
*
dej transakcji,
zmiany dokonywane w bazie danych przez transakcje oraz
zako
czenie transakcji Log jest przechowywany w pami
ci sta
á
ej.
– Zatwierdzanie transakcji - gdy transakcja ko
czy dzia
á
anie, jest
gotowa do zatwierdzenia zmiany kopiowane s
do logu, dopiero
potem nast
puje aktualizacja danych.
Bazy danych
20
Architektura klient-serwer
serwer
klienci
Typowe funkcje strony serwera aplikacji:
- przechowywanie i organizacja dost
pu do
danych
- wykonywanie instrukcji j
zyka SQL
- sprawowanie kontroli nad spójno
ci
danych
- zarz
dzanie zasobami bazy danych, w tym
kontami u
*
ytkowników
Typowe funkcje aplikacji po
stronie klienta:
kontakt z u
*
ytkownikiem:
przyjmowanie od niego zlece
na
operacje, wykonywanie tych zlece
lub przesy
á
anie ich w postaci
instrukcji j
zyka SQL do serwera
bazy danych
Bazy danych
21
U
*
ytkownicy bazy danych
Baza danych
Administratorzy baz danych
U
*
ytkownicy ko
cowi
Programi
ci
Bazy danych
22
Historia
•
1961 - Integrated Data Store IDS - pierwszy SZBD, pocz
tek sieciowego modelu danych
•
1965-70 - Information Management System IMS (IBM) - hierarchiczny model danych
•
1970 -
(GJDU) &RGG ,%0Å5HODF\MQ\PRGHOGDQ\FKGODGX
n \FK
ZVSyà Xn \WNRZDQ\FKEDQNyZLQIRUPDFMLµ
•
1971 - CODASYL - sieciowy model danych
•
pocz
tek lat 70’ - prototyp j
zyka SQL o nazwie Sequel (IBM)
•
1973 - pierwszy SZ relacyjn
BD - system R w firmie IBM
•
1979 - firma Relational Software (pó
(
niej Oracle) wprowadzi
á
a na rynek pierwsz
komercyjn
wersj
SZ relacyjn
BD
•
1987 - pierwszy standard j
zyka SQL (ISO)
•
lata 80’ - badania nad dedukcyjnymi i obiektowymi BD
•
1997 - standard obiektowych baz danych ODMG 2.0
•
1999 nieoficjalna wersja standardu j
zyka obiektowo-relacyjnych baz danych (SQL’1999)
•
lata 90’ - rozszerzenie baz danych o nowe aspekty - architektury wielowarstwowe;
rozproszenie; równoleg
á
o
ü
; Internet; hurtownie danych; multimedia; GIS
Bazy danych
23
Relacyjne bazy danych
• umo
*
liwienie prezentowania u
*
ytkownikowi danych w postaci
tabel, nazywanych
relacjami
• u
*
ytkownik nie musia
á
nic wiedzie
ü
o wewn
trznej, cz
sto
skomplikowanej, strukturze wewn
trznej
• zapytania mo
*
na by
á
o wyra
*
a
ü
w j
zyku wysokiego poziomu, co
podnosi
á
o wydajno
ü
programistów baz danych
Nr konta
Bilans
Typ
12345
1000,00
oszcz
GQRFLRZ\
87654
3567,00
rozliczeniowy
..........
...........
.............
Atrybuty
Krotki
Przyk
á
ad:
Tabela
Konta
Bazy danych
24
Zapytania SQL
Przyk
á
ady zapyta
SQL:
SELECT typ FROM Konta
WHERE nr_konta =12345;
SELECT nr_konta FROM Konta
WHERE typ=‘oszcz
dno
ciowy” AND bilans>0;
Nr konta
Bilans
Typ
12345
1000,00
oszcz
GQRFLRZ\
87654
3567,00
rozliczeniowy
..........
...........
.............
Bazy danych
25
Baza
ü
wiczeniowa
Bazy danych
26
Baza
ü
wiczeniowa
tabele emp, dept
Bazy danych
27
Baza
ü
wiczeniowa
tabele projects, assignments