1 / 53

Bazy Danych Wprowadzenie

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 Zaliczenie ćwiczeń Projekt bazy danych ( MySQL lub Oracle). Program Wykładu. Wprowadzenie Relacyjny model danych

Download Presentation

Bazy Danych Wprowadzenie

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bazy DanychWprowadzenie Wykład 1 Prowadzący: dr Paweł Drozda

  2. Informacje Ogólne • Konsultacje wtorek 12:30 – 14:00 • Dyżur wtorek 11:00 – 12:30 • Zaliczenie ćwiczeń • Projekt bazy danych (MySQL lub Oracle) dr P. Drozda

  3. Program Wykładu • Wprowadzenie • Relacyjny model danych • Modelowanie baz danych (diagramy związków encji) • Przekształcanie modelu związków encji do modelu relacyjnego • Normalizacja • Język baz danych SQL • Transakcje, Indeksy • Zarządzanie uprawnieniami • Wyzwalacze dr P. Drozda

  4. 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” • Wykłady Stanford University– www.coursera.org dr P. Drozda

  5. Plan Wykładu • Podstawowe pojęcia • System zarządzania bazami danych (DBMS) • Właściwości baz danych • Modele danych dr P. Drozda

  6. 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

  7. System Baz Danych Aplikacja System Bazy danych DBMS Aplikacja Aplikacja Schemat Baza danych dr P. Drozda

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. Modele Danych • Dla każdego modelu należy określić • Definicja danych • Operowanie danymi • Integralność danych dr P. Drozda

  16. Modele danych • Modele historyczne (klasyczne) • Sieciowy • Hierarchiczny • Relacyjny model danych • Obiektowy model danych dr P. Drozda

  17. Model Relacyjny

  18. Definicja danych • Relacja – dwuwymiarowa tabela, jedyna struktura danych w modelu relacyjnym • Każda relacja posiada atrybuty – kolumny. Opisują dane umieszczane w relacji • Schemat relacji – nazwa relacji wraz z atrybutami Przykład schematu: Miasto (id, nazwa, id_regionu) • Krotki – wiersze relacji zawierające dane. Każdy atrybut ma swój odpowiednik w krotce dr P. Drozda

  19. Cechy relacji • jednoznaczna nazwa relacji • jednoznaczne nazwy kolumn (atrybutów) relacji • ten sam typ wartości w jednej kolumnie • porządek kolumn w relacji nieistotny • niedozwolone powtórzenia wierszy • nieistotny porządek wierszy (krotek) • wartości atomowe w polach relacji dr P. Drozda

  20. Przykłady STUDENCI spełnia reguły ZALICZENIA nie spełnia reguł dr P. Drozda

  21. Definicja danych – klucze główne • każda relacja musi posiadać klucz główny • jedna lub więcej kolumn identyfikujących jednoznacznie każdy wiersz tabeli • Klucz kandydujący – atrybut lub zbiór atrybutów identyfikujących wiersze tabeli (musi być jednoznaczny i nie zawierać wartości null) • Klucz główny wybierany spośród kluczy kandydujących dr P. Drozda

  22. Definicja danych • Dziedzina – zbiór wszystkich możliwych wystąpień atrybutu (np. ocena_z_egzaminu wartości od 2 do 5 – dziedzina 2-5) – każdy atrybut posiada dziedzinę • Klucz obcy – kolumna bądź kolumny będące kluczem głównym w innej tabeli, sposób łączenia tabel (np. numer studenta w tabeli Studenci i w tabeli Zaliczenia) • Wartość null – nieznana informacja (np. brak numeru telefonu) dr P. Drozda

  23. Przykład STUDENCI Klucz główny Klucz główny ZALICZENIA Klucz obcy dr P. Drozda

  24. Ćwiczenie • Dla danej relacji określ: • Atrybuty • Krotki • Składowe jednej krotki • Schemat relacji • Dziedzina dla każdego atrybutu • Inny równoważny sposób przedstawienia relacji dr P. Drozda

  25. Operowanie danymi • Algebra relacyjna – zbiór sześciu operatorów do wyszukiwania danych (selekcja, rzut, złączenie, suma, przecięcie, różnica) • Operacje dynamiczne na relacjach • INSERT – wstawianie • DELETE – usuwanie • UPDATE – modyfikowanie dr P. Drozda

  26. Selekcja - ograniczenie Wydobywa wszystkie informacje z relacji z interesującymi użytkownika danymi – nie bierze pod uwagę wszystkich krotek Przykład: SQL: SELECT * FROM STUDENCI whereimię=‘Jan’; Wynikiem powyższych zapytań jest relacja dr P. Drozda

  27. Rzut – projekcja (1) • ogranicza liczbę atrybutów • Przykład: PRACOWNICY dr P. Drozda

  28. Rzut (2) • Wynik zapytania: SELECT Nazwisko, Płaca from Pracownicy • jest następujący: dr P. Drozda

  29. Operowanie danymi • Złączenia – oparte na relacyjnym operatorze iloczynu kartezjańskiego • Typy złączeń • Iloczyn kartezjański • Równozłączenie • Złączenie naturalne • Złączenia zewnętrzne • Lewostronne złączenie zewnętrzne • Prawostronne złączenie zewnętrzne • Obustronne złączenie zewnętrzne dr P. Drozda

  30. Iloczyn kartezjański • Powstaje poprzez połączenie dwóch relacji w jedną zawierającą wszystkie możliwe kombinacje wierszy tabel wejściowych • Przykład dr P. Drozda

  31. Iloczyn kartezjański • Cd przykładu: relacja wynikowa dr P. Drozda

  32. Równozłączenie • Iloczyn kartezjański dla którego dokonana jest selekcja poprzez wybór wierszy dla których wartość kluczy podstawowego i obcego są takie same • Przykład dr P. Drozda

  33. Równozłączenie • cd przykładu: tabela wynikowa dr P. Drozda

  34. Złączenie naturalne • Podobne do równozłączenia – usuwa jedną z kolumn po której relacje są łączone • Dla poprzedniego przykładu tabel wynikowa dr P. Drozda

  35. Złączenia zewnętrzne • Stosowane gdy zachowane mają zostać wszystkie wiersze jednej lub drugiej relacji (nawet gdy nie występują odpowiedniki w obu relacjach) dr P. Drozda

  36. Złączenie lewostronne • Zachowuje nie pasujące wiersze z relacji będącej pierwszym argumentem złączenia • Wynik złączenia dla przykładu z poprzedniego slajdu dr P. Drozda

  37. Złączenie prawostronne • Zachowuje nie pasujące wiersze z relacji będącej drugim argumentem złączenia • Wynik złączenia dr P. Drozda

  38. Złączenie obustronne • Zachowuje nie pasujące wiersze z obydwu relacji • Wynik złączenia dr P. Drozda

  39. Pozostałe operatory • stosowane dla zgodnych relacji - ta sama liczba argumentów w relacjach, ta sama dziedzina dla odpowiadających argumentów • analogicznie do algebry zbiorów dr P. Drozda

  40. Pozostałe operatory • Przykład PRACOWNICY KIEROWNICY dr P. Drozda

  41. Pozostałe operatory Suma Przecięcie dr P. Drozda

  42. Pozostałe operatory Różnica A-B Różnica A-B dr P. Drozda

  43. Języki zapytań • składanie operatorów w celu wydobycia informacji z bazy danych • Przykład – znaleźć wszystkie przedmioty prowadzone przez Janika PRACOWNICY PRZEDMIOTY dr P. Drozda

  44. Języki zapytań • SQL select Przedmiot from PRACOWNICY innerjoin PRZEDMIOTY on PRACOWNICY.Nr_prac = PRZEDMIOTY.ProwadzacywhereNazwisko=‘Janik’; dr P. Drozda

  45. Operacje dynamiczne • INSERT INTO tabela VALUES (wart1, wart2, …) – wstawia do tabeli wartości wart1, wart2, … • Przykład INSERT INTO PRACOWNICY VALUES (10, ‘Banach’, ‘Jacek’) spowoduje dodanie wiersza do relacji PRACOWNICY • DELETE FROM tabela WHERE warunek – usuwa z tabeli krotki określone w warunku • Przykład DELETE FROM PRZEDMIOTY WHERE Prowadzący = 3 – usunie krotki dotyczące analizy matematycznej i statystyki dr P. Drozda

  46. Operacje dynamiczne • UPDATE tabela SET nazwaKolumny = wartoscWHERE warunek– zmienia w krotkach określonych w warunku kolumnę nazwaKolumny na podaną wartość • Przykład UPDATE PRZEDMIOTY SET prowadzący=1 WHERE prowadzący=3– zmienia prowadzącego przedmiotów analiza matematyczna i statystyka dr P. Drozda

  47. Integralność danych • Integralność danych zapewnia dokładne odbicie rzeczywistości w bazie danych • W modelu relacyjnym istnieją dwa rodzaje integralności wewnętrznej • integralność encji • integralność referencyjna dr P. Drozda

  48. Integralność encji • Dotyczy kluczy głównych • Każda relacja musi mieć klucz główny • Klucz główny musi być jednoznaczny i nie może zawierać wartości null (co skutkuje jednoznacznością krotek w relacji) • Przykład kluczem głównym w tej relacji może być Nr_prac, nazwisko lub imię PRACOWNICY dr P. Drozda

  49. Integralność referencyjna • Dotyczy kluczy obcych • dwie możliwości (w zależności od konkretnej bazy danych) - Wartość klucza obcego musi odwoływać się do wartości klucza głównego w tabeli w bazie danych - Wartość klucza obcego może być null - Wymuszenie istnienia odniesienia każdego wiersza – parametr not null dr P. Drozda

  50. Integralność referencyjna • Przykład Integralność referencyjna zachowana, jeśli są dopuszczane wartości null kluczaobcego (klucze obce mogą należeć do zbioru {1,3,4,6}) dr P. Drozda

More Related