1 / 35

Bazy Danych

Bazy Danych. Wyk ł ad 1 S. Kozielski. Program wykładu. Wprowadzenie Modele danych – model relacyjny Język SQL D efiniowanie struktury danych O peracje na bazie danych Ochrona baz danych Bezpieczeństwo baz danych – kontrola dostępu

kyle-lara
Download Presentation

Bazy Danych

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 Danych Wykład 1 S. Kozielski

  2. Program wykładu • Wprowadzenie • Modele danych – model relacyjny • Język SQL • Definiowanie struktury danych • Operacje na bazie danych • Ochrona baz danych • Bezpieczeństwo baz danych – kontrola dostępu • Ochrona integralności semantycznej – więzy referencyjne • Ochrona integralności transakcyjnej – zarządzanie transakcjami • Projektowanie baz danych • Modelowanie związków encji • Normalizacja struktury baz danych • Architektura systemów korzystających z baz danych

  3. Literatura • C.J. Date – Wprowadzenie do systemów baz danych, WNT 2000 • J.D. Ullman, J. Widom – Podstawowy wykład z systemów baz danych, WNT 2000 • H.Garcia-Molina, J.D. Ullman, J. Widom – Implementacja systemów baz danych, WNT 2003 • H.Garcia-Molina, J.D. Ullman, J. Widom – Systemy baz danych. Pełny wykład, WNT 2006 • R. Elmasri, S. Navathe – Wprowadzenie do systemów baz danych, Addison-Wesley, Helion 2005. • R. Coburn – SQL dla każdego, Helion 2005

  4. Pojęcia podstawowe Baza danych – zbiór danych pamiętanych w systemie komputerowym, dotyczących pewnej wyodrębnionej całości, wzajemnie powiązanych i wykorzystywanych przez wielu użytkowników. System Zarządzania Bazą Danych (SZBD, ang. DBMS) – uniwersalny system programowy, umożliwiający tworzenie, obsługę i ochronę baz danych w różnych zastosowaniach.

  5. Administrator b.d. Programiści aplikacji Użytkownicy okazjonalni - tworzenie b.d., - strojenie b.d., - archiwizowanie b.d., - definiowanie użytkowników i ich uprawnień - wprowadzanie danych, - modyfikowanie danych, - usuwanie danych, - wyszukiwanie danych, - przetwarzanie danych, - wizualizacja i raportowanie - wyszukiwanie danych, - przetwarzanie danych Procesor zapytań 1) kontrola dostępu, 2) optymalizacja zapytań, 3) wykonanie zapytań, 4) ochrona integralności Moduł zarządzania pamięcią - zarządzanie plikami, - zarządzanie buforami Moduł zarządzania transakcjami - sterowanie współbieżnym dostępem do danych, - odtwarzanie spójnego stanu bazy baza danych dziennik transakcji Użytkownicy uprawnienia metadane (słownik b.d.) Funkcje, struktura i użytkownicy SZBD

  6. U4 U1 U2 U3 U5 U6 podschemat B (perspektywa B) podschemat A (perspektywa A) podschemat C (perspektywa C) poziom zewnętrzny poziom pojęciowy Schemat b.d. (globalny logiczny opis b.d.) Model danych: - struktury danych, - operacje na strukturach poziom wewnętrzny fizyczne struktury danych Poziomy opisu danych w b.d.

  7. Rekord – zestaw danych tworzących pewną całość, • Pole – miejsce danych w rekordzie, • Typ danej – sposób reprezentacji danej w polu, • Typ rekordu – zestaw typów danych tworzących rekord, • Wystąpienie rekordu – zestaw wartości danych tworzących rekord.

  8. nazwisko adres nrt kierownik nazwa Pracownik Temat M N N wykonuje należy 1 kwota Zespół nazwa kierownik Opis wybranego fragmentu rzeczywistości

  9. Przykładowe pytania Z1: nazwisko  nazwa tematu Które tematy (nazwa) wykonuje zadany pracownik? Z2: nazwa tematu  nazwisko Kto (nazwisko) wykonuje zadany temat?

  10. nazwa nazwisko kierownik adres Zespół Pracownik Zadanie nrt nazwa kierownik kwota Model hierarchiczny - schemat b. d.

  11. Z1 Z2 Zespół Wdrożeń Jaworski P1 P2 P3 P4 P5 T2 T2 T3 T3 T2 T1 T3 150 200 150 200 150 200 300 Model hierarchiczny – wystąpienia rekordów

  12. Język DL/I get leftmost <rekord> [where <warunek>] get next <rekord> [where <warunek>] get next within parent <rekord> [where <warunek>]

  13. nazwa nazwisko kierownik adres Zespół Pracownik Temat nrt nazwa kierownik kwota Wypłata Model sieciowy - schemat b. d.

  14. Z1 A P1 P2 P3 B B B 150 200 300 200 150 C C C T2 T3 T1 Model sieciowy – wystąpienia rekordów

  15. Język DML find <rekord> record by key <zmienna> find next <rekord> record in current <kolekcja> set find owner of current <kolekcja> set

  16. nazwa kierownik Zespół nrz Pracownik Temat nrp nazwisko adres Wypłata nrt nazwa nrp kierownik nrt kwota Model relacyjny - schemat b. d.

  17. Zespoły

  18. Pracownicy

  19. Tematy

  20. Wypłaty

  21. Poziomy języków zapytań modelu relacyjnego 1.Języki operujące na pojedynczych rekordach (wierszach tablicy) 2.Języki operujące na całych tablicach (algebra relacji) 3.Wysokiego poziomu języki zapytań (SQL, Quel, QBE)

  22. Języki operujące na pojedynczych rekordach (wierszach tablicy) get next record from <tablica>

  23. Języki operujące na całych tablicach (algebra relacji) (ujęcie poglądowe – uproszczone)

  24. A B C A B C 2 C=2 2 1  2 2 Przykład selekcji

  25. A B C A C AC  Przykład projekcji

  26. Przykład złączenianaturalnego r (A, B, C) s (C, D) z (A, B, C, D) ———————=————— a1b1 c1 c1 d1a1 b1 c1 d1 a2b2 c2 c5 d5a4 b4 c1 d1 a3b3 c3 a4b4 c1

  27. Pracownicy Wypłaty nrp nrt kwota nrp nazwisko adres nrz 2 2 300 1 Lipowski Ruda 2 3 3 150 2 Grabski Zabrze 1 1 1 150 3 Jaworek Gliwice 1 3 2 200 1 3 200 Złączenie tabel

  28. Pracownicy  Wypłaty

  29. Pracownicy  WypłatyTematy

  30. nazwisko = ‘Jaworek’ (Pracownicy  Wypłaty  Tematy)

  31. nazwa (nazwisko = ‘Jaworek’ (Pracownicy  Wypłaty  Tematy))

  32. Pytanie Z1 jako wyrażenie algebry relacji Z1 = nazwa (nazwisko = ‘Jaworek’ (Pracownicy  Wypłaty  Tematy))

  33. Pytanie Z2 jako wyrażenie algebry relacji Z2 = nazwisko (nazwa = ‘Pr. reaktora’ (Pracownicy  Wypłaty  Tematy))

  34. SQL - wysokiego poziomu język zapytań Postać pytania Z1: SELECT nazwa FROM pracownicy, wypłaty, tematy WHERE pracownicy.nrp = wypłaty.nrp AND wypłaty.nrt = tematy.nrt AND nazwisko = ‘Jaworek’

  35. Postać pytania Z2: SELECT nazwisko FROM pracownicy, wypłaty, tematy WHERE pracownicy.nrp = wypłaty.nrp AND wypłaty.nrt = tematy.nrt AND nazwa = ‘Pr. reaktora’

More Related