Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Bazy danych dr inż. Andrzej Macioł

Коpie: 1
Bazy danych dr inż. Andrzej Macioł

Podobne prezentacje


Prezentacja na temat: "Bazy danych dr inż. Andrzej Macioł"— Zapis prezentacji:

1 Bazy danych dr inż. Andrzej Macioł

2 Ontologia Dziedzina metafizyki, która para się badaniem i wyjaśnianiem natury jak i kluczowych właściwości oraz relacji rządzących wszelakimi bytami bądź głównymi zasadami i przyczynami bytu –jak można wszystko poklasyfikować?, –jakie klasy bytów są niezbędne do opisu i wnioskowania na temat zachodzących procesów? –jakie klasy bytu pozwalają wnioskować o prawdzie? –na podstawie jakich klas bytu można wnioskować o przyszłości?

3 Byt Wszystko co jest może być bytem: kot Mruczek, Andrzej Macioł, towar w sklepie, indeks studenta itd. Konstruując ontologię formułujemy zestaw komunikatów, którymi możemy opisać byty, np.: kot Mruczek ma cztery łapy

4 Kategoryzacja Umiejętność zaliczania obiektów do pewnych klas (kategorii, pojęć) Kot Mruczek ma cztery łapy, sierść, ogon itd. ale takie same cechy mają kot Pimpuś, Gienek itd. Wystarczy przyjąć, że istnieje pojęcie (kategoria) kot charakteryzująca się tym, że obiekty do niej należące mają cztery łapy, sierść i ogon itd.

5 htm Trójkąt znaczeniowy

6 Hierarchizacja Koty rodzą się żywe i piją mleko matki ale to samo dotyczy np. psów, które kotami nie są Możemy wprowadzić pojęcie ssaki, które obejmuje zarówno koty jak i psy Wystarczy wówczas powiedzieć że Mruczek jest kotem by wiedzieć o nim wszystko to co dotyczy kotów i ssaków

7 Model danych Dana - symboliczna reprezentacja pewnego faktu opisującego rzeczywistość Dane poszerzone o semantykę to informacje Obiekt to niepodzielna jednostka danych, która opisywana być może krotką Krotka, zwana czasem n-tką, to uogólnienie pary (dwójki), trójki, czwórki, itd. na dowolną liczbę elementów. Krotka n-elementowa to uporządkowany skończony zbiór elementów (lista pewnych obiektów) przy czym kolejne elementy krotki nie muszą należeć do tego samego zbioru.

8 Kategorie Jeżeli mamy do czynienia ze zbiorem wielu podobnych obiektów to dążymy do ujednorodnienia ich opisu co sprowadza się do przypisania wielu w istocie różnym ale podobnym obiektom tych samych cech (różniących się być może wartościami) W ten sposób możemy stworzyć pewien byt abstrakcyjny, który sam w sobie nie jest obiektem i nazwać go kategorią Kategorii przypiszemy pewien zestaw cech, którymi opisywać będziemy wszystkie obiekty do niej należące

9 Związki Związek to trwała lub tymczasowa zależność występująca pomiędzy obiektami i możliwa do zapisania w modelu danych W niektórych przypadkach używane jest pojęcie asocjacji wskazujące na możliwość kojarzenia ze sobą pewnych obiektów lub pojęcie relacji Reguły opisujące konsekwencje wynikające z charakteru związku nazywać będziemy więzami

10 Zasady modelowania danych każdy obiekt opisywany jest przez zestaw cech (atrybutów) z jednoznacznie określoną dziedziną, użytecznych z punktu widzenia wartości informacyjnej ontologii każdy obiekt w tej samej kategorii musi być opisany zgodnie z tym samym wzorcem (choć w niektórych przypadkach nie wszystkie atrybuty obiektu muszą być podane)

11 Zasady modelowania danych musi istnieć możliwość rozróżnienia obiektów, które w rzeczywistości są różne musi istnieć możliwość przedstawienia związków jakie zachodzą lub mogą zajść pomiędzy obiektami musi istnieć możliwość wprowadzenia do modelu dodatkowych ograniczeń wartości cech wynikających ze związków danych a nie tylko z dziedziny wartości atrybutów

