Bazy Danych Wprowadzenie Wykład 1 Prowadzący: dr Paweł Drozda Informacje Ogólne  Konsultacje wtorek 12:30 – 14:00  Dyżur wtorek 11:00 – 12:30 (oprócz terminów rady wydziału) pokój.

Download Report

Transcript Bazy Danych Wprowadzenie Wykład 1 Prowadzący: dr Paweł Drozda Informacje Ogólne  Konsultacje wtorek 12:30 – 14:00  Dyżur wtorek 11:00 – 12:30 (oprócz terminów rady wydziału) pokój.

Bazy Danych
Wprowadzenie
Wykład 1
Prowadzący: dr Paweł Drozda
Informacje Ogólne
 Konsultacje
wtorek 12:30 – 14:00
 Dyżur
wtorek 11:00 – 12:30 (oprócz terminów
rady wydziału) pokój E 0/5
 Zaliczenie ćwiczeń (moja grupa)
 Projekt Access (4 punkty)
 Projekt MySQL (6 punktów)
 Kolokwium SQL (11 punktów)
dr P. Drozda
Informacje ogólne cd
 Egzamin
„zerówka” – dla osób z co najmniej 4,5 z
zaliczenia ćwiczeń - ustny
dla pozostałych: pisemny + ustny
 Terminy




Zerówka 21 - 22 stycznia 2014
I termin 27 stycznia 2014 – godz 9:00
II termin 11 lutego 2014 – godz 9:00
III termin 14 lutego 2014 – godz 9:00
dr P. Drozda
Program Wykładu (może ewoluować)










Wprowadzenie
Relacyjny model danych
Modelowanie baz danych (diagramy związków encji)
Przekształcanie modelu związków encji do modelu
relacyjnego
Język baz danych SQL
Normalizacja
Fizyczna organizacja danych
Transakcje
Zarządzanie uprawnieniami
Wyzwalacze, procedury składowane, funkcje
dr P. Drozda
Literatura
 J. Ullman, J. Widom „Podstawowy wykład z systemów
baz danych”
 http://wazniak.mimuw.edu.pl
 P. Beynon-Davies „Systemy baz danych”
 L. Banachowski „Bazy Danych – Tworzenie Aplikacji”
 Conolly, Begg „Systemy Baz Danych”
 Date, Wprowadzenie do Systemów Baz Danych”
dr P. Drozda
Plan Wykładu
 Podstawowe pojęcia
 System zarządzania bazami danych
(DBMS)
 Właściwości baz danych
 Funkcje baz danych
 Modele danych
dr P. Drozda
Podstawowe pojęcia
 Baza danych – zbiór informacji opisujący wybrany fragment
rzeczywistości. Np. Dla sklepu: dane dotyczące
sprzedawanych towarów w sklepie, klientów sklepu,
pracowników, zamówień
 Schemat baz danych – określa w jaka powinna być
struktura danych oraz w jaki sposób dane są powiązane
 System zarządzania bazą danych (DBMS) – zbiór
narzędzi pozwalający na dostęp oraz na zarządzanie jedną
lub wieloma bazami danych
 System baz danych – baza danych + DBMS
 Model danych – zbiór ogólnych zasad posługiwania się
danymi
dr P. Drozda
System Baz Danych
Aplikacja
System
Bazy danych
DBMS
Aplikacja
Aplikacja
Schemat
Baza
danych
dr P. Drozda
System zarządzania bazą danych (1)
Modyfikacja
schematu
Zapytania
Aktualizacje
Procesor
zapytań
Moduł zarządzania
transakcjami
Moduł zarządzania
pamięcią
Dane
Metadane
dr P. Drozda
System zarządzania bazą danych (2)
 Moduł zarządzania pamięcią
o przechowuje dane o miejscu zapisania
plików bazy danych na dysku
o Obsługuje pamięć operacyjną
(obsługiwane bloki z dysku przydzielane
do pamięci operacyjnej)
dr P. Drozda
System zarządzania bazą danych (3)
 Procesor zapytań
o Przekształca zapytanie lub operację na
bazie danych (wyrażone np. w SQL) w
ciąg poleceń żądających określonych
danych
 Moduł zarządzania transakcjami
o Gwarantuje poprawność i kompletność
wykonania wszystkich transakcji (jedno
lub więcej zapytań stanowiące grupę
zadań do wykonania w jednym ciągu)
dr P. Drozda
Cechy SZBD
 Masywny – możliwość przechowywania
TBs
 Trwały – dane nie znikają
 Bezpieczny – odporny na awarię
 Wielu użytkowników – kontrola
wielodostępu
dr P. Drozda
Cechy SZBD
 Wygodny – niezależny od danych,
wysokopoziomowy język dostępu do
danych
 Efektywny – nawet tysiące zapytań
na sekundę
 Niezawodny – ponad 99%
dostępności
dr P. Drozda
Właściwości bazy danych (1)
 Współdzielenie danych – wielu
użytkowników tej samej bazy
 Integracja danych – baza nie powinna
