Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

1 Literatura: Paul Benon-Davies – Systemy baz danych C. J. Date – Wprowadzenie do systemów baz danych Lech Banachowski, et. al. – Bazy danych, Wykłady.

Podobne prezentacje


Prezentacja na temat: "1 Literatura: Paul Benon-Davies – Systemy baz danych C. J. Date – Wprowadzenie do systemów baz danych Lech Banachowski, et. al. – Bazy danych, Wykłady."— Zapis prezentacji:

1 1 Literatura: Paul Benon-Davies – Systemy baz danych C. J. Date – Wprowadzenie do systemów baz danych Lech Banachowski, et. al. – Bazy danych, Wykłady i ćwiczenia

2 Baza danych – kolekcja danych zapisanych zgodnie z określonymi regułami Bazę danych możemy uważać za zbiór danych, których zadaniem jest reprezentowanie pewnego obszaru analizy Dane to fakty Fakty same w sobie nie mają znaczenia Aby były użyteczne, muszą zostać zinterpretowane Zinterpretowane dane to informacje Informacje to dane z przypisaną im semantyką - znaczeniem 2

3 Ręczne zarządzanie zapisami (4000 p.n.e n.e.) Zarządzanie zapisami na kartach perforowanych ( ) Programowane zarządzanie zapisami ( ) Sieciowe zarządzanie danymi on-line ( ) Relacyjne zarządzanie danymi ( ) Multimedialne bazy danych (1995- ) 3

4 Hierarchiczny Sieciowy Relacyjny Semantyczny Postrelacyjny Obiektowy Dedukcyjny

5 Zbiór danych, których zadaniem jest reprezentowanie pewnego obszaru analizy 5 Przez trwałość rozumiemy, że dane są przechowywane przez jakiś czas

6 Zbiór definicji, które opisują strukturę bazy danych – schemat bazy danych 6 Łączny zbiór danych w bazie danych

7 Reguła, która określa, w jaki sposób baza danych ma pozostać dokładnym odzwierciedleniem swojego obszaru analizy Więzy integralności: połączenie trzech koncepcji: dokładność (ang. accuracy), prawdziwość (ang. correctness), aktualność (ang. validity) Redundancja (nadmiarowość) 7

8 Poprawność modelu – to co w modelu jest zgodne z rzeczywistością Istotność każdego elementu dla funkcjonowania firmy Pełność modelu – gwarancja, że żaden element modelu danych, istotny dla funkcjonowania firmy nie został pominięty 8

9 9 Świat rzeczywisty Analiza wymagań Modelowanie koncepcyjne Modelowanie logiczne Modelowanie fizyczne Baza danych Modelowanie perspektyw Integracja perspektyw Analiza Ilościowa, użycia, integralności Decyzje wdrożeniowe

10 Współdzielenie baz danych – baza danych może być użytkowana przez więcej niż jedną osobę Integracja danych – baza danych jest zbiorem danych nie mających cech redundancyjnych (atrybut ma dwie lub więcej dane identyczne lub wartość można usunąć bez straty informacji) Integralność danych – baza danych dokładnie odzwierciedla obszar analizy, którego ma być modelem 10

11 Bezpieczeństwo danych – ograniczenie dostępu, zabezpieczenie bazy danych Abstrakcja danych – informacje przechowywane w bazie danych są próba reprezentowania właściwości niektórych obiektów w świecie rzeczywistym Niezależność danych – dane są oddzielone od procesów, które używają tych danych 11

12 Zorganizowany zbiór narzędzi umożliwiający dostęp i zarządzanie jedną lub wieloma bazami danych Funkcje: Pielęgnacja danych Wyszukiwanie danych Kontrola danych 12

13 poziom fizyczny – zbiór plików z danymi i z indeksami poziom logiczny (koncepcyjny) – zbiór tabel, perspektyw i indeksów poziom użytkowy – widoki na dane, którymi posługuje się użytkownik 13

14 Dwie części aplikacji bazodanowych: strona klienta – na stacji roboczej użytkownika strona serwera – na komputerze zawierającym serwer bazy danych, czyli bazę danych wraz z systemem zarządzania bazą danych ( SZBD) 14