12 Abstrakcja Z abstrakcją mamy do czynienia, gdy wychodząc od rzeczy jednostkowych, konkretnych i indywidualnych dochodzimy, przez proces uogólniania i poszukiwania cech stałych i wspólnych, do pojęcia tak ogólnego, że w swej ogólności wręcz absurdalnego, gdyż nie posiadającego żadnej konkretnej cechy Mówimy o dwóch sposobach stosowania abstrakcji. Pierwszy z nich to uogólnienie a drugi to agregacja

13 Uogólnienie Uogólnienie polega na próbie klasyfikacji i generalizacji opisów pewnych obiektów (wystąpień) i tworzeniu z nich bardziej ogólnych zbiorów cech (opisów) Uogólnianie cech obiektów prowadzące do stworzenia kategorii jest także abstrakcją W modelowaniu danych abstrakcję tą nazywamy nie uogólnieniem ale klasyfikacją

14 Uogólnienie - przykład

15 Klasa (kategoria) i obiekty – bez uogólnienia

16 Klasa (kategoria) i obiekty uogólnione

17

18 Agregacja Agregacja polega na traktowaniu obiektu lub kategorii (typu) jako zbioru składowych obiektów lub kategorii Agregacja to nie tylko wskazanie z jakich atrybutów składa się opis obiektu ale także jakie obiekty tworzą obiekt o bardziej złożonej strukturze

19 Przykładowy opis obiektu

20 Schemat agregacji

21 Uogólnienie i agregacja Oba sposoby abstrakcji wykorzystujemy często łącznie Jest to konieczne w wielu przypadkach gdy dokonujemy abstrakcji na poziomie nie tylko obiektów ale także kategorii Na różnym poziomie abstrakcji różny będzie charakter związków i więzi

22 Przykładowy opis obiektu

23 Przykładowy opis obiektu tej samej kategorii

24

25 Schemat abstrakcji

26 Baza danych – próba definicji Baza danych to zbiór danych dotyczących wyróżnionego obszaru zorganizowanych we wzajemnie powiązane pliki Jej istotą jest wewnętrzna struktura i organizacja, która pozwala na zaspokojenie potrzeb jednego lub wielu użytkowników bez uprzedniego sortowania w różne pożądane struktury potrzebne do przetwarzania lub bezpośredniego udzielania informacji

27 Baza danych – próba definicji Dzięki wewnętrznej organizacji stanowiącej integralną część bazy danych, korzystanie z jej zawartości jest niezależne od oprogramowania i sprzętu Według J. Martina baza danych to zbiór wystąpień różnych typów rekordów oraz opisów powiązań między rekordami, danymi zagregowanymi i danymi elementarnymi

28 Baza danych - właściwości współdzielenie danych, a więc możliwość spełniania potrzeb wielu użytkowników nie raz w jednym czasie integracja danych gwarantująca, że dane i związki między nimi nie powtarzają się jeśli nie jest to konieczne ale wszelkie zmiany w obrębie bazy nie powodują wieloznaczności

29 Baza danych - właściwości integralność danych pozwalająca na dokładne odzwierciedlenie stanu i zmian obszaru analizy ze szczególnym uwzględnieniem charakteru związków między danymi bezpieczeństwo danych pozwalające na wypełnienie postulatów integracji i integralności

30 Baza danych - właściwości abstrakcja danych a więc przedstawianie tylko tych informacji, które są istotne z punktu widzenia celu tworzenia bazy niezależność danych polegająca na oddzieleniu danych od procesów, które ich używają

31 Model danych i kolekcja danych Schemat to zbiór definicji w pewnym modelu danych W odniesieniu do baz danych pojęcie schemat jest traktowane jako identyczne z pojęciem części intensjonalnej Łączny zbiór danych zgodnych ze schematem nazywany jest częścią ekstensjonalną bazy danych Podział na część intensjonalną i ekstensjonalną dotyczy wszystkich poziomów abstrakcji modelu

32 Część intensjonalna i ekstensjonalna - problemy W życiu codziennym rzadko stosujemy abstrakcję w taki sposób w jaki wykorzystuje się ją do modelowania danych W sposób naturalny opisujemy pewne zbiory bądź to wyliczając i charakteryzując poszczególne ich elementy bądź wskazując na jedną lub kilka cech, które wyróżniają te elementy od elementów pochodzących z innych zbiorów

33 Przykład – lista fachowców

34 Projekty schematu

35 Schemat z uwzględnieniem związku

