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 ReportTranscript 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