BD Wykˆad 1 Wprowadzenie do baz danych


Zaliczenie
 Wykład: Podstawowe informacje z zakresu baz danych - relacyjne
Bazy danych
bazy danych, SQL, indeksy, architektura baz danych
Wykład 1: Wprowadzenie do baz  Pracownia specjalistyczna: projekt bazy danych, SQL
danych
Małgorzata Krętowska, Agnieszka Oniśko
Katedra Oprogramowania
Wydział Informatyki
Bazy danych 2
Literatura Strony WWW
" Ullman J.D., Widom J., Podstawowy wykład z baz danych, WNT Materiały do wykładu:
1999
" http://aragorn.pb.bialystok.pl/~gkret
" 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.,
Inne strony:
Matejewski K., Stencel K., Bazy danych. Wykłady i ćwiczenia,
" http:// www.oracle.com
Wydawnictwo PJWSTK, 2003
" Beynon-Davies P., Systemy baz danych, WNT, 1998
" http://www.wsp.krakow.pl/~wmkolasa/bazy/101.html
" Elmasri R., Navathe S.B., Wprowadzenie do systemów baz
danych, Helion, 2005
" http://www.w3schools.com/sql/default.asp
Bazy danych 3 Bazy danych 4
Plan wykładu System bazy danych
Składniki systemu bazy danych
 baza danych
" System bazy danych
 model danych
 Baza danych
 system zarządzania bazą danych (SZBD)
 Model danych
 System zarządzania bazą danych
" Architektura klient-serwer Scenariusze powstawania systemu bazy danych
 przyrostowo ( kawałek-po-kawałku )
" Historia
 system zintegrowany
" Relacyjne bazy danych
" Zapytania proste SQL
Bazy danych 5 Bazy danych 6
Pojęcie bazy danych Właściwości bazy danych
" Baza danych: strukturalizacja zarządzania informacją
" Współdzielenie danych
 współbieżny dostęp do danych przez wielu użytkowników
" Trwałość danych: zbiór danych istniejący przez długi czas
" Kontrolowanie replikacji danych
 baza jest zbiorem danych bez niepotrzebnie powtarzających się lub
zbędnych informacji
" Zgodność z rzeczywistością: dotyczy pewnego fragmentu
rzeczywistości związanego z firmą, organizacją, itp. Jest z
" Spójność reprezentacji danych
reguły częścią systemu informacyjnego obsługującego
 reprezentacja w oparciu o jeden model danych
zapotrzebowania informacyjne związane z tym fragmentem
" Abstrakcja danych
rzeczywistości
 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 7 Bazy danych 8
Model danych Hierarchiczny model danych
Hierarchiczny model danych jest pewnym rozszerzeniem modelu prostego,
" Model danych jako architektura - zbiór zasad posługiwania się
opartego na rekordach składających się z pól i zgrupowanych w plikach. W
danymi:
schemacie hierarchicznym wprowadza się typy rekordów i związki nadrzędny-
 Definicja danych. Zbiór reguł określających, jaka jest struktura
podrzędny pomiędzy nimi.
danych.
Definicja danych
 Operowanie danymi. Zbiór reguł określających, jak operuje się
" Typ rekordu to nazwana struktura danych, złożona ze zbioru nazwanych pól; każde pole
danymi.
służy do zapisu pojedynczego atrybutu obiektu opisywanego przez rekord, i
 Integralność danych. Zbiór reguł określających, które stany bazy
charakteryzuje się określonym typem danych, np. liczba całkowita, napis, data, itp. Na
danych są poprawne.
ogół jedno z pól danego typu rekordu wyróżnia się jako klucz, tj. unikalny identyfikator
rekordu wśród rekordów danego typu (często przydzielany dość arbitralnie, podobnie
Typy modeli:
jak np. nr albumu studenta lub nr PESEL w ewidencji ludności) oraz zakłada się
 Proste modele danych - struktury rekordów zgrupowanych w