36 Zapis związku LpUsługa 1elektrotechnika 2hydraulik 3prace w ogrodzie 4samochód dostawczy 5sprzęt elektroniczny 6ślusarz IdNazwiskoTelefon 1Abacki Zbyszek Kowalski Jan Kozłowski Stefan LpId

37 Formalizmy Formalizm reprezentacji to zbiór składniowych i semantycznych konwencji, które umożliwiają opisywanie rzeczy W terminologii baz danych idea formalizmu reprezentacji odpowiada pojęciu modelu danych

38 Podstawowe formalizmy w bazach danych encja – relacja – klasa - tabela: zbiór podobnych obiektów opisanych w jednolity sposób krotka – obiekt (instancja klasy) – rekord: zestaw wartości atrybutów opisujących jeden obiekt identyfikowany przez wyróżnione atrybuty lub nazwę więź – asoscjacja: związek pomiędzy dwoma encjami (klasami) pokazujący jakie rekordy (obiekty) z jednej encji odpowiadają rekordom z drugiej i jaki jest charakter tej odpowiedniości

39 Przykład Encja (klasa): WydziałyProdukcyjne Encja (klasa): Agregaty KodWydziałuNazwaWydziałuCharakterPracy 1Odlewniaciągły 2Obróbka2 zmiany KodWydziałuKodAgregatuNazwaAgregatu 11piec tyglowy 12formierka 23tokarka

40 Modele danych Model konceptualny – spojrzenie na dane jako całość, model najbardziej stabilny, powinien on być podstawą, na której opierać się będzie przetwarzanie danych Model wewnętrzny, niskiego poziomu – opisuje sposób przechowywania danych w pamięci komputerów i przedstawia formaty rekordów czy ścieżki dostępu, modelami takimi są metody adresowania, struktury łańcuchowe i pierścieniowe

41 Modele danych Modele użytkowe – stanowią podstawę do budowy systemu informatycznego: –hierarchiczny –sieciowy –relacyjny –obiektowy

42 Model hierarchiczny Każdy element zwany rekordem może uczestniczyć w roli podrzędnej w co najwyżej jednym powiązaniu rekordów, w roli nadrzędnej w dowolnej liczbie powiązań Rekord podrzędny nie może istnieć bez rekordu nadrzędnego

43 Więzi w modelu hierarchicznym KodPojazduNazwaTyp 1Accentkombi KodPojazduKodCzęściNazwaCzęści 11silnik V6 KodPojazduKodCzęściNazwaCzęści 12szkrzynia biegów

44 Model sieciowy Każdy rekord może jednocześnie uczestniczyć w wielu powiązaniach rekordów Rekord taki może równocześnie i wielokrotnie wystąpić w roli nadrzędnej oraz w roli podrzędnej, powiązania realizowane są przez rekordy specjalne zwane łącznikami

45 Więzi w modelu sieciowym KodPojazduNazwaTyp 1Accentkombi KodPojazduNazwaTyp 1Getzcupe KodPojazduKodCzęściNazwaCzęści 12szkrzynia biegów

46 Modele obiektowy Wymaga istnienia trwałych obiektów, obiekty te pozostają zapisane w pamięci pomocniczej przed i po wykonaniu programów Obiekty mogą komunikować się bezpośrednio z użytkownikiem lub z innymi obiektami przez przesyłanie komunikatów, obiekty posiadają identyfikator, co umożliwia tworzenie powiązań między nimi Obiekt jest to abstrakcja czegoś w dziedzinie problemu, który odzwierciedla zdolność systemu do przechowywania informacji o tym lub interakcji z tym czymś

47 Relacyjny model danych Relacyjny model danych jest obecnie najbardziej popularnym modelem używanym w systemach baz danych. Podstawą tego modelu stała się praca opublikowana przez E.F. Codda w 1970r. W pracy Relacyjny model logiczny dla dużych banków danych Codd zaprezentował założenia relacyjnego modelu baz danych, model ten oparł na teorii mnogości i rachunku predykatów pierwszego rzędu.

48 Podstawowe pojęcia Relacja jest podzbiorem iloczynu kartezjańskiego dziedzin A 1, A 2,..A n. Iloczyn kartezjański oznacza się następująco: A 1 A 2 A n Zawiera on n-tki (a 1, a 2,..a n ) nazywane krotkami takie, że a 1 A 1, a 2 A 2,... d n An