15 Funkcje aplikacji po stronie serwera bazy danych przechowywanie i organizacja dostępu do danych wykonywanie instrukcji języka baz danych (SQL) sprawowanie kontroli nad spójnością danych zarządzanie zasobami bazy danych, w tym kontami użytkowników 15

16 Funkcje aplikacji po stronie klienta kontakt z użytkownikiem (interfejs użytkownika) wyjaśnienie użytkownikowi stanu obliczeń, w tym błędów i sytuacji wyjątkowych przyjmowanie od niego zleceń na operacje, wykonywanie tych zleceń lub przesyłanie ich w postaci instrukcji języka SQL do serwera bazy danych 16

17 Encja - reprezentacja wyobrażonego lub rzeczywistego obiektu (grupy obiektów) stosowana przy modelowaniu danych podczas analizy informatycznej. Formalnie jest to pojęcie niedefiniowalne, a podstawową cechą encji jest to, że jest rozróżnialna od innych encji. Przykłady encji (i atrybuty w encji): Osoba (imię, nazwisko, PESEL) Pojazd (wysokość, szerokość, długość, sposób poruszania się) 17

18 Modelowanie związków encji obejmuje identyfikowanie rzeczy ważnych w analizowanym przedsiębiorstwie encji, własności tych rzeczy (atrybutów) sposobów, jakimi te encje są ze sobą powiązane (związków) 18

19 Moduły i studenci są przykładami rzeczy istotnych dla uniwersytetu. Takie istotne obiekty nazywamy klasami lub encjami Encje maja właściwości lub atrybuty, np. studenci mają nazwiska, adres, numery telefonów 19

20 Atrybut jest dowolnym szczegółem służącym do kwalifikowania, identyfikowania, klasyfikowania, określania ilości lub wyrażania stanu encji (atrybut jest dowolnym opisem mającym znaczenie dla encji) Atrybut musi opisywać encję, przy której występuje Nazwa atrybutu musi być podana w liczbie pojedynczej Każda encja musi być jednoznacznie zidentyfikowana przez kombinację atrybutów i/lub związków 20

21 Związek jest nazwanym, istotnym powiązaniem istniejącym między dwiema encjami. W szczególnym przypadku związek może być powiązaniem tej samej encji ze sobą Każdy związek ma dwa końce, z których każdy ma przypisaną: nazwę stopień opcjonalność Nazwy związku powinny być tak dobierane, aby możliwe było budowanie zdań w języku naturalnym, np. pracownik posiada samochód 21

22 Edgar Codd (1970) baza danych jest zbiorem relacji relacja: podzbiór iloczynu kartezjańskiego zbiorów wartości 22

23 Reprezentacją relacji jest dwuwymiarowa tabela złożona z kolumn i wierszy 1. Każda relacja w bazie danych ma jednoznaczną nazwę 2. Każda kolumna w relacji ma jednoznaczną nazwę w ramach jednej relacji 3. Wszystkie wartości w kolumnie muszą być tego samego typu – są zdefiniowane w tej samej dziedzinie 4. Porządek kolumn w relacji nie jest istotny 5. Każdy wiersz w relacji musi być różny – nie są dozwolone powtórzenia 6. Porządek wierszy nie jest istotny 7. Każde pole leżące na przecięciu kolumna/wiersz w relacji powinno zawierać wartość atomową – zbiór wartości nie jest dozwolony na jednym polu relacji 23

24 NrPracNazwiskoStatus 237KowalskiL 247NowakSL 445MalinowskiPL NazwaModułuPoziomKodNrPrac Systemy relacyjnych baz danych 1 CDS244 Projektowanie systemów informacyjnych 1 CDS244 Technologie internetowe 4 CDS445 Programowanie obiektowe 4 CDS445 Systemy decyzyjne 2 CDS247 24

25 KodKursuNazwaPrzedmiotuCSD Relacyjne bazy danych Projektowanie systemów informacyjnych Dedukcyjne bazy danych Obiektowe bazy danych Rozproszone bazy danych BSD Wprowadzenie do biznesu Podstawy księgowości 25

