Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wykład 1 Prowadzący: dr Paweł Drozda. Kontakt: - - wmii.uwm.edu.pl/~pdrozda - Słoneczna 54, pokój.

Podobne prezentacje


Prezentacja na temat: "Wykład 1 Prowadzący: dr Paweł Drozda. Kontakt: - - wmii.uwm.edu.pl/~pdrozda - Słoneczna 54, pokój."— Zapis prezentacji:

1 Wykład 1 Prowadzący: dr Paweł Drozda

2 Kontakt: - - wmii.uwm.edu.pl/~pdrozda - Słoneczna 54, pokój E 0/5 Zaliczenie przedmiotu: - Projekt podczas ostatnich zajęć dr P. Drozda

3 Wprowadzenie Relacyjny model danych Modelowanie baz danych (diagramy związków encji) Zarządzanie uprawnieniami Język baz danych SQL dr P. Drozda

4 J. Ullman, J. Widom „Podstawowy wykład z systemów baz danych” 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 – dr P. Drozda

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

6 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 Bazy danych Baza danych DBMS Schemat Aplikacja System Baz Danych

8 dr P. Drozda Dane Metadane Moduł zarządzania pamięcią Procesor zapytań Moduł zarządzania transakcjami Modyfikacja schematu Zapytania Aktualizacje

9 Masywny – możliwość przechowywania TBs Trwały – dane nie znikają Bezpieczny – odporny na awarię Wielu użytkowników – kontrola wielodostępu dr P. Drozda

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

11 Modele historyczne (klasyczne) o Sieciowy o Hierarchiczny Relacyjny model danych Obiektowy model danych dr P. Drozda

12

13 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

14 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

15 Nr_indeksuNazwiskoImięAdres 1234KowalskiJanAkacjowa NowakPiotrDębowa MaliniakStefanBukowa GrabowskaJaninaBrzozowa 1 Id_indeksu OcenaPrzedmiot 1234(1234), (3214)5Bazy danych 3211(3211), (4327)b. dobryBazy danych 3211(3211), (4327)b. dobryBazy danych STUDENCI ZALICZENIA spełnia reguły nie spełnia reguł

16 dr P. Drozda 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

17 dr P. Drozda 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)

18 dr P. Drozda Nr_indeksuNazwiskoImięAdres 1234KowalskiJanAkacjowa NowakPiotrDębowa MaliniakStefanBukowa GrabowskaJaninaBrzozowa 1 Id_indeksuOcenaPrzedmiot 12345Bazy danych 32114Bazy danych 32113Matematyka STUDENCI ZALICZENIA Klucz główny Klucz obcy Klucz główny

19 dr P. Drozda 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

20 dr P. Drozda Wydobywa wszystkie informacje z relacji z interesującymi użytkownika danymi – nie bierze pod uwagę wszystkich krotek Przykład: SQL: SELECT * FROM STUDENCI where imię=‘Jan’; Wynikiem powyższych zapytań jest relacja Nr_indeksuNazwiskoImięAdres 1234KowalskiJanAkacjowa 8

21 dr P. Drozda ogranicza liczbę atrybutów Przykład: PracownikNazwiskoImięPłaca 1StefanekMichał3000 zł 2DębekJarosław2340 zł 3KowalskiJan4600 zł PRACOWNICY

22 dr P. Drozda Wynik zapytania: SELECT Nazwisko, Płaca from Pracownicy jest następujący: NazwiskoPłaca Stefanek3000 zł Dębek2340 zł Kowalski4600 zł

23 dr P. Drozda 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

24 dr P. Drozda stosowane dla zgodnych relacji - ta sama liczba argumentów w relacjach, ta sama dziedzina dla odpowiadających argumentów analogicznie do algebry zbiorów

25 dr P. Drozda Przykład Nr_pracNazwiskoImię 1GolałJan 6ReskoRegina 7JanikTadeusz 9RewakPiotr Nr_pracNazwiskoImię 1GolałJan 2MaserPaweł 3JawoszMagda 4FerelMichał PRACOWNICY KIEROWNICY

26 dr P. Drozda Suma Nr_pracNazwiskoImię 1GolałJan 2MaserPaweł 3JawoszMagda 4FerelMichał 6ReskoRegina 7RewakPiotr 9JanikTadeusz Nr_pracNazwiskoImię 1GolałJan Przecięcie

27 dr P. Drozda Różnica A-B Nr_pracNazwiskoImię 2MaserPaweł 3JawoszMagda 4FerelMichał Nr_pracNazwiskoImię 6ReskoRegina 7RewakPiotr 9JanikTadeusz Różnica A-B

28 dr P. Drozda składanie operatorów w celu wydobycia informacji z bazy danych Przykład – znaleźć wszystkie przedmioty prowadzone przez Janika Nr_pracNazwiskoImię 1GolałJan 6ReskoPaweł 3JanikTadeusz 4FerelMichał IdPrzedPrzedmiotProwadząc y 2Bazy danychnull 5Filozofia4 6Analiza matematyczna3 3Statystyka3 PRACOWNICYPRZEDMIOTY

29 dr P. Drozda SQL select Przedmiot from PRACOWNICY inner join PRZEDMIOTY on PRACOWNICY.Nr_prac = PRZEDMIOTY.Prowadzacy where Nazwisko=‘Janik’;

30 dr P. Drozda 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

31 dr P. Drozda UPDATE tabela SET nazwaKolumny = wartosc WHERE 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

32 dr P. Drozda 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

33 dr P. Drozda 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ę Nr_pracNazwiskoImię 1GolałJan 2ReskoPaweł 3JanikTadeusz 4FerelMichał PRACOWNICY

34 dr P. Drozda 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

35 dr P. Drozda Przykład Nr_pracNazwiskoImię 1GolałJan 6ReskoPaweł 3JanikTadeusz 4FerelMichał IdPrzedPrzedmiotProwadząc y 2Bazy danychnull 5Filozofia4 6Analiza matematyczna3 3Statystyka3 Integralność referencyjna zachowana, jeśli są dopuszczane wartości null klucza obcego (klucze obce mogą należeć do zbioru {1,3,4,6})

36 dr P. Drozda Określenie więzów propagacji – określają co ma się stać z tabelą przy modyfikacji powiązanej tabeli Ograniczone usuwanie – usunięcie krotki z kluczem głównym możliwe w momencie, gdy klucz główny nie ma wystąpień jako klucz obcy Dla poprzedniego przykładu – z tabeli pracownicy można usunąć pracowników o numerach 1 i 6. Pozostali mogą zostać usunięci dopiero w momencie gdy zostaną usunięte odpowiednie krotki w powiązanej tabeli

37 dr P. Drozda Kaskadowe usuwanie Przy usunięciu wiersza z kluczem głównym zostają usunięte wszystkie wiersze z tym kluczem z relacji powiązanej Jeśli usuniemy z tabeli PRACOWNICY pracownika o numerze 3 – zostaną usunięte Przedmioty o numerach 6 i 3 z tabeli PRZEDMIOTY Wstaw null – przy usunięciu krotki z kluczem głównym zostają wstawione wartości null zamiast klucza obcego Wstaw default – przy usuwaniu wstawia wartość domyślną

38 dr P. Drozda Definiowana przez użytkownika – specyficzna dla każdej bazy danych Przykład Możemy wymusić, że każdy pracownik musi prowadzić jakieś zajęcia


Pobierz ppt "Wykład 1 Prowadzący: dr Paweł Drozda. Kontakt: - - wmii.uwm.edu.pl/~pdrozda - Słoneczna 54, pokój."

Podobne prezentacje


Reklamy Google