49 Podstawowe pojęcia Niech A 1 = [a,b,c], A 2 =[x,y] Wtedy A 1 A 2 = {(a,x), (a,y), (b,x), (b,y), (c,x), (c,y)} Przykłady relacji, które są podzbiorami iloczynu kartezjańskiego A 1 A 2 : X = {(a,x), (b,x), (c,x)} Y = {(a,x), (a,y), (b,y)} Analogicznie jak dla iloczynu kartezjańskiego elementy relacji są nazywane krotkami

50 Baza danych - relacja Rozważmy relację, której atrybutami są nazwisko, imię, wiek. Relację tę można zapisać następująco: PRAC, gdzie PRAC jest nazwą danej relacji. A oto trzy krotki relacji PRAC:.

51 Zasady spełnione dla każdej relacji Każda relacja w bazie danych ma jednoznaczną nazwę, Każda kolumna w relacji ma jednoznaczną nazwę w ramach jednej relacji, Wszystkie wartości w kolumnie muszą być tego samego typu,

52 Zasady spełnione dla każdej relacji Porządek kolumn w relacji nie jest istotny, Każdy wiersz w relacji musi być różny, Porządek wierszy nie jest istotny, Każde pole leżące na przecięciu kolumny/wiersza w relacji powinno zawierać wartość atomową

53 Schemat relacji Schematem relacji R o danych atrybutach A 1, A 2,…, A n takiej, że R D 1 D 2 … D n nazywamy ciąg (A 1, A 2,…, A n ). W celu jawnej specyfikacji schematu relacji R piszemy R(A 1, A 2,…, A n )

54 Reprezentacja tablicowa relacji EA1A1 A2A2...AjAj AnAn e1e2...ei...eme1e2...ei...em d 1,1 d 2,1. d i,1. d m,1 d 1,2 d 2,2. d i,1. d m, d 1,j d 2,j. d i,j. d m,j D 1,n d 2,n. d i,n. d m,n

55 Zbiór identyfikujący relacji zbiór atrybutów który jednoznacznie identyfikuje wszystkie krotki w relacji R w żadnej relacji o schemacie R nie mogą istnieć dwie krotki t 1 i t 2 takie, że t 1 [S]=t 2 [S]

56 Zbiór identyfikujący relacji

57 Klucz Minimalny zbiór identyfikujący Taki zbiór atrybutów relacji, których kombinacje wartości jednoznacznie identyfikują każdą krotkę tej relacji a żaden podzbiór tego zbioru nie posiada tej własności W kluczu nie może zawierać się wartość Null

58 Klucz

59 Klucz jest kluczem prostym, jeżeli powyżej opisany zbiór jest jednoelementowy - w przeciwnym razie mówimy o kluczu złożonym W ogólności, w relacji można wyróżnić wiele kluczy, które nazywamy kluczami potencjalnymi. Wybrany klucz spośród kluczy potencjalnych nazywamy kluczem głównym (Primary Key PK)

60 Zależność funkcjonalna Atrybut B relacji R jest funkcjonalnie zależny od atrybutu A jeżeli dowolnej wartości a atrybutu A odpowiada nie więcej niż jedna wartość b atrybutu B

61 Zależność funkcjonalna

62 Niech X i Y będą podzbiorami zbioru atrybutów relacji R X {A 1...A N }, Y {A 1...A N } podzbiór atrybutów Y zależy funkcyjnie od podzbioru atrybutów X, jeżeli nie jest możliwe, by relacja R zawierała dwie krotki mające składowe zgodne tzn. identyczne dla wszystkich atrybutów ze zbioru X i jednocześnie co najmniej jedną niezgodną składową dla atrybutów ze zbioru Y

63 Zależność funkcjonalna

64 Zbiór atrybutów Y jest w pełni funkcjonalnie zależny od zbioru atrybutów X w schemacie R, jeżeli: i nie istnieje takie, że

65 Zależność funkcjonalna Zbiór atrybutów Y jest częściowo funkcjonalnie zależny od zbioru atrybutów X w schemacie R, jeżeli: i istnieje takie, że

66 Zależność częściowa i pełna

67 Zależność funkcjonalna Niech X, Y i Z będą trzema rozłącznymi podzbiorami atrybutów danej relacji Z jest przechodnio funkcjonalnie zależny od X, jeśli Z jest funkcjonalnie zależny od Y i Y jest funkcjonalnie zależny od X natomiast X nie jest zależny od Y i Y nie jest zależny od Z