26 jego wartość NIE opisuje cechy wykładu reprezentuje związek przedmiotu z wykładowcą, o którym informacja znajduje się w innej tabeli istotne jest, aby ten identyfikator jednoznacznie określał danego wykładowcę NazwaModułuPoziomKodNrPrac Systemy relacyjnych baz danych 1 CDS244 Projektowanie systemów informacyjnych 1 CDS244 Technologie internetowe 4 CDS445 Programowanie obiektowe 4 CDS445 Systemy decyzyjne 2 CDS247 26

27 dla każdej tabeli musi być określony jednoznaczny identyfikator nazwany kluczem głównym – jedna lub więcej kolumn, w których wartości jednoznacznie identyfikują cały wiersz klucz kandydujący (alternatywny) ma tę samą właściwość co klucz główny, przy czym klucz główny jest tylko jeden, kluczy jednoznacznych w tabeli może być więcej niż jeden w tabeli Wykładowcy kluczem głównym jest NrPrac 27

28 Klucz obcy jest sposobem łączenia danych przechowywanych w różnych tabelach Klucz obcy jest to jedna lub więcej kolumn, których wartości występują jako wartości ustalonego klucza głównego lub kandydującego w tej lub innej tabeli i są interpretowane jako wskaźniki do wierszy w tej drugiej tabeli 28

29 Null Dziedziny kolumn są rozszerzone o specjalny obiekt Null – oznaczający brak wartości chwilowy brak wynikający z istoty rzeczy NullNull NullNull Wszystkie porównania i operacje na danych, w argumentem jest Null, dają w wyniku Null (również Null = Null ) 29

30 ORTrueFalseNullTruetruetruetrue Falsetruefalsenull Nulltruenullnull ANDTrueFalseNullTruetruefalsenull Falsefalsefalsefalse Nullnullfalsenull NOTTrueFalseNullfalsetruenull 30 alternatywa koniunkcja negacja

31 Warunki poprawności danych w relacjach dla pojedynczych wartości w wierszu np. 0

32 Weźmy pod uwagę relację Wykładowcy Co się stanie z powiązanymi danymi, jeśli usuniemy jakiegoś wykładowcę: ograniczone usuwanie – zabraniamy usunąć wiersz wykładowcy dopóty, dopóki nie będą usunięte wszystkie wiersze jego modułów kaskadowe usuwanie – jeśli usuniemy wiersz wykładowcy, są jednocześnie usuwane wszystkie powiązane z nim moduły wstaw null przy usuwaniu – jeśli usuwamy wiersz wykładowcy, numery pracowników w powiązanych wierszach modułów ustawiamy na null 32

33 Metoda z góry na dół analizy danych (odwrotnie niż przy normalizacji) Model rzeczy istotnych dla przedsiębiorstwa Model danych jest reprezentowany przy użyciu konstrukcji diagramu związków encji (E-R) Encja jest abstrakcją złożoności pewnej dziedziny!!! 33

34 Jeżeli trzeba przechowywać dane na temat wielu właściwości jakiejś rzeczy, to taka rzecz jest prawdopodobnie encją 34 jest powiązaniem między encjami jest powiązaniem między encjami encja jest scharakteryzowana pewną liczbą właściwości lub atrybutów encja jest scharakteryzowana pewną liczbą właściwości lub atrybutów

35 35 Encje WykładModułStudent Związki Wykład Moduł Student Atrybuty Moduł NazwaModułu Student DataUrStuenta NazwiskoStudenta Poziom

36 związek jeden do jeden - 1:1 Konto bankowe należy najwyżej do jednego klient Klient może mieć najwyżej jedno konto bankowe 36 Klient KontoBankowe

37 związek jeden do wiele - 1:M Klient ma wiele kont bankowych Konto bankowe należy najwyżej do jednego klienta 37 Klient KontoBankowe

38 Związek wiele do wiele – M:N Klient ma wiele kont bankowych Konto bankowe może należeć do wielu klientów 38 Klient KontoBankowe

39 Każdy wykładowca musi być zatrudniony na wydziale Wydział może istnieć bez żadnego wykładowcy 39 Klient KontoBankowe Klient KontoBankowe

40 Związek jednoargumentowy Moduł może mieć określoną liczbę wymaganych (przed nim) modułów Moduł może stanowić wymaganie dotyczące innych modułów 40 Moduł Wymaganie

41 41 NrStudenta NazwaModułu Student Moduł NrStudenta NazwaModułu Student Moduł Rejestracja NrStudenta NazwaModułu dwa związki jeden do wiele

