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ą
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 danychkaż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 danychmusi 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 agregacjaOba 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 definicjiBaza 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 definicjiDzię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ściwspół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ściintegralność 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ściabstrakcja 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 danychSchemat 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 - problemyW ż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 3prace 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 danychencja – 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): AgregatyKodWydział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 hierarchicznymKodPojazdu 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 sieciowymKodPojazdu 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 danychRelacyjny 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
51 Zasady spełnione dla każdej relacjiKaż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 relacjiPorzą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 relacjizbió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ącyTaki 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ść funkcjonalnaAtrybut 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ść funkcjonalnaNiech 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ść funkcjonalnaZbió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ść funkcjonalnaZbió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ść funkcjonalnaNiech 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ść funkcjonalnaPodzbió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ściowaX 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ściowat1[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 schematuzastępujemy zbiorem (niekoniecznie rozłącznych) schematów relacji takich, że każdy schemat Ri stanowi podzbiór zbioru atrybutów i
73 Dekompozycja schematuW 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 schematupołą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ć normalnaJedynymi 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 znormalizowanaPracownik Języki Jan Kowalski angielski – słabo, niemiecki - dobrze Adam Kot rosyjski – bardzo dobrze
77 Relacja nie znormalizowanaPracownik Znajomość języków Język Poziom Jan Kowalski angielski słabo niemiecki dobrze Adam Kot rosyjski bardzo dobrze
78 Relacja nie znormalizowanaRelację "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 znormalizowanaPracownik Język Poziom Jan Kowalski angielski słabo niemiecki dobrze Adam Kot rosyjski bardzo dobrze
80 Relacja znormalizowanaRelacja 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 - nieporozumieniaPracownik Imię dziecka Data ur. dziecka Kowalski Ania Jaś Kot Patrycja Filemon
82 Relacja znormalizowana - nieporozumieniaPraco-wnik Imię dziecka1 Data ur. dziecka1 Imię dziecka2 Data ur. dziecka2 Kowal-ski Ania Jaś Kot Patrycja Filemon
83 Pierwsza postać normalnaPrzedmiot Prowadzący Student Ocena matematyka prof. Lis Jak Kot 2,0 Ewa Osa 3,0 Adam Struś 5,0
84 Pierwsza postać normalnaPowtarzają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ć normalnaPrzedmiot 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 usuwaniuPo usunięciu informacji o firmie P H U „Żagiel” tracimy informacje o branży „Handel” (Opis)
88 Anomalie przy wstawianiuWstawienie informacji nowym kliencie wymaga wpisania opisu branży mimo, że opis już istnieje
89 Anomalie przy aktualizacjiZmiana 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ć normalnaRelacja 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 normalnejPracownik PESEL KodPocztowy Miejscowość Województwo Jan Kowalski 32-082 Bolechowice małopolskie Adam Kot 30-150 Kraków Ewa Lis
96 Zależność funkcjonalna przechodniaNiech 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’aJest 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’aRelacja 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’aIdPracownika 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’aIdStudenta 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 normalnaRelacja 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