uporządkowanie rekordów wg. wartości jednego z pól (zwykle klucza, choć
strukturach plików
niekoniecznie).
 Klasyczne modele danych: hierarchiczne, sieciowe, relacyjne
" Relacja nadrzędny-podrzędny: typy rekordów tworzą strukturę drzewa, tj. każdy typ
 Semantyczne modele danych rekordu (z wyjątkiem najwyższego w hierarchii, tzw. korzenia -- root) związany jest z
dokładnie jednym typem nadrzędnym. Zarazem każdy określony rekord typu
 Obiektowe modele danych
podrzędnego jest związany z określonym rekordem właściwego typu nadrzędnego.
Bazy danych 9 Bazy danych 10
Hierarchiczny model danych Sieciowy model danych
" Sieciowy model danych w ogólnym zarysie niewiele odbiega od
Operowanie danymi
hierarchicznego. W miejsce związku nadrzędny-podrzędny pomiędzy
" Typowe operacje na danych w tym modelu to wyszukiwanie rekordów określonego
rekordami wprowadza się w nim tzw. typ kolekcji (set), który jest złożonym
typu, podrzędnych względem danego rekordu, i spełniających warunki dotyczące
zawartości określonych pól; usuwanie lub dodawanie rekordów i edycja ich pól. typem danych pola zawierającym odniesienia do innych rekordów określonego
Realizowane są poprzez funkcje lub procedury pisane w językach programowania o
typu. Tzn. określenie typu kolekcji polega na podaniu typu rekordu-
charakterze zazwyczaj proceduralnym, np. C.
,,właściciela'' 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
Integralność danych
zawartości pól i/lub przynależności do danego wystąpienia typu kolekcji, i
Podstawowe warunki integralności wynikają z samej definicji struktury danych
dokonywanie modyfikacji bieżącego rekordu.
modelu:
" Każdy rekord (z wyjątkiem korzenia) musi być powiązany z rekordem nadrzędnym
" Warunki integralności danych, poza oczywistymi już więzami dotyczącymi
właściwego typu; a więc np. usunięcie rekordu nadrzędnego wiąże się z usunięciem
zgodności zawartości pól rekordu z określeniem typu rekordu i unikalności pól
wszystkich względem niego podrzędnych. Nie można wstawić rekordu bez powiązania
go z rekordem nadrzędnym. kluczowych, mogą być formułowane w terminach wymogu przynależności
rekordu do jakiegoś wystąpienia określonego typu kolekcji.
" Zawartość każdego pola rekordu musi odpowiadać typowi danych z definicji danego
typu rekordu.
Bazy danych 11 Bazy danych 12
System zarządzania bazą danych (SZBD)
Systemy baz danych
Database management system (DBMS)
Zorganizowany zbiór narzędzi umożliwiający dostęp i zarządzanie
Konstruowanie
Zestaw narzędzi SZBD
jedną lub więcej bazami danych. SZBD jest powłoką, która
bazy danych
otacza bazę danych i za pomocą której dokonują się wszystkie
Interfejs SZBD operacje na bazie danych.
Jądro SZBD
Model Funkcje SZBD:
Świat
danych
 Umożliwienie utworzenia nowej bazy i określenie jej schematu
rzeczywisty
 Przechowywanie danych
Baza danych
 Obsługa zapytań (ang. query)
 Zapewnienie wielodostępności
 Ochrona i zapewnienie integralności danych
Bazy danych 13 Bazy danych 14
Składowe SZBD Moduł zarządzania pamięcią
" Moduł zarządzania plikami
Modyfikacje
Zapytania Aktualizacje
 przechowuje dane o miejscu zapisania plików na dysku i na
schematu
polecenie modułu zarządzania buforami przesyła zawartość bloku
lub bloków gdzie jest zapamiętany żądany plik
Procesor
zapytań
Moduł zarządzania " Moduł zarządzania buforami
transakcjami
 obsługuje pamięć operacyjną. Wybiera w pamięci operacyjnej