42 42 KursStudent KodKursu NrStudenta KursStudent KodKursuNrStudenta Zapis KodKursu NrStudenta DataZapisu

43 Diagram E-R trzeba przekształcić w schemat relacyjny: Dla każdej encji tworzymy tabelę Identyfikujący atrybut encji staje się kluczem głównym tabeli Wszystkie inne atrybuty stają się niegłównymi atrybutami tabeli Dla każdego związku jeden do wiele wstawiamy klucz główny tabeli ze strony jeden linii związku do tabeli reprezentujących stronę wiele linii związku Opcjonalność mówi, czy klucz obcy może być null czy nie 43

44 1. Jak wstawiamy dane do relacji? 2. Jak usuwamy dane z relacji? 3. Jak poprawiamy dane w relacji? 4. Jak wyszukujemy dane w relacji? Wyszukiwanie w relacyjnym modelu danych jest wykonywane przy użyciu operatorów znanych jako algebra relacyjna 44

45 Zbiór ośmiu operatorów Każdy operator bierze jedną lub więcej relacji jako argument i produkuje jedną relację jako wynik Trzy główne operatory: restrykcja rzut złączenie 45

46 Dodatkowe operatory iloczyn suma przecięcie różnica iloraz 46

47 jest operatorem, który bierze jedną relację jako argument i produkuje w wyniku jedną relację pozioma maszyna do cięcia – wydobywa z wejściowej relacji wiersze Składnia: RESTRICT [WHERE ] 47

48 RESTRICT Moduły WHERE Poziom=1 R1 NazwaModułuPoziomKodNrPrac Systemy relacyjnych baz danych 1 CSD1237 Projektowanie relacyjnych baz danych 1 CSD R1

49 operator rzut (project) bierze jedną relację jako swój argument i produkuje jedną relację wynikową pionowa maszyna do cięcia – tworzy na wyjściu relację będącą podzbiorem kolumn z relacji wejściowej Składnia: PROJECT [ ] 49

50 Np. PROJECT Moduły(NazwaModułu) R1 NazwaModułu Rozproszone bazy danych Obiektowe bazy danych Dedukcyjne bazy danych Systemy relacyjnych baz danych Projektowanie relacyjnych baz danych 50

51 złączenia są oparte na relacyjnym operatorze kartezjańskim Brane są dwie relacje jako argumenty i produkowana jedna relacja wynikowa złożona ze wszystkich możliwych kombinacji wierszy z wejściowych tabel 51

52 EQUINJOIN- jest iloczynem kartezjańskim, po którym wykonywana jest restrykcja Składnia EQUINJOIN WITH 52

53 EQUINJOIN Wykładowcy WITH Moduły R1 Nazwa przedmiotuPoziomKodNrPrac NazwiskoPracStatus Systemy relacyjnych baz danych 1 CDS244 KowalskiL Projektowanie systemów informacyjnych 1 CDS244 Kowalski L Technologie internetowe 4 CDS445 NowakPL Programowanie obiektowe 4 CDS445 NowakPL Systemy decyzyjne 2 CDS247 MalinowskiSL 53 Łączymy dwie tabele, ale tylko dla wierszy, w których wartości w kolumnach złączenia są takie same (nie są usuwane powtórzenia )

54 usuwa jedną z powtarzających się kolumn złączenia JOIN WITH JOIN Wykładowcy WITH Moduły R1 54

55 Nazwa przedmiotuPoziomKodNrPracNazwiskoPracStatus Systemy relacyjnych baz danych 1 CDS244 KowalskiL Projektowanie systemów informacyjnych 1 CDS244 Kowalski L Technologie internetowe 4 CDS445 NowakPL Programowanie obiektowe 4 CDS445NowakPL Systemy decyzyjne 2 CDS247 MalinowskiSL 55

56 Rozszerzamy zawartość bazy w oparciu o logikę trójwartościową Złączenie naturalne zdefiniowane jest tak, aby produkować wynik z dwóch wejściowych relacji R i S, złożony tylko z tych wierszy z R, które mają odpowiadające sobie wiersze w S i odwrotnie 56

