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