Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałBożydar Midura Został zmieniony 11 lat temu
1
dr inż. Andrzej Macioł http://amber.zarz.agh.edu.pl/amaciol/
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
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ą<nawa obiektu, cecha obiektu, wartość cechy> 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
Klasa (kategoria) i obiekty uogólnione
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
Przykładowy opis obiektu tej samej kategorii
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 Lp Usługa 1 elektrotechnika 2 hydraulik 3
prace w ogrodzie 4 samochód dostawczy 5 sprzęt elektroniczny 6 ślusarz Id Nazwisko Telefon 1 Abacki Zbyszek 2 Kowalski Jan 3 Kozłowski Stefan Lp Id 1 5 2 6 3 4
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łu NazwaWydziału CharakterPracy 1 Odlewnia ciągły 2 Obróbka 2 zmiany KodWydziału KodAgregatu NazwaAgregatu 1 piec tyglowy 2 formierka 3 tokarka
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
KodPojazdu Nazwa Typ 1 Accent kombi KodPojazdu KodCzęści NazwaCzęści 1 silnik V6 KodPojazdu KodCzęści NazwaCzęści 1 2 szkrzynia 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
KodPojazdu Nazwa Typ 1 Accent kombi KodPojazdu Nazwa Typ 1 Getz cupe KodPojazdu KodCzęści NazwaCzęści 1 2 szkrzynia 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 A1, A2,..An. Iloczyn kartezjański oznacza się następująco: A1 A2 An Zawiera on n-tki (a1, a2,..an) nazywane krotkami takie, że a1A1, a2 A2,... dn An
49
Podstawowe pojęcia Niech A1 = [a,b,c], A2 =[x,y]
Wtedy A1 A2 = {(a,x), (a,y), (b,x), (b,y), (c,x), (c,y)} Przykłady relacji, które są podzbiorami iloczynu kartezjańskiego A1 A2 : 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 <nazwisko, imię, wiek>, gdzie PRAC jest nazwą danej relacji. A oto trzy krotki relacji PRAC: <Kowalski, Jan, 36> <Tomaszewski, Wojciech, 40> <Wiśniewski, Marek, 50>.
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 A1, A2,…, An takiej, że R D1 D2 … Dn nazywamy ciąg (A1, A2,…, An). W celu jawnej specyfikacji schematu relacji R piszemy R(A1, A2,…, An)
54
Reprezentacja tablicowa relacji
. . . Aj An e1 e2 . ei em d1,1 d2,1 di,1 dm,1 d1,2 d2,2 d1,j d2,j di,j dm,j D1,n d2,n di,n dm,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 t1 i t2 takie, że t1[S]=t2[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 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
Zależność funkcjonalna
Niech X i Y będą podzbiorami zbioru atrybutów relacji R X{A1...AN}, Y{A1...AN} 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
Zależność funkcjonalna
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 t1 i t2 z relacji r istnieje taka para krotek że: s1[X]=s2[X]=t1[X]=t2[X] i s1[Y]= t1[Y] i s1[R-X-Y]=t2[R-X-Y] i s2 [Y]= t2[Y] i s2 [R-X-Y]=t1[R-X-Y]
70
Zależność wielowartościowa
X Y R-X-Y krotka Nazwisko Imię dziecka Znajomość języków t1 Kot Ania niemiecki t2 Jaś angielski s1 s2 Słoń Ola
71
Zależność wielowartościowa
t1[X]=t2[X]=s1[X]=s2[X]=(Kot) s1[Y]= t1[Y]=(Ania) i s1[R-X-Y]=t2[R-X-Y]=(angielski) i s2 [Y]= t2[Y]=(Jaś) i s2 [R-X-Y]=t1[R-X-Y]=(niemiecki)
72
Dekompozycja schematu
zastępujemy zbiorem (niekoniecznie rozłącznych) schematów relacji takich, że każdy schemat Ri 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 r1, r2,..., rn, ż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
Pracownik Języki Jan Kowalski angielski – słabo, niemiecki - dobrze Adam Kot rosyjski – bardzo dobrze
77
Relacja nie znormalizowana
Pracownik Znajomość języków Język Poziom Jan Kowalski angielski słabo niemiecki dobrze Adam Kot rosyjski bardzo 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
Pracownik Język Poziom Jan Kowalski angielski słabo niemiecki dobrze Adam Kot rosyjski bardzo 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
Pracownik Imię dziecka Data ur. dziecka Kowalski Ania Jaś Kot Patrycja Filemon
82
Relacja znormalizowana - nieporozumienia
Praco-wnik Imię dziecka1 Data ur. dziecka1 Imię dziecka2 Data ur. dziecka2 Kowal-ski Ania Jaś Kot Patrycja Filemon
83
Pierwsza postać normalna
Przedmiot Prowadzący Student Ocena matematyka prof. Lis Jak Kot 2,0 Ewa Osa 3,0 Adam 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
Przedmiot Student Ocena matematyka Jak Kot 2,0 Ewa Osa 3,0 Adam Struś 5,0 Przedmiot Prowadzący matematyka prof. 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
Pracownik PESEL KodPocztowy Miejscowość Województwo Jan Kowalski 32-082 Bolechowice małopolskie Adam Kot 30-150 Kraków Ewa Lis
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-Codd’a
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 Boyce’a-Codd’a
Relacja jest w postaci Boyce-Codd’a 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-Codd’a
IdPracownika Zawód Wykształcenie Stawka 1 ślusarz podstawowe 5,20 tokarz zawodowe 5,30 2 5,50 3 4 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-Codd’a
IdStudenta Seminarium Opiekun 1 marketing Kowalski kadry Kozłowski 2 Janowski 3 4 informatyka Macioł 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)
Rok Miesiac IdPracownika LiczbaGodzin 2005 01 1 160 2 150 02 140 Taki wiersz nie może się pojawić
110
Więź wiele-do-wielu (dane)
IdAgregatu Agregat Data IdPracownika Nazwisko Godziny 1 Piła Kowalski 4 2 Lis Tokarka 3 Kot 8 6
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)
IdAgregatu Data IdPracownika Godziny 1 4 2 3 8 6
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
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.