310 likes | 530 Views
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)
E N D
Bazy DanychWprowadzenie 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) Zapytania Modyfikacja schematu 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ą • przechowuje dane o miejscu zapisania plików bazy danych na dysku • 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ń • 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 • 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) • Sieciowy • 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 tworzenia • Metody usuwania • Metody dostępu • Metody 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