Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Bazy Danych Wykład 1 S. Kozielski. Program wykładu 1. Wprowadzenie 2. Modele danych – model relacyjny 3. Język SQL a) Definiowanie struktury danych b)

Podobne prezentacje


Prezentacja na temat: "Bazy Danych Wykład 1 S. Kozielski. Program wykładu 1. Wprowadzenie 2. Modele danych – model relacyjny 3. Język SQL a) Definiowanie struktury danych b)"— Zapis prezentacji:

1 Bazy Danych Wykład 1 S. Kozielski

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

3 Literatura 1.C.J. Date – Wprowadzenie do systemów baz danych, WNT J.D. Ullman, J. Widom – Podstawowy wykład z systemów baz danych, WNT H.Garcia-Molina, J.D. Ullman, J. Widom – Implementacja systemów baz danych, WNT H.Garcia-Molina, J.D. Ullman, J. Widom – Systemy baz danych. Pełny wykład, WNT R. Elmasri, S. Navathe – Wprowadzenie do systemów baz danych, Addison-Wesley, Helion 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 Użytkownicy 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 - wyszukiwanie danych, - przetwarzanie danych Administrator b.d.Programiści aplikacjiUż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 poziom zewnętrzny poziom wewnętrzny U1U1 U2U2 U3U3 U5U5 U6U6 podschemat A (perspektywa A) podschemat C (perspektywa C) podschemat B (perspektywa B) U4U4 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 nazwiskoadres kwota kierownik Pracownik kierownik nazwa nrt Temat należy Zespół nazwa wykonuje N 1 MN

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. nazwakierownik Zespół nazwiskoadres Pracownik nrtnazwakierownikkwota Zadanie

11 Model hierarchiczny – wystąpienia rekordów Zespół Wdrożeń Jaworski P1 Z1Z2 P3P2P4P5 T2 200 T2 300 T3 200 T1 150 T3 150 T2 200 T3 150

12 Język DL/I get leftmost [where ] get next [where ] get next within parent [where ]

13 Model sieciowy - schemat b. d. nazwakierownik Zespół nazwiskoadres Pracownik nrtnazwakierownik kwota Temat Wypłata

14 Model sieciowy – wystąpienia rekordów P1P2P3 Z1 T2 T1 T3 BB B A CCC

15 Język DML find record by key find next record in current set find owner of current set

16 Model relacyjny - schemat b. d. nazwiskoadres Pracownik nrtnazwakierownik Temat nazwakierownik Zespół nrz nrp kwota Wypłata nrtnrp

17 Zespoły nrznazwakierownik 1Zespół Analiz2 2Zespół Wdrożeń1

18 Pracownicy nrpnazwiskoadresnrz 1LipowskiRuda Śląska2 2GrabskiZabrze1 3JaworekGliwice1

19 Tematy nrtnazwakierownik 1Projekt zasilacza2 2Projekt przetwornika1 3Projekt reaktora2

20 Wypłaty nrpnrtkwota

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

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

24 Przykład selekcji A B C C=2 A B C 2 2

25 Przykład projekcji A B C A C AC

26 Przykład złączenia naturalnego r (A, B, C) s (C, D) z (A, B, C, D) = a 1 b 1 c 1 c 1 d 1 a 1 b 1 c 1 d 1 a 2 b 2 c 2 c 5 d 5 a 4 b 4 c 1 d 1 a 3 b 3 c 3 a 4 b 4 c 1

27 Złączenie tabel Wypłaty nrpnrtkwota Pracownicy nrpnazwiskoadresnrz 1LipowskiRuda2 2GrabskiZabrze1 3JaworekGliwice1

28 Pracownicy Wypłaty nrpnazwiskoadresnrznrtkwota 2GrabskiZabrze JaworekGliwice LipowskiRuda JaworekGliwice LipowskiRuda23200

29 Pracownicy Wypłaty Tematy nrpnazwiskoadresnrznrtkwotanazwakier. 2GrabskiZabrze12300Pr. przetwor.1 3JaworekGliwice13150Pr. reaktora2 1LipowskiRuda21150Pr. zasilacza2 3JaworekGliwice12200Pr. przetwor.1 1LipowskiRuda23200Pr. reaktora2

30 nazwisko = Jaworek ( Pracownicy Wypłaty Tematy ) nrpnazwiskoadresnrznrtkwotanazwakier. 3JaworekGliwice13150Pr. reaktora2 3JaworekGliwice12200Pr. przetwor.1

31 nazwa ( nazwisko = Jaworek ( Pracownicy Wypłaty Tematy )) nazwa 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. Program wykładu 1. Wprowadzenie 2. Modele danych – model relacyjny 3. Język SQL a) Definiowanie struktury danych b)"

Podobne prezentacje


Reklamy Google