57 NrPracNazwiskoStatus 244 Kowalski L 247 Nowak SL 124WójcikL 145GmochSL 445 Malinowski PL NazwaModułuPoziomKodNrPrac Systemy relacyjnych baz danych 1 CDS244 Projektowanie systemów informacyjnych 1 CDS244 Dedukcyjne bazy danych 4 CDS445 Obiektowe bazy danych 4 CDS445 Rozproszone bazy danych 2 CDS247 Opracowanie baz danych 2 CDS null Administrowanie danymi 2 CDS null 57

58 NazwaModułuPoziomKodNrPracNazwiskoPracStatus Systemy relacyjnych baz danych 1 CDS244 KowalskiL Projektowanie systemów informacyjnych 1 CDS244 Kowalski L Dedukcyjne bazy danych 4 CDS445 NowakPL Obiektowe bazy danych 4 CDS445 Nowak PL Rozproszone bazy danych 2 CDS247 MalinowskiSL Opracowanie baz danych 2 CDS null Administrowanie danymi 2 CDS null 58

59 NazwaModułuPoziomKodNrPracNazwiskoPracStatus Systemy relacyjnych baz danych 1 CDS244 KowalskiL Projektowanie systemów informacyjnych 1 CDS244 Kowalski L Dedukcyjne bazy danych 4 CDS445 NowakPL Obiektowe bazy danych 4 CDS445 Nowak PL Rozproszone bazy danych 2 CDS247 MalinowskiSL null 124WójcikL null 145GmochSL 59

60 Nazwa przedmiotuPoziomKodNrPracNazwiskoPracStatus Systemy relacyjnych baz danych 1 CDS244 KowalskiL Projektowanie systemów informacyjnych 1 CDS244 Kowalski L Dedukcyjne bazy danych 4 CDS445 NowakPL Obiektowe bazy danych 4 CDS445 Nowak PL Rozproszone bazy danych 2 CDS247 MalinowskiSL null 124WójcikL null 145GmochSL Opracowanie baz danych 2 CDS null Administrowanie danymi 2 CDS null 60

61 operator, który bierze dwie zgodne relacje jako argumenty i produkuje jedną relację wynikową Zgodne relacje – tabele mają taką samą strukturę – te same kolumny określone są na tych samych dziedzinach UNION 61

62 NrPracNazwiskoStatus 1001ZielińskiUrzędnik 1024Suoski Starszy urzędnik 445KowalskiPL NrPracNazwiskoStatus 1001ZielińskiUrzędnik 1024SuoskiStarszy urzędnik 445KowalskiPL 247NowakSL 124WójcikL 145GmochSL 62 Wykładowcy UNION Administratorzy R1 Wykładowcy UNION Administratorzy R1 Administratorzy

63 działanie przeciwne do sumy (wiersze wspólne) INTERSECTION Wykładowcy INTERSECTION Administratorzy R1 Pracownicy, którzy są jednocześnie wykładowcami i administratorami NrPracNazwiskoStatus 445KowalskiPL 63

64 jedna z tabel musi być binarną (mieć dwie kolumny) druga tabela musi być unarna (jedna kolumna) Tabela unarna musi być zdefiniowana na tej samej dziedzinie co jedna z kolumn w tabeli binarnej 64

65 NazwaModułuDzień Systemy relacyjnych baz danych 19/12/1998 Projektowanie systemów informacyjnych 12/12/1998 Projektowanie systemów informacyjnych 19/12/1998 Obiektowe bazy danych 20/12/1998 Obiektowe bazy danych 20/12/ NazwaModułu Systemy relacyjnych baz danych Projektowanie systemów informacyjnych DniModułu ParyModułu Dzień 19/12/1998 DniModułu DIVISION ParyModułu R1 DniModułu DIVISION ParyModułu R1 R1 Chcemy znaleźć wspólny dzień, w którym wykładane są moduły Systemy relacyjnych baz danych oraz Projektowanie

66 Każdy fakt przechowywany w bazie danych powinien być wyrażalny w niej tylko na jeden sposób informacja o przedmiocie powinna być zapisana tylko w jednym miejscu (a nie przy każdym studencie, który uczęszcza na zajęcia z tego przedmiotu) jeżeli w bazie danych zapisujemy informacje o rodzicach każdej osoby, nie ma już potrzeby zapisywać informacji o dziadkach, gdyż ta informacja daje się wyprowadzić z informacji i rodzicach jeżeli w modelu firmy lotniczej Pasażer i Pracownik to dwie odrębne tabele, to jedna osoba może figurować w bazie danych – raz jako pasażer, a raz jako pracownik firmy lotniczej. Wówczas dane dotyczące takiej osoby będą zapisane w dwóch różnych miejscach 66

