Bazy danych

Transkrypt

Bazy danych
Zaliczenie
Bazy danych
– Wykáad: Podstawowe informacje z zakresu baz danych - relacyjne
bazy danych, SQL, indeksy, architektura baz danych
Wykáad 1: Wprowadzenie do baz
danych
– Pracownia specjalistyczna: projekt bazy danych, SQL
Maágorzata Kr
towska
Katedra Oprogramowania
e-mail: [email protected]
Bazy danych, studia zaoczne
Literatura
Strony WWW
• 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., Chdzyska 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, studia zaoczne
2
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
3
Bazy danych, studia zaoczne
4
Plan wykáadu
System bazy danych
Skáadniki systemu bazy danych
– baza danych
– model danych
– system zarzdzania baz danych (SZBD)
• System bazy danych
– Baza danych
– Model danych
– System zarzdzania baz danych
•
•
•
•
Architektura klient-serwer
Historia
Relacyjne bazy danych
Zapytania proste SQL
Bazy danych, studia zaoczne
Scenariusze powstawania systemu bazy danych
– przyrostowo („kawaáek-po-kawaáku”)
– system zintegrowany
5
Poj
cie bazy danych
Bazy danych, studia zaoczne
6
Wáaciwoci bazy danych
• Baza danych: strukturalizacja zarzdzania informacj
• Wspóádzielenie danych
– wspóábie*ny dost
p do danych przez wielu u*ytkowników
• Trwaáoü danych: zbiór danych istniejcy przez dáugi czas
• Kontrolowanie replikacji danych
– baza jest zbiorem danych bez niepotrzebnie powtarzajcych si
lub
zb
dnych informacji
• Zgodnoü z rzeczywistoci: dotyczy pewnego fragmentu
rzeczywistoci zwizanego z firm, organizacj, itp. Jest z
reguáy cz
ci systemu informacyjnego obsáugujcego
zapotrzebowania informacyjne zwizane z tym fragmentem
rzeczywistoci
• Spójnoü reprezentacji danych
– reprezentacja w oparciu o jeden model danych
• Abstrakcja danych
– baza nie jest dokáadnym modelem rzeczywistoci, a jedynie jej
wycinkiem
• Bezpieczestwo danych
• Niezale*noü danych
– celem jest sytuacja, w której organizacja danych jest niewidoczna
dla u*ytkowników i programów korzystajcych z danych
Bazy danych, studia zaoczne
7
Bazy danych, studia zaoczne
8
Model danych
Model danych
• Model danych jako architektura - zbiór zasad posáugiwania si
danymi:
• Model danych jako projekt
– Definicja danych. Zbiór reguá okrelajcych, jaka jest struktura
danych.
– Operowanie danymi. Zbiór reguá okrelajcych, jak operuje si
danymi.
– Integralnoü danych. Zbiór reguá okrelajcych, które stany bazy
danych s poprawne.
– zintegrowany, niezale*ny od implementacji zbiór wymaga
dotyczcy danych dla pewnej aplikacji. Model danych w tym sensie
jest wa*n cz
ci skáadow ka*dej specyfikacji systemów
informacyjnych
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, studia zaoczne
9
Bazy danych, studia zaoczne
Hierarchiczny model danych
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 nadrz
dnypodrz
dny pomi
dzy nimi.
Operowanie danymi
•
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 wród rekordów danego typu (cz
sto przydzielany doü arbitralnie, podobnie
jak np. nr albumu studenta lub nr PESEL w ewidencji ludnoci) oraz zakáada si
uporzdkowanie rekordów wg. wartoci jednego z pól (zwykle klucza, choü
niekoniecznie).
Relacja nadrz
dny-podrz
dny: typy rekordów tworz struktur
drzewa, tj. ka*dy typ
rekordu (z wyjtkiem najwy*szego w hierarchii, tzw. korzenia -- root) zwizany jest z
dokáadnie jednym typem nadrz
dnym. Zarazem ka*dy okrelony rekord typu
podrz
dnego jest zwizany z okrelonym rekordem wáaciwego typu nadrz
dnego.
Bazy danych, studia zaoczne
10
11
Typowe operacje na danych w tym modelu to wyszukiwanie rekordów okrelonego
typu, podrz
dnych wzgl
dem danego rekordu, i speániajcych warunki dotyczce
zawartoci okrelonych pól; usuwanie lub dodawanie rekordów i edycja ich pól.
Realizowane s poprzez funkcje lub procedury pisane w j
zykach programowania o
charakterze zazwyczaj proceduralnym, np. C.
Integralnoü danych
Podstawowe warunki integralnoci wynikaj z samej definicji struktury danych
modelu:
•
•
Ka*dy rekord (z wyjtkiem korzenia) musi byü powizany z rekordem nadrz
dnym
wáaciwego typu; a wi
c np. usuni
cie rekordu nadrz
dnego wi*e si
z usuni
ciem
wszystkich wzgl
dem niego podrz
dnych. 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, studia zaoczne
12
System zarzdzania baz danych (SZBD)
Sieciowy model danych
•
•
Database management system (DBMS)
Sieciowy model danych w ogólnym zarysie niewiele odbiega od
hierarchicznego. W miejsce zwizku nadrz
dny-podrz
dny pomi
dzy
rekordami wprowadza si
w nim tzw. typ kolekcji (set), który jest záo*onym
typem danych pola zawierajcym odniesienia do innych rekordów okrelonego
typu. Tzn. okrelenie typu kolekcji polega na podaniu typu rekordu,,wáaciciela'' i typu rekordów-elementów kolekcji (oraz ew. klucza
porzdkowania elementów). Operowanie danymi ma te* charakter
proceduralny: typowe operacje to wyszukiwanie rekordu na podstawie
zawartoci pól i/lub przynale*noci do danego wystpienia typu kolekcji, i
dokonywanie modyfikacji bie*cego rekordu.
Zorganizowany zbiór narz
dzi umo*liwiajcy dost
p i zarzdzanie
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:
–
–
–
–
–
Warunki integralnoci danych, poza oczywistymi ju* wi
zami dotyczcymi
zgodnoci 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, studia zaoczne
13
Umo*liwienie utworzenia nowej bazy i okrelenie jej schematu
Przechowywanie danych
Obsáuga zapyta (ang. query)
Zapewnienie wielodost
pnoci
Ochrona i zapewnienie integralnoci danych
Bazy danych, studia zaoczne
Systemy baz danych
Konstruowanie
bazy danych
Skáadowe SZBD
Modyfikacje
schematu
Zestaw narz
dzi SZBD
Interfejs SZBD
wiat
rzeczywisty
Jdro SZBD
14
Zapytania
Aktualizacje
Procesor
zapyta
Model
danych
Moduá zarzdzania
pami
ci
Baza danych
Moduá zarzdzania
transakcjami
Dane
Metadane
Bazy danych, studia zaoczne
15
Bazy danych, studia zaoczne
16
Moduá zarzdzania pami
ci
Moduá zarzdzania zapytaniami
• Moduá zarzdzania plikami
– przechowuje dane o miejscu zapisania plików na dysku i na
polecenie moduáu zarzdzania buforami przesyáa zawartoü bloku
lub bloków gdzie jest zapami
tany *dany plik
• Zadaniem moduáu jest przeksztaácenie zapytania lub operacji na
bazie danych w cig polece *dajcych dostarczenia
okrelonych danych, takich jak konkretne krotki zadanej relacji
lub fragmenty indeksu relacji
• Najtrudniejsza operacja: optymalizacja zapytania
• Moduá zarzdzania buforami
– obsáuguje pami
ü operacyjn. Wybiera w pami
ci operacyjnej
strony, które zostan przydzielone dla wybranych bloków.
Bazy danych, studia zaoczne
17
Bazy danych, studia zaoczne
Moduá zarzdzania transakcjami
Transakcje
• Transakcja - nieformalna grupa operacji przeznaczonych do
wykonania razem w jednym cigu, jako du*a operacja
jednostkowa
• Wáaciwoci (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 zakoczeniu transakcji jej wynik nie mo*e
zostaü utracony
Bazy danych, studia zaoczne
18
19
Podstawowe rozwizania techniczne zapewniajce wáaciwoci
ACID:
– Blokady - blokowanie elementu elementu, którego dotyczy
wykonywana wáanie 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
zakoczenie transakcji Log jest przechowywany w pami
ci staáej.
– Zatwierdzanie transakcji - gdy transakcja koczy dziaáanie, jest
gotowa do zatwierdzenia zmiany kopiowane s do logu, dopiero
potem nast
puje aktualizacja danych.
Bazy danych, studia zaoczne
20
Architektura klient-serwer
U*ytkownicy bazy danych
serwer
Administratorzy baz danych
klienci
Typowe funkcje strony serwera aplikacji:
- przechowywanie i organizacja dost
pu do
danych
- wykonywanie instrukcji j
zyka SQL
- sprawowanie kontroli nad spójnoci danych
- zarzdzanie zasobami bazy danych, w tym
kontami u*ytkowników
Typowe funkcje aplikacji po
stronie klienta:
Baza danych
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, studia zaoczne
Programici
21
Bazy danych, studia zaoczne
Historia
•
•
•
•
•
•
•
•
•
•
•
•
22
Relacyjne bazy danych
1961 - Integrated Data Store IDS - pierwszy SZBD, pocztek sieciowego modelu danych
1965-70 - Information Management System IMS (IBM) - hierarchiczny model 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
n \FK
1970 - (GJDU) &RGG ,%0Å5HODF\MQ\PRGHOGDQ\FKGODGX
ZVSyà Xn \WNRZDQ\FKEDQNyZLQIRUPDFMLµ
1971 - CODASYL - sieciowy model danych
pocztek 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)
Przykáad:
Tabela Konta
Nr konta
12345
87654
..........
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, studia zaoczne
U*ytkownicy kocowi
23
Bazy danych, studia zaoczne
Atrybuty
Bilans
1000,00
3567,00
...........
Typ
oszcz
GQRFLRZ\
rozliczeniowy
.............
Krotki
24
Baza üwiczeniowa
Zapytania SQL
Nr konta
12345
87654
..........
Bilans
1000,00
3567,00
...........
Typ
oszcz
GQRFLRZ\
rozliczeniowy
.............
Przykáady zapyta SQL:
SELECT typ FROM Konta
WHERE nr_konta =12345;
SELECT nr_konta FROM Konta
WHERE typ=‘oszcz
dnociowy” AND bilans>0;
Bazy danych, studia zaoczne
25
Bazy danych, studia zaoczne
Baza üwiczeniowa
Baza üwiczeniowa
tabele emp, dept
Bazy danych, studia zaoczne
26
tabele projects, assignments
27
Bazy danych, studia zaoczne
28
SQL: Strukturalny J
zyk Zapyta
DQL (ang. Data Query Language)
(ang. Structured Query Language)
• Definiowanie danych (DDL:Data Definition Language)
Zapytanie SQL
• Definiowanie zapyta (DQL: Data Query Language)
• Modyfikowanie danych (DML: Data Modification Language)
Wynik zapytania
• Sterowanie danymi (DCL: Data Control Language)
Bazy danych, studia zaoczne
Serwer
29
Klient
Bazy danych, studia zaoczne
Zapytania proste
30
Zapytania proste
SELECT [ALL | DISTINCT] wyra*enie [[AS] alias], ...
FROM nazwa_tabeli, ...
SELECT [ALL | DISTINCT] wyra*enie [[AS] alias], ...
FROM nazwa_tabeli, ...
[WHERE warunek]
[ORDER BY wyra*enie ASC|DESC], ...];
ALL- pokazuje wszystkie wiersze (domylny)
DISTINCT - eliminuje powtarzajce si
wiersze
wyra*enie - nazwa kolumny lub wyra*enie zawierajce nazwy kolumn,
cy wszystkie
zamiast wyra*enia mo*e wystpiü znak '*’ oznaczaj
kolumny
alias - nazwa nadana wyra*eniu na licie SELECT, mo*e mieü postaü
identyfikatora prostego (napis záo*ony z liter, cyfr i znaków
podkrelenia) lub záo*onego (dowolny napis ograniczony podwójnymi
cudzysáowami, np. zawierajcy spacje),
Bazy danych, studia zaoczne
31
Bazy danych, studia zaoczne
32
Zapytania proste
[WHERE warunek]
Operatory logiczne:
=; <; >; >=; <=
Operatory SQL:
BETWEEN ... AND ... - mi
dzy dwiema wartociami (wácznie z nimi)
IN (lista) - zgodnie z jednym elementów listy
LIKE - zgodnie z zadanym wzorcem (interpretacja znaków typu "wildcard": ‘%’
zast
puje cig znaków, ‘-’ zast
puje jeden znak)
IS NULL - jest wartoci NULL
Operator negacji:
NOT (NOT nazwa_kolumny = ...; NOT BETWEEN; NOT IN; NOT LIKE; IS NOT
NULL)
Kryteria záo*one:
AND (i)
OR (lub)
Bazy danych, studia zaoczne
33

Podobne dokumenty