68 Zależność przechodnia

69 Zależność funkcjonalna Podzbiór atrybutów Y jest wielowartościowo funkcjonalnie zależny od podzbioru X w schemacie R, jeżeli dla dowolnej relacji r w schemacie R i dla dowolnej pary krotek t 1 i t 2 z relacji r istnieje taka para krotek że: s 1 [X]=s 2 [X]=t 1 [X]=t 2 [X] i s 1 [Y]= t 1 [Y] i s 1 [R-X-Y]=t 2 [R-X-Y] i s 2 [Y]= t 2 [Y] i s 2 [R-X-Y]=t 1 [R-X-Y]

70 Zależność wielowartościowa krotkaNazwiskoImię dziecka Znajomość języków t1t1 KotAnianiemiecki t2t2 KotJaśangielski s1s1 KotAniaangielski s2s2 KotJaśniemiecki SłońOlaniemiecki SłońOlaangielski XYR-X-Y

71 Zależność wielowartościowa t 1 [X]=t 2 [X]=s 1 [X]=s 2 [X]=(Kot) s 1 [Y]= t 1 [Y]=(Ania) i s 1 [R-X-Y]=t 2 [R-X-Y]=(angielski) i s 2 [Y]= t 2 [Y]=(Jaś) i s 2 [R-X-Y]=t 1 [R-X-Y]=(niemiecki)

72 Dekompozycja schematu Schemat zastępujemy zbiorem (niekoniecznie rozłącznych) schematów relacji takich, że każdy schemat R i stanowi podzbiór zbioru atrybutów i

73 Dekompozycja schematu W schemacie występuje połączeniowa zależność funkcjonalna wtedy i tylko wtedy gdy istnieje możliwość takiej dekompozycji relacji r na relacje r 1, r 2,..., r n, że można ją zrekonstruować przy pomocy operacji połączenia

74 Dekompozycja schematu połączeniowa zależność funkcjonalna wynika z zależności atrybutów schematu R od klucza wtedy i tylko wtedy gdy w dowolnej sekwencji połączeń relacji składowych w celu rekonstrukcji relacji r operacja wykonywana jest względem zbioru identyfikującego schematu R

75 Pierwsza postać normalna Jedynymi relacjami dozwolonymi w modelu relacyjnym są relacje spełniające następujący warunek: każda wartość w relacji, tj. każda wartość atrybutu w każdej krotce, jest wartością atomową (wartością nie rozkładalną) (lPN) oznacza, że tabela nie zawiera powtarzających się grup informacji, co znaczy, że każda kolumna jest wartością skalarną (atomową), a nie macierzą lub listą czy też czymkolwiek, co posiada własną strukturę

76 Relacja nie znormalizowana PracownikJęzyki Jan Kowalskiangielski – słabo, niemiecki - dobrze Adam Kotrosyjski – bardzo dobrze

77 Relacja nie znormalizowana PracownikZnajomość języków JęzykPoziom Jan Kowalskiangielskisłabo niemieckidobrze Adam Kotrosyjskibardzo dobrze

78 Relacja nie znormalizowana Relację "przed normalizacją" zdefiniowano na dwóch dziedzinach: Pracownik i Znajomość Języków Elementami dziedziny Znajomość Języków są również relacje (zdefiniowane na dziedzinach Język i Poziom) Relacja jest z punktu widzenia definicji relacją dwuczłonową, ale nie wszystkie jej dziedziny są proste (dziedzina prosta to taka, której wszystkie elementy są atomowe)

79 Relacja znormalizowana PracownikJęzykPoziom Jan Kowalskiangielskisłabo Jan Kowalskiniemieckidobrze Adam Kotrosyjskibardzo dobrze

80 Relacja znormalizowana Relacja jest relacją trójczłonową, której wszystkie dziedziny są proste, jest więc znormalizowana Powodem tego jest uproszczenie struktury danych, które z kolei powoduje uproszczenie operatorów w subjęzyku danych Uproszczenia te nie ograniczają w niczym możliwości reprezentowania obiektów

81 Relacja znormalizowana - nieporozumienia PracownikImię dzieckaData ur. dziecka KowalskiAnia Jaś KotPatrycja Filemon