67 1. Zbierz zbiór danych 2. Przekształć nieznormalizowany zbiór danych w tabele w pierwszej postaci normalnej 3. Przekształć tabelę z pierwszej postaci normalnej w drugą postać normalną 4. Przekształć tabelę z drugiej postaci normalnej w trzecią postać normalną 67

68 Moduły(NazwaModułu, NrPrac) Wykładowcy(NrPrac, NazwaPrac) Oceny(NazwaModułu, NrStudenta, typOceny, Ocena) Studenci(NrStudenta, Student) 68

69 Dostawcy(Nazwa_dostawcy, Adres, Nazwa_towaru, Cena) NazwaDostawcyAdresNazwa_towaruCena KowalskiWiolinowa 7Telewizor1500 KowalskiWiolinowa 7Radio500 JaworskiMozarta 5Telewizor1800 JaworskiMozarta 5Komputer5000 KowalskiWiolinowa 7Baterie5 MarciniakWarszawska 1Magnetowid Redundancja: adres dostawcy powtarza się dla każdego dostarczonego towaru 2.Anomalie przy modyfikacji: uaktualniony adres w jednym wierszu pozostaje niezmieniony w innych 3.anomalie przy wstawianiu: trudno wstawić dostawcę bez towarów; towar wchodzi w skład klucza – nie może być null 4.Anomalie przy usuwaniu: usuwając informacje o wszystkich towarach dostarczonych przez dostawcę (mógł zmienić profil), usuwamy informacje o samym dostawcy

70 Przyczyna: złączenie w jednej tabeli dwóch różnych obiektów Nazwa_dostawcy Dostawcy(Nazwa_dostawcy, Adres) Nazwa_dostawcyNazwa_towaru Towary(Nazwa_dostawcy, Nazwa_towaru, Cena) 70

71 NazwaModułuNrPracNazwiskoPrac Nr Studenta StudentOcena Typ- Oceny Systemy relacyjnych baz danych234Daniec34698 Saniewski S. B3cwk1 Systemy relacyjnych baz danych234Daniec34698 Saniewski S. B2cwk2 Systemy relacyjnych baz danych234Daniec37798 Janosik S. B1cwk1 Systemy relacyjnych baz danych234Daniec34888 Patel P. B3cwk1 Systemy relacyjnych baz danych234Daniec34888 Patel P. B2cwk2 Projektowanie systemów informacyjnych234Daniec34698 Saniewski S. B3cwk1 Projektowanie systemów informacyjnych234Daniec34698 Saniewski S B1cwk2 Obiektowe bazy danych345Emski34668 Saniewski J. A1egz 71 Nieznormalizowany zbiór danych Moduły

72 Mówimy, że dwa elementy danych A i B są w związku zależności lub związku determinowania, jeżeli pewne wartości elementu danych B zawsze występują z pewnymi wartościami elementu danych A zależności funkcyjne (jednowartościowe) zależności wielofunkcyjne (wielowartościowe) Mówimy, ze element B jest funkcjonalnie zależny od elementu danych A, jeżeli dla każdej wartości A istnieje jedna, jednoznacznie określona wartość B W takim związku element danych A jest nazywany elementem determinującym, a element B determinowanym 72

73 NazwaModułuNrPrac Nazwisko Prac NrStudentaStudentOcena Typ- Oceny Systemy relacyjnych baz danych234Daniec34698 Saniewski S. B3cwk1 B2cwk Janosik S. B1cwk Patel P. B3cwk1 B2cwk2 Projektowanie systemów informacyjnych234Daniec34698 Saniewski S. B3cwk1 B1cwk2 Obiektowe bazy danych345Emski34668 Saniewski J. A1egz 73 Nieznormalizowany zbiór danych Moduły bez powtórzeń

74 Relacja jest w pierwszej postaci normalnej 1PN, wtedy i tylko wtedy, gdy każdy atrybut niekluczowy jest funkcjonalnie zależny od klucza głównego 74

