Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Bazy Danych Wykład 1 S. Kozielski.

Podobne prezentacje


Prezentacja na temat: "Bazy Danych Wykład 1 S. Kozielski."— Zapis prezentacji:

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 Funkcje, struktura i użytkownicy SZBD
uprawnienia - 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 - przetwarzanie danych Administrator b.d. Programiści aplikacji Użytkownicy okazjonalni 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 dziennik transakcji metadane (słownik b.d.) baza danych

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

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 Opis wybranego fragmentu rzeczywistości
nazwisko adres kwota kierownik Pracownik nazwa nrt Temat należy Zespół wykonuje N 1 M

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 Model hierarchiczny - schemat b. d.
nazwa kierownik Zespół nazwisko adres Pracownik nrt kwota Zadanie

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

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

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

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

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 Model relacyjny - schemat b. d.
nazwisko adres Pracownik nrt nazwa kierownik Temat Zespół nrz nrp kwota Wypłata

17 Zespoły nrz nazwa kierownik 1 Zespół Analiz 2 Zespół Wdrożeń

18 Pracownicy nrp nazwisko adres nrz 1 Lipowski Ruda Śląska 2 Grabski
Zabrze 3 Jaworek Gliwice

19 Tematy nrt nazwa kierownik 1 Projekt zasilacza 2 Projekt przetwornika
3 Projekt reaktora

20 Wypłaty nrp nrt kwota 2 300 3 150 1 200

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 Przykład selekcji A B C 2 1 C=2

25 Przykład projekcji A B C AC

26 Przykład złączenia naturalnego
r (A, B, C) s (C, D) z (A, B, C, D) ————  ——— = ————— a1 b1 c c1 d a1 b1 c1 d1 a2 b2 c c5 d a4 b4 c1 d1 a3 b3 c3 a4 b4 c1

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

28 Pracownicy  Wypłaty nrp nazwisko adres nrz nrt kwota 2 Grabski
Zabrze 1 300 3 Jaworek Gliwice 150 Lipowski Ruda 200

29 Pracownicy  Wypłaty  Tematy
nrp nazwisko adres nrz nrt kwota nazwa kier. 2 Grabski Zabrze 1 300 Pr. przetwor. 3 Jaworek Gliwice 150 Pr. reaktora Lipowski Ruda Pr. zasilacza 200

30 nazwisko = ‘Jaworek’ (Pracownicy  Wypłaty  Tematy)
nrp nazwisko adres nrz nrt kwota nazwa kier. 3 Jaworek Gliwice 1 150 Pr. reaktora 2 200 Pr. przetwor.

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

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’


Pobierz ppt "Bazy Danych Wykład 1 S. Kozielski."

Podobne prezentacje


Reklamy Google