82 Relacja znormalizowana - nieporozumienia Praco- wnik Imię dziecka1 Data ur. dziecka1 Imię dziecka2 Data ur. dziecka2 Kowal- ski Ania Jaś KotPatrycja Filemon

83 Pierwsza postać normalna PrzedmiotProwadzącyStudentOcena matematykaprof. LisJak Kot2,0 matematykaprof. LisEwa Osa3,0 matematykaprof. LisAdam Struś5,0

84 Pierwsza postać normalna Powtarzająca się grupa danych to podzbiór relacji zawierający co najmniej dwa atrybuty, posiadająca własny klucz prosty, w którym istnieją powtarzające się krotki Powtarzanie się takich samych krotek wymuszone jest faktem, że mamy do czynienia z grupą dla której część atrybutów jest strukturą a nie wartością skalarną

85 Pierwsza postać normalna PrzedmiotStudentOcena matematykaJak Kot2,0 matematykaEwa Osa3,0 matematykaAdam Struś5,0 PrzedmiotProwadzący matematykaprof. Lis

86 Anomalie przy usuwaniu, wstawianiu i aktualizacji – baza klientów systemu CRM

87 Anomalie przy usuwaniu Po usunięciu informacji o firmie P H U Żagiel tracimy informacje o branży Handel (Opis)

88 Anomalie przy wstawianiu Wstawienie informacji nowym kliencie wymaga wpisania opisu branży mimo, że opis już istnieje

89 Anomalie przy aktualizacji Zmiana opisu Usług krawieckich musi być dokonana w czterech miejscach

90 Druga postać normalna Relacja jest w drugiej postaci normalnej, jeśli każdy atrybut tej relacji nie wchodzący w skład żadnego klucza potencjalnego jest w pełni funkcyjnie zależny wyłącznie od wszystkich podrelacji klucza głównego

91 Ta relacja nie jest w drugiej postaci normalnej

92 Ta relacja nie jest w drugiej postaci normalnej bo: kluczem w relacji jest podzbiór atrybutów Id Firmy i Nazwa branży bo powtórzenie krotki o dwóch identycznych wartościach tych atrybutów wskazywałoby na powtórne przypisanie tej samej branży tej samej firmie atrybut Nazwa zależy funkcjonalnie od atrybutu Id Firmy a nie zależy od atrybutu Nazwa branży (może być wiele firm w każdej z branż)

93 Relacja po dekompozycji

94 Trzecia postać normalna Relacja jest w trzeciej postaci normalnej, jeśli: –jest w drugiej postaci normalnej –żaden atrybut nie będący kluczem nie jest funkcjonalnie związany z żadnym innym atrybutem nie będącym również kluczem

95 Ta relacja nie jest w trzeciej postaci normalnej PracownikPESELKodPocztowyMiejscowośćWojewództwo Jan Kowalski Bolechowicemałopolskie Adam Kot Krakówmałopolskie Ewa Lis Bolechowicemałopolskie

96 Zależność funkcjonalna przechodnia Niech X, Y i Z będą trzema rozłącznymi podzbiorami atrybutów danej relacji Z jest przechodnio funkcjonalnie zależny od X, jeśli Z jest funkcjonalnie zależny od Y i Y jest funkcjonalnie zależny od X natomiast X nie jest zależny od Y i Y nie jest zależny od Z

97 Forma normalna Boyce-Codda Jest uzupełnieniem trzeciej postaci normalnej i jest niezbędna w przypadku gdy atrybuty będące kandydatami na klucze są: –wielokrotne, –złożone, –nakładające się na siebie

98 Forma normalna Boycea-Codda Relacja jest w postaci Boyce-Codda jeżeli dla każdej nietrywialnej zależności między podzbiorami relacji zbiór będący wyznacznikiem jest zbiorem identyfikującym tej relacji Zależność X Y jest trywialna jeżeli Y jest podzbiorem X Definicja BCNF zastępuje definicje, pierwszej, drugiej i trzeciej formy normalnej dodatkowo je poszerzając

99 Forma normalna Boyce-Codda IdPracownikaZawódWykształcenieStawka 1ślusarzpodstawowe5,20 1tokarzzawodowe5,30 2ślusarzzawodowe5,50 3tokarzzawodowe5,30 4ślusarzpodstawowe5,20 kluczem w relacji jest podzbiór IdPracownika, Zawód lub IdPracownika, Wykształcenie zależność Zawód, Wykształcenie Stawka jest funkcjonalna i nietrywialna a Zawód, Wykształcenie nie jest zbiorem identyfikującym