75 Atrybuty NrStudenta, Student, Ocena i TypOceny nie są funkcyjnie zależne od wybranego przez nas klucza głównego NazwaModułu Artybuty NrPrac, NazwiskoPrac są funkcyjnie zależne od klucza głównego Tworzymy dwie tabele: jedną dla atrybutów funkcyjnie zależnych drugą dla niezależnych 75

76 NazwaModułuNrStudentaStudentOcena Typ- Oceny Systemy relacyjnych baz danych34698 Saniewski S. B3cwk1 Systemy relacyjnych baz danych34698 Saniewski S. B2cwk2 Systemy relacyjnych baz danych37798 Janosik S. B1cwk1 Systemy relacyjnych baz danych34888 Patel P. B3cwk1 Systemy relacyjnych baz danych34888 Patel P. B2cwk2 Projektowanie systemów informacyjnych34698 Saniewski S. B3cwk1 Projektowanie systemów informacyjnych34698 Saniewski S. B1cwk2 Obiektowe bazy danych34668 Saniewski J. A1egz 76 Oceny

77 NazwaModułuNrPracNazwiskoPrac Systemy relacyjnych baz danych234Daniec Projektowanie systemów informacyjnych234Daniec 234Daniec Obiektowe bazy danych345Emski 77 Moduły

78 Relacja jest w drugiej postaci normalnej (2PN) wtedy i tylko wtedy gdy jest w 1PN i każdy atrybut niekluczowy jest w pełni funkcyjnie zależny od klucza głównego usuwamy zależności od części klucza. Badamy te tabele, które mają klucze złożone, i dla każdego niekluczowego elementu danych tabeli – pytamy, czy ten element danych nie jest jednoznacznie identyfikowany przez część klucza złożonego 78

79 Tabela Oceny: klucz złożony z trzech części NazwaModułu, NrStudenta i TypOceny NazwaModułu nie ma wpływu na Studenta NrStudenta sam definiuje Studenta (nazwisko) Rozdzielamy determinujące i zależne elementy danych na osobne tabele 79

80 NazwaModułuNrPrac Nazwisko Prac Systemy relacyjnych baz danych234Daniec Projektowanie systemów informacyjnych234Daniec Obiektowe bazy danych345Emski NrStudentaStudent34698 Saniewski S Janosik S Patel P Saniewski J. 80 Moduły Studenci

81 NazwaModułuNrStudentaOcena Typ- Oceny Systemy relacyjnych baz danych34698B3cwk B2cwk B1cwk B3cwk B2cwk2 Projektowanie systemów informacyjnych34698B3cwk B1cwk2 Obiektowe bazy danych34668A1egz 81 Oceny

82 Relacja jest w trzeciej postaci normalnej wtedy i tylko wtedy, gdy jest w 2PN i każdy niekluczowy atrybut jest bezpośrednio zależny ( a nie przechodnio zależny) od klucza głównego usuwamy zależności przechodnie między danymi 82

83 Tabela Moduły: NrPrac determinuje NazwPrac NazwPrac nie jest przechodnio zależny od NazwaModułu 83

84 NazwaModułuNrPrac Systemy relacyjnych baz danych234 Projektowanie systemów informacyjnych234 Obiektowe bazy danych345 NrStudentaStudent34698 Saniewski S Janosik S Patel P Saniewski J. 84 Moduły StudenciNrPrac Nazwisko Prac 234Daniec 345Emski Wykładowcy

85 1. Bez powtórzeń 2. Pola zależą od klucza 3. Od całego klucza 4. I niczego innego, tylko klucza 5. Tak mi dopomóż Codd. 85

86 The key, the whole key and nothing but the key. So help me Codd 86

87 Normalizacja - proces rozkładu odwracalnego, rozpoczyna się od jednej (uniwersalnej) relacji Anomalie są stopniowo usuwane za pomocą ciągu rzutów wymaga, aby cały zbiór danych był w pełni określony 87


Pobierz ppt "1 Literatura: Paul Benon-Davies – Systemy baz danych C. J. Date – Wprowadzenie do systemów baz danych Lech Banachowski, et. al. – Bazy danych, Wykłady."

Podobne prezentacje


Reklamy Google