Moduł zarządzania
strony, które zostaną przydzielone dla wybranych bloków.
pamięcią
Dane
Metadane
Bazy danych 15 Bazy danych 16
Moduł zarządzania zapytaniami Moduł zarządzania transakcjami
" Zadaniem modułu jest przekształcenie zapytania lub operacji na
" Transakcja - nieformalna grupa operacji przeznaczonych do
bazie danych w ciąg poleceń żądających dostarczenia
wykonania razem w jednym ciągu, jako duża operacja
określonych danych, takich jak konkretne krotki zadanej relacji
jednostkowa
lub fragmenty indeksu relacji
" Najtrudniejsza operacja: optymalizacja zapytania
" 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 17 Bazy danych 18
Transakcje Architektura klient-serwer
Podstawowe rozwiązania techniczne zapewniające właściwości
serwer
ACID:
 Blokady - blokowanie elementu elementu, którego dotyczy
klienci
wykonywana właśnie transakcja Po założeniu blokady dane są
niedostępne dla innych transakcji.
Typowe funkcje strony serwera aplikacji: Typowe funkcje aplikacji po
 Logi - dokumentowanie operacji tzn. rozpoczęcie każdej transakcji,
stronie klienta:
zmiany dokonywane w bazie danych przez transakcje oraz
- przechowywanie i organizacja dostępu do
danych kontakt z użytkownikiem:
zakończenie transakcji Log jest przechowywany w pamięci stałej.
przyjmowanie od niego zleceń na
- wykonywanie instrukcji języka SQL
operacje, wykonywanie tych zleceń
- sprawowanie kontroli nad spójnością danych lub przesyłanie ich w postaci
 Zatwierdzanie transakcji - gdy transakcja kończy działanie, jest
instrukcji języka SQL do serwera
gotowa do zatwierdzenia zmiany kopiowane są do logu, dopiero
- zarządzanie zasobami bazy danych, w tym
bazy danych
kontami użytkowników
potem następuje aktualizacja danych.
Bazy danych 19 Bazy danych 20
Użytkownicy bazy danych Historia
" 1961 - Integrated Data Store IDS - pierwszy SZBD, początek sieciowego modelu danych
" 1965-70 - Information Management System IMS (IBM) - hierarchiczny model danych
Administratorzy baz danych
" 1970 - I
" 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ózniej Oracle) wprowadziła na rynek pierwszą
komercyjną wersję SZ relacyjną BD
Baza danych
" 1987 - pierwszy standard języka SQL (ISO)
" lata 80 - badania nad dedukcyjnymi i obiektowymi BD
" 1997 - standard obiektowych baz danych ODMG 2.0
Programiści Użytkownicy końcowi
" 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 21 Bazy danych 22
Relacyjne bazy danych Zapytania SQL
Nr konta Bilans Typ
" umożliwienie prezentowania użytkownikowi danych w postaci
12345 1000,00 oszczędnościowy
tabel, nazywanych relacjami
87654 3567,00 rozliczeniowy
" 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
Przykłady zapytań SQL:
podnosiło wydajność programistów baz danych
SELECT typ FROM Konta
Przykład:
Atrybuty
WHERE nr_konta =12345;
Tabela Konta
Nr konta Bilans Typ
SELECT nr_konta FROM Konta
12345 1000,00 oszczędnościowy
WHERE typ= oszczędnościowy AND bilans>0;
87654 3567,00 rozliczeniowy
.......... ........... .............
Krotki
Bazy danych 23 Bazy danych 24
Baza ćwiczeniowa
Baza ćwiczeniowa
tabele emp, dept
Bazy danych 25 Bazy danych 26
Baza ćwiczeniowa
tabele projects, assignments
Bazy danych 27


Wyszukiwarka