100 Forma normalna Boyce-Codda IdStudentaSeminariumOpiekun 1marketingKowalski 1kadryKozłowski 2kadryJanowski 3marketingKowalski 4informatykaMacioł ponieważ opiekun może mieć tylko jedno seminarium to kluczem w relacji jest podzbiór IdStudenta, Seminarium lub IdStudenta, Opiekun zależność Opiekun Seminarium jest funkcjonalna i nietrywialna a Opiekun nie jest zbiorem identyfikującym

101 Czwarta forma normalna Relacja jest w czwartej formie normalnej wtedy i tylko wtedy, gdy jest w trzeciej postaci normalnej i nie zawiera wielowartościowej zależności atrybutów

102 Więzi Więź (ang. relationship) to powiązanie pomiędzy parą tabel. Istnieje ona wtedy, gdy dwie tabele są połączone przez klucz podstawowy i klucz obcy. Każda więź jest opisywana przez typ więzi istniejący między dwoma tabelami, typ uczestnictwa oraz stopień uczestnictwa tych tabel

103 Typy więzi jeden-do-jednego (jeżeli pojedynczemu rekordowi z pierwszej tabeli przyporządkowany jest najwyżej jeden rekord z drugiej tabeli i na odwrót)

104 Więź jeden-do-jednego

105 Typy więzi jeden-do-wielu (jeżeli pojedynczemu rekordowi z pierwszej tabeli może odpowiadać jeden lub więcej rekordów z drugiej, ale pojedynczemu rekordowi z drugiej tabeli odpowiada najwyżej jeden rekord z tabeli pierwszej)

106 Więź jeden-do-wielu

107 Więzi identyfikujące Klucz obcy, który jest składnikiem złożonego klucza głównego w relacji zależnej określany jest mianem klucza obcego głównego (Primary Foreign Key) a tak zbudowana więź więziom identyfikującą

108 Więź jeden-do-wielu (identyfikująca)

109 Obcy klucz główny (IdPracownika) RokMiesiacIdPracownikaLiczbaGodzin Taki wiersz nie może się pojawić

110 Więź wiele-do-wielu (dane) IdAgregatuAgregatDataIdPracownikaNazwiskoGodziny 1Piła Kowalski4 1Piła Lis4 2Tokarka Kowalski4 2Tokarka Kot8 1Piła Kowalski8 2Tokarka Kot2 2Tokarka Lis6

111 Więź wiele-do-wielu Na jednym agregacie mogą pracować różni pracownicy, np. na agregacie Piła 10. marca pracowało dwóch pracowników Jeden pracownik może pracować na wielu agregatach, np. Kowalski pracował 10. marca na Pile i Tokarce)

112 Więź wiele-do-wielu

113 Więź wiele-do-wielu (po rekonstrukcji) IdAgregatuDataIdPracownikaGodziny

114 Typy uczestnictwa obowiązkowy (jeśli w pierwszej tabeli muszą znajdować się pewne rekordy zanim zaczniemy wprowadzać rekordy do tabeli drugiej) opcjonalny (jeśli wprowadzanie rekordów do tabeli drugiej nie wymaga istnienia żadnych rekordów w tabeli pierwszej). Stopień uczestnictwa określa minimalną i maksymalną liczbę rekordów w jednej tabeli, które można powiązać z pojedynczym rekordem w tabeli drugiej.

115 Opcjonalny typ uczestnictwa

116 Klucz sztuczny Klucz stworzony wyłącznie dla potrzeb więzi w celu zastąpienia złożonego klucza głównego

117 Klucz złożony...

118 ...zastąpiony kluczem sztucznym

119 Klucz złożony...

120 ...zastąpiony kluczem sztucznym

121 Klucz sztuczny Klucz sztuczny może być wykorzystany do kodowania atrybutów tekstowych (w niektórych przypadkach także liczbowych) o powtarzających się wartościach, dla których można utworzyć listę Użycie klucza sztucznego wymaga stworzenia dodatkowej tabeli (słownika) pozwalającego na rozkodowanie klucza


Pobierz ppt "Bazy danych dr inż. Andrzej Macioł"

Podobne prezentacje


Reklamy Google