mieć powtarzających się bądź
zbędnych danych
 Integralność danych – dokładne
odzwierciedlenie obszaru analizy
 Trwałość danych – dane
przechowywane przez pewien czas
dr P. Drozda
Właściwości bazy danych (2)
 Bezpieczeństwo danych – dostęp do
bazy lub jej części przez
upoważnionych użytkowników
 Abstrakcja danych – dane opisują
tylko istotne aspekty obiektów świata
rzeczywistego
 Niezależność danych – dane
niezależnie od aplikacji
wykorzystujących te dane
dr P. Drozda
Funkcje bazy danych
 Aktualizujące – dokonują zmian na
danych
 Zapytań – wydobywają dane z bazy
danych
dr P. Drozda
Modele Danych
 Dla każdego modelu należy określić
 Definicja danych
 Operowanie danymi
 Integralność danych
dr P. Drozda
Modele danych
 Modele historyczne (klasyczne)
o Sieciowy
o Hierarchiczny
 Relacyjny model danych
 Obiektowy model danych
dr P. Drozda
Hierarchiczny model danych
 Definicja danych
 Dwie struktury danych: typy rekordów
oraz związki nadrzędny – podrzędny
 Typ rekordu jest nazwaną strukturą
danych złożoną ze zbioru nazwanych pól
np. Imię, Nazwisko. Dla każdego pola
przyporządkowany jest typ danych
 Związki nadrzędny – podrzędny jest
związkiem jeden do wiele
dr P. Drozda
Hierarchiczny model danych
 Przykład
 Rekord: Kurs
 Parent: none
 Fields(
KodKursu : Charakter(6)
NazwaKursu : Charakter(20)
)
 Key: KodKursu
 Record: Moduł
 Parent: Kurs
 Fields(
nazwaModulu: Charakter(20)
poziom: integer(1)
)
Key: nazwaModulu
dr P. Drozda
Hierarchiczny model danych
 Operowanie danymi
 Odpowiednie funkcje w wybranym języku
programowania
 Przykład
Dla każdego rekordu moduł
If (poziom==1)
Wypisz nazwaModulu;
dr P. Drozda
Hierarchiczny model danych
 Integralność danych
 Dla każdego rekordu oprócz korzenia
istnieje rekord nadrzędny
 Usunięcie rekordu nadrzędnego
powoduje usunięcie wszystkich rekordów
podrzędnych
 Rekord podrzędny może mieć tylko jeden
rekord nadrzędny
dr P. Drozda
Sieciowy model danych
 Definicja danych
 Dwie struktury danych: typy rekordów i
typy kolekcji
 Pola rekordów mogą mieć typy złożone
 Typy kolekcji – opis związku jeden do
wiele między typami rekordów - posiada
typ rekordu właściciela oraz typy
rekordów członków
dr P. Drozda
Sieciowy model danych

Przykład
Rekord Kurs
Fields(
KodKursu Charakter(6)
NazwaKursu Charakter(20)
)
 Record Student

Fields(
nrStudenta: Integer(6)
Nazwisko: Charakter(20)
Profil : NazwaKursu: charakter(20, rok:Integer(1), Stopień:integer(1)
)

Set: Ma
Owner: Kurs
Member: Student
dr P. Drozda
Sieciowy model danych
 Operowanie danymi – podobnie jak w
hierarchicznym
 Integralność danych – głównie
określenie członkostwa w kolekcji –
może być wymagane lud opcjonalne
dr P. Drozda
Obiektowy model danych

Definicja danych – obiekty i klasy obiektów, mechanizmy
abstrakcji



Obiekty – zbiór danych i procedur
Klasy obiektów – zbiór podobnych obiektów – te same
atrybuty, metody i związki; definiują schemat bazy danych
Mechanizmy abstrakcji – uogólnienie i agregacja



Uogólnienie – definiowanie pewnych klas obiektów jako
podklasy innych obiektów
Agregacja – obiekt wyższego poziomu grupuje obiekty
niższego poziomu
Dziedziczenie – struktury oraz zachowania


Struktury – klasy podrzędne posiadają wszystkie atrybuty klas
nadrzędnych
Zachowania – wszystkie metody klas nadrzędnych mogą być
wykonywane przez klasy podrzędne
dr P. Drozda
Obiektowy model danych
 Definicja danych – przykład
 Class Student
 Superclass Object
 Attributes
Nazwisko: charakter
Adres: charakter
DataUrodzenia: date
 Class Magistrant
 Superclass Student
 Relationships
Uczestnik Set(Kurs)
dr P. Drozda
Obiektowy model danych
 Operowanie danymi
 Za pomocą metod określonych na
obiektach – cztery główne typy




Metody
Metody
Metody
Metody
tworzenia
usuwania
dostępu
przekształcenia
dr P. Drozda
Obiektowy model danych
 Integralność danych – wewnętrzna i
dodatkowa
 Wewnętrzna




Klasa – klasa
Klasa – obiekt
Dziedziny
Referencyjna
 Dodatkowa – definiowana w treściach
metod
dr P. Drozda