Relacyjny model danych

Podobne dokumenty
Pierwsza postać normalna

Pierwsza postać normalna

Bazy Danych. Model Relacyjny. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

Normalizacja relacji

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Wykład 2. Relacyjny model danych

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Systemy baz danych. Notatki z wykładu

Model relacyjny. Wykład II

Bazy danych. Algebra relacji

BAZY DANYCH model relacyjny. Opracował: dr inż. Piotr Suchomski

Relacyjny model baz danych, model związków encji, normalizacje

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

1 Wstęp do modelu relacyjnego

PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA

Normalizacja baz danych

Pożyczkobiorcy. Anomalia modyfikacji: Anomalia usuwania: Konta_pożyczkowe. Anomalia wstawiania: Przykłady anomalii. Pożyczki.

Bazy Danych. Projektowanie. Normalizacja. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

Normalizacja. Pojęcie klucza. Cel normalizacji

Relacyjny model danych

Pojęcie zależności funkcyjnej

Cel normalizacji. Tadeusz Pankowski

Bazy Danych i Usługi Sieciowe

KaŜdemu atrybutowi A przyporządkowana jest dziedzina Dom(A), czyli zbiór dopuszczalnych wartości.

Model relacyjny bazy danych

BAZY DANYCH. Anomalie. Rozkład relacji i normalizacja. Wady redundancji

Jak wiernie odzwierciedlić świat i zachować występujące w nim zależności? Jak implementacja fizyczna zmienia model logiczny?

Bazy danych i usługi sieciowe

WYKŁAD 1. Wprowadzenie do problematyki baz danych

TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO

PLAN WYKŁADU BAZY DANYCH ZALEŻNOŚCI FUNKCYJNE

Relacyjne bazy danych. Normalizacja i problem nadmierności danych.

Transformacja modelu ER do modelu relacyjnego

Baza danych. Modele danych

Utwórz klucz podstawowy relacji na podstawie unikalnego identyfikatora encji. podstawie kluczy podstawowych wiązanych relacji.

Transformacja modelu ER do modelu relacyjnego

Przykłady normalizacji

Teoretyczne podstawy informatyki

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Teoretyczne podstawy informatyki

Technologie baz danych

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Postać normalna Boyce-Codd (BCNF)

Bazy danych wykład trzeci. trzeci Modelowanie schematu bazy danych 1 / 40

1 Przygotował: mgr inż. Maciej Lasota

PODSTAWOWE POJĘCIA BAZ DANYCH

Zależności funkcyjne

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Bazy danych wykład drugi. Konrad Zdanowski

Transformacja modelu EER do postaci relacyjnego modelu danych. Zbyszko Królikowski

Model relacyjny. Wykład II

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Projektowanie relacyjnych baz danych

Bazy danych. Andrzej Łachwa, UJ, /14

Bazy danych. Andrzej Łachwa, UJ, /15

Normalizacja schematów logicznych relacji

RBD Relacyjne Bazy Danych

Algebra relacji. nazywamy każdy podzbiór iloczynu karteziańskiego D 1 D 2 D n.

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.

Technologia informacyjna

Bazy danych - wykład wstępny

WPROWADZENIE DO BAZ DANYCH

Normalizacja relacyjnych baz danych. Sebastian Ernst

Autor: Joanna Karwowska

FUNKCJE SZBD. ZSE - Systemy baz danych 1

domykanie relacji, relacja równoważności, rozkłady zbiorów

Zestaw zadań 5: Sumy i sumy proste podprzestrzeni. Baza i wymiar. Rzędy macierzy. Struktura zbioru rozwiązań układu równań.

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne)

Baza danych. Baza danych to:

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

Plan wykładu: Relacyjny model danych: opis modelu, podstawowe pojęcia, ograniczenia, więzy.

Bazy danych Algebra relacji Wykład dla studentów matematyki

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Laboratorium nr 5. Bazy danych OpenOffice Base.

BAZY DANYCH algebra relacyjna. Opracował: dr inż. Piotr Suchomski

Zależności funkcyjne c.d.

PLAN WYKŁADU BAZY DANYCH GŁÓWNE ETAPY PROJEKTOWANIA BAZY MODELOWANIE LOGICZNE

Tadeusz Pankowski Definicja. Definicja

Projektowanie Systemów Informacyjnych

BAZY DANYCH NORMALIZACJA BAZ DANYCH. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

Związki pomiędzy tabelami

Bazy danych 3. Normalizacja baz danych

WPROWADZENIE DO BAZ DANYCH

Bazy danych w sterowaniu

Bazy danych 2. Zależności funkcyjne Normalizacja baz danych

Agnieszka Ptaszek Michał Chojecki

Bazy Danych 2008 Część 1 Egzamin Pisemny

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

S y s t e m y. B a z D a n y c h

Bazy danych. Dr inż. Paweł Kasprowski

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Bazy danych Teoria projektowania relacyjnych baz danych. Wykła. Wykład dla studentów matematyki

Rozdział 7 Relacje równoważności

Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych. Andrzej Bąk

Systemy baz danych. mgr inż. Sylwia Glińska

Transkrypt:

Model relacyjny

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.

Relacja 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

Przykład 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

Oferta handlowa Toyoty Dziedziny: A 1 - Model i A 2 - Kolor Model = Yaris Corolla Avensis Kolor = Pure White Mambo Red Eclipse Black metalic Zenith Blue metalic

Oferta handlowa Toyoty Gdyby wszystkie modele były dostępne we wszystkich kolorach - iloczyn kartezjański Model = Kolor = Yaris Pure White Yaris Mambo Red Yaris Eclipse Black metalic Yaris Zenith Blue metalic Corolla Pure White Corolla Mambo Red Corolla Eclipse Black metalic Corolla Zenith Blue metalic Avensis Pure White Avensis Mambo Red Avensis Eclipse Black metalic Avensis Zenith Blue metalic

Oferta handlowa Toyoty Dostępne są tylko wybrane kolory modeli (zaznaczone na zielono) Model = Kolor = Yaris Pure White Yaris Mambo Red Yaris Eclipse Black metalic Yaris Zenith Blue metalic Corolla Pure White Corolla Mambo Red Corolla Eclipse Black metalic Corolla Zenith Blue metalic Avensis Pure White Avensis Mambo Red Avensis Eclipse Black metalic Avensis Zenith Blue metalic

Oferta handlowa Toyoty Oferta 2016 jest relacją stanowiącą podzbiór iloczynu kartezjańskiego Model = Kolor = Yaris Pure White Yaris Mambo Red Yaris Zenith Blue metalic Corolla Mambo Red Corolla Eclipse Black metalic Corolla Zenith Blue metalic Avensis Eclipse Black metalic Avensis Zenith Blue metalic

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,

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ą

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 )

Zbiór identyfikujący relacji R A A,..., 1, 2 zbiór atrybutów S R 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] A n

Relacja pracownicy IdPracownika PESEL Nazwisko Imie R = {IdPracownika, PESEL, Nazwisko,Imie} S = {IdPracownika, PESEL, Nazwisko,Imie} S = {IdPracownika, PESEL, Nazwisko} S = {IdPracownika, PESEL, Imie} S = {IdPracownika, PESEL} S = {IdPracownika} S = {PESEL} 1 12345678901 Kot Jan 2 09876545635 Pies Adam 3 43234112222 Osa Ewa 4 65643222254 Kot Adam 5 32123566664 Kot Jan

Relacja dzieci pracowników IdPracownika ImieDziecka DataUrodzeniaDziecka 1 Ania 15-lut-80 1 Ania 01-sty-10 1 Jaś 12-gru-12 3 Ola 03-mar-01 3 Ewa 28-lut-04 3 Adaś 05-wrz-08 R = {IdPracownika, ImieDziecka, DataUrodzeniaDziecka} S = {IdPracownika, ImieDziecka, DataUrodzeniaDziecka}

Relacja? dzieci pracowników bliźniaczki o tym samym imieniu IdPracownika ImieDziecka DataUrodzeniaDziecka 1 Ania 12-lut-90 1 Ania 01-sty-10 1 Jaś 12-gru-12 3 Ola 03-mar-01 3 Ewa 28-lut-04 3 Ewa 28-lut-04 3 Adaś 05-wrz-08 Nie można określić zbioru identyfikującego To nie jest relacja

Relacja dzieci pracowników bliźniaczki o tym samym imieniu IdPracownika PeselDziecka ImieDziecka DataUrodzeniaDziecka 1 56874893222 Ania 15-lut-80 1 12345123412 Ania 01-sty-10 1 21222358921 Jaś 12-gru-12 3 34513224232 Ola 03-mar-01 3 65487683688 Ewa 28-lut-04 3 43569872312 Ewa 28-lut-04 3 90876754322 Adaś 05-wrz-08 R = {IdPracownika, PeselDziecka, ImieDziecka, DataUrodzeniaDziecka} S = {IdPracownika, PeselDziecka, ImieDziecka, DataUrodzeniaDziecka} S = {IdPracownika, PeselDziecka}

Relacja oceny studentów wybrane zbiory identyfikujące IdStudenta PESEL Nazwisko Imie IdPrzedmiotu Przedmiot DataZaliczenia RodzajZaliczenia Ocena 1 12345678901 Kowalski Jan 1 matematyka 23-lut-16 ćwiczenia 3,00 1 12345678901 Kowalski Jan 1 matematyka 25-lut-16 egzamin 2,00 1 12345678901 Kowalski Jan 1 matematyka 27-lut-16 egzamin 2,00 1 12345678901 Kowalski Jan 2 bazy danych 10-lut-16 ćwiczenia 5,00 2 63457630457 Kot Ewa 1 matematyka 10-lut-16 ćwiczenia 4,00 2 63457630457 Kot Ewa 1 matematyka 18-lut-16 egzamin 3,00 R = {IdStudenta, PESEL, Nazwisko, Imie, IdPrzedmiotu, Przedmiot, DataZaliczenia, RodzajZaliczenia, Ocena} S = {IdStudenta, PESEL, Nazwisko, Imie, IdPrzedmiotu, Przedmiot, DataZaliczenia, RodzajZaliczenia, Ocena} S = {IdStudenta, PESEL, Nazwisko, Imie, IdPrzedmiotu, Przedmiot, DataZaliczenia, RodzajZaliczenia} S = {IdStudenta, IdPrzedmiotu, DataZaliczenia, RodzajZaliczenia} S = {PESEL, IdPrzedmiotu, DataZaliczenia, RodzajZaliczenia}

Relacja oceny studentów dwa podejścia w jednym dniu IdStudenta PESEL Nazwisko Imie IdPrzedmiotu Przedmiot DataZaliczenia RodzajZaliczenia Ocena 1 12345678901 Kowalski Jan 1 matematyka 23-lut-16 ćwiczenia 3,00 1 12345678901 Kowalski Jan 1 matematyka 25-lut-16 egzamin 2,00 1 12345678901 Kowalski Jan 1 matematyka 25-lut-16 egzamin 2,00 1 12345678901 Kowalski Jan 2 bazy danych 10-lut-16 ćwiczenia 5,00 2 63457630457 Kot Ewa 1 matematyka 10-lut-16 ćwiczenia 4,00 2 63457630457 Kot Ewa 1 matematyka 18-lut-16 egzamin 3,00 Nie można zdefiniować zbioru identyfikującego

Relacja oceny studentów dwa podejścia w jednym dniu - rozwiązanie IdStu PESEL Nazwisko Imie IdPrzed DataZalicze Przedmiot RodzajZaliczenia denta miotu nia Termin Ocena 1 12345678901 Kowalski Jan 1 matematyka 23-lut-16 ćwiczenia 1 3,00 1 12345678901 Kowalski Jan 1 matematyka 25-lut-16 egzamin 1 2,00 1 12345678901 Kowalski Jan 1 matematyka 25-lut-16 egzamin 2 2,00 1 12345678901 Kowalski Jan 2 bazy danych 10-lut-16 ćwiczenia 1 5,00 2 63457630457 Kot Ewa 1 matematyka 10-lut-16 ćwiczenia 1 4,00 2 63457630457 Kot Ewa 1 matematyka 18-lut-16 egzamin 1 3,00 R = {IdStudenta, PESEL, Nazwisko, Imie, IdPrzedmiotu, Przedmiot, DataZaliczenia, RodzajZaliczenia, Termin, Ocena} S = {IdStudenta, PESEL, Nazwisko, Imie, IdPrzedmiotu, Przedmiot, DataZaliczenia, RodzajZaliczenia, Termin, Ocena} S = {IdStudenta, PESEL, Nazwisko, Imie, IdPrzedmiotu, Przedmiot, DataZaliczenia, RodzajZaliczenia, Termin} S = {IdStudenta, IdPrzedmiotu, DataZaliczenia, RodzajZaliczenia, Termin} S = {PESEL, IdPrzedmiotu, DataZaliczenia, RodzajZaliczenia, Termin}

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

Klucz w relacji pracownicy IdPracownika PESEL Nazwisko Imie 1 12345678901 Kot Jan 2 09876545635 Pies Adam 3 43234112222 Osa Ewa 4 65643222254 Kot Adam 5 32123566664 Kot Jan R = {IdPracownika, PESEL, Nazwisko,Imie} K = {IdPracownika} K = {PESEL}

Klucz w relacji dzieci pracowników IdPracownika PeselDziecka ImieDziecka DataUrodzeniaDziecka 1 56874893222 Ania 15-lut-80 1 12345123412 Ania 01-sty-10 1 21222358921 Jaś 12-gru-12 3 34513224232 Ola 03-mar-01 3 65487683688 Ewa 28-lut-04 3 43569872312 Ewa 28-lut-04 3 90876754322 Adaś 05-wrz-08 R = {IdPracownika, PeselDziecka, ImieDziecka, DataUrodzeniaDziecka} K = {IdPracownika, PeselDziecka}

Klucz w relacji oceny studentów IdStudenta PESEL Nazwisko Imie IdPrzedmiotu Przedmiot DataZaliczenia RodzajZaliczenia Ocena 1 12345678901 Kowalski Jan 1 matematyka 23-lut-16 ćwiczenia 3,00 1 12345678901 Kowalski Jan 1 matematyka 25-lut-16 egzamin 2,00 1 12345678901 Kowalski Jan 1 matematyka 27-lut-16 egzamin 2,00 1 12345678901 Kowalski Jan 2 bazy danych 10-lut-16 ćwiczenia 5,00 2 63457630457 Kot Ewa 1 matematyka 10-lut-16 ćwiczenia 4,00 2 63457630457 Kot Ewa 1 matematyka 18-lut-16 egzamin 3,00 R = {IdStudenta, PESEL, Nazwisko, Imie, IdPrzedmiotu, Przedmiot, DataZaliczenia, RodzajZaliczenia, Ocena} K = {IdStudenta, IdPrzedmiotu, DataZaliczenia, RodzajZaliczenia} K = {PESEL, IdPrzedmiotu, DataZaliczenia, RodzajZaliczenia}

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)

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 A B

Przykłady prostych zależności funkcjonalnych IdStudenta PESEL Nazwisko Imie IdPrzedmiotu Przedmiot DataZaliczenia RodzajZaliczenia Ocena 1 12345678901 Kowalski Jan 1 matematyka 23-lut-16 ćwiczenia 3,00 1 12345678901 Kowalski Jan 1 matematyka 25-lut-16 egzamin 2,00 1 12345678901 Kowalski Jan 1 matematyka 27-lut-16 egzamin 2,00 1 12345678901 Kowalski Jan 2 bazy danych 10-lut-16 ćwiczenia 5,00 2 63457630457 Kot Ewa 1 matematyka 10-lut-16 ćwiczenia 4,00 2 63457630457 Kot Ewa 1 matematyka 18-lut-16 egzamin 3,00 IdStudenta Nazwisko??? PESEL Nazwisko??? IdPrzedmiotu Przedmiot

Eliminacja prostych zależności Relacja Studenci: funkcjonalnych IdStudenta PESEL Nazwisko Imie 1 12345678901 Kowalski Jan 2 63457630457 Kot Ewa 3 01924738763 Słoń Piotr Relacja Przedmioty: IdPrzedmiotu Przedmiot 1 matematyka 2 bazy danych 3 fizyka

Eliminacja prostych zależności funkcjonalnych Relacja OcenyStudentow: IdStudenta IdPrzedmiotu DataZaliczenia RodzajZaliczenia Ocena 1 1 23-lut-16 ćwiczenia 3,00 1 1 25-lut-16 egzamin 2,00 1 1 27-lut-16 egzamin 2,00 1 2 10-lut-16 ćwiczenia 5,00 2 1 10-lut-16 ćwiczenia 4,00 2 1 18-lut-16 egzamin 3,00

Zależność funkcjonalna złożona 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

Przykład złożonej zależności funkcjonalnej IdStudenta PESEL Nazwisko Imie IdPrzedmiotu Przedmiot DataZaliczenia RodzajZaliczenia Ocena 1 12345678901 Kowalski Jan 1 matematyka 23-lut-16 ćwiczenia 3,00 1 12345678901 Kowalski Jan 1 matematyka 25-lut-16 egzamin 2,00 1 12345678901 Kowalski Jan 1 matematyka 27-lut-16 egzamin 2,00 1 12345678901 Kowalski Jan 2 bazy danych 10-lut-16 ćwiczenia 5,00 2 63457630457 Kot Ewa 1 matematyka 10-lut-16 ćwiczenia 4,00 2 63457630457 Kot Ewa 1 matematyka 18-lut-16 egzamin 3,00 {IdStudenta, IdPrzedmiotu, DataZaliczenia, RodzajZaliczenia} Ocena {PESEL, IdPrzedmiotu, DataZaliczenia, RodzajZaliczenia} Ocena

Zależność funkcjonalna pełna 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 X Y X X takie, że X Y

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

Przykłady zależności pełnej i częściowej IdStudenta PESEL Nazwisko Imie IdPrzedmiotu Przedmiot DataZaliczenia RodzajZaliczenia Ocena 1 12345678901 Kowalski Jan 1 matematyka 23-lut-16 ćwiczenia 3,00 1 12345678901 Kowalski Jan 1 matematyka 25-lut-16 egzamin 2,00 1 12345678901 Kowalski Jan 1 matematyka 27-lut-16 egzamin 2,00 1 12345678901 Kowalski Jan 2 bazy danych 10-lut-16 ćwiczenia 5,00 2 63457630457 Kot Ewa 1 matematyka 10-lut-16 ćwiczenia 4,00 2 63457630457 Kot Ewa 1 matematyka 18-lut-16 egzamin 3,00 zależność pełna: {IdStudenta, IdPrzedmiotu, DataZaliczenia, RodzajZaliczenia} Ocena zależność częściowa: {IdStudenta, IdPrzedmiotu, DataZaliczenia, RodzajZaliczenia} Przedmiot {IdPrzedmiotu} Przedmiot

Przechodnia 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

Przykład przechodniej zależności funkcjonalnej Id Studenta PESEL Nazwisko Imie Rok Akadem. Semestr Id Przedm. Przedmiot Rodzaj Zajec Id Prowadz. Imie Prowadz. Prowadz. 1 12345678901 Kowalski Jan 2015/2016 letni 1 matematyka egzamin 2 Ewa Owca 0 1 12345678901 Kowalski Jan 2015/2016 letni 1 matematyka ćwiczenia 1 Jan Ptak 1 1 12345678901 Kowalski Jan 2015/2016 letni 2 bazy danych egzamin 4 Michał Struś 0 1 12345678901 Kowalski Jan 2015/2016 letni 2 bazy danych projekt 3 Adam Słoń 2 2 63457630457 Kot Ewa 2015/2016 letni 1 matematyka ćwiczenia 2 Ewa Owca 2 2 63457630457 Kot Ewa 2015/2016 letni 1 matematyka egzamin 2 Ewa Owca 0 2 63457630457 Kot Ewa 2015/2016 letni 2 bazy danych egzamin 4 Michał Struś 0 2 63457630457 Kot Ewa 2015/2016 letni 2 bazy danych projekt 3 Adam Słoń 2 Grupa

Przykład przechodniej zależności funkcjonalnej X={IdStudenta, RokAkademicki, Semestr, IdPrzedmiotu, RodzajZaliczenia} Y = {RokAkademicki, Semestr, IdPrzedmiotu, RodzajZaliczenia, Grupa} Y = {RokAkademicki, Semestr, IdPrzedmiotu, RodzajZaliczenia, Grupa} Z = {IdProwadzacego} X={IdStudenta, RokAkademicki, Semestr, IdPrzedmiotu, RodzajZaliczenia} Z = {IdProwadzacego}

Eliminacja przechodniej zależności funkcjonalnej Relacja GrupyPracownicy IdProwadz. Prowadz. ImieProwadz. Rok Akadem. Semestr IdPrzedm. Przedmiot Rodzaj Zajec Grupa 4 Struś Michał 2015/2016 letni 2 bazy danych egzamin 0 3 Słoń Adam 2015/2016 letni 2 bazy danych projekt 2 1 Ptak Jan 2015/2016 letni 1 matematyka ćwiczenia 1 2 Owca Ewa 2015/2016 letni 1 matematyka ćwiczenia 2 2 Owca Ewa 2015/2016 letni 1 matematyka egzamin 0

Eliminacja przechodniej i prostych zależności funkcjonalnych Relacja GrupyPracownicy IdProwadz. Rok Akadem. Semestr IdPrzedm. Rodzaj Zajec Grupa 4 2015/2016 letni 2 egzamin 0 3 2015/2016 letni 2 projekt 2 1 2015/2016 letni 1 ćwiczenia 1 2 2015/2016 letni 1 ćwiczenia 2 2 2015/2016 letni 1 egzamin 0

Eliminacja przechodniej zależności Relacja GrupyStudenci funkcjonalnej IdStudenta PESEL Nazwisko Imie RokAkadem. Semestr IdPrzedmiotu Przedmiot RodzajZajec Grupa 1 12345678901 Kowalski Jan 2015/2016 letni 1 matematyka ćwiczenia 1 1 12345678901 Kowalski Jan 2015/2016 letni 1 matematyka egzamin 0 1 12345678901 Kowalski Jan 2015/2016 letni 2 bazy danych projekt 2 1 12345678901 Kowalski Jan 2015/2016 letni 2 bazy danych egzamin 0 2 63457630457 Kot Ewa 2015/2016 letni 1 matematyka ćwiczenia 2 2 63457630457 Kot Ewa 2015/2016 letni 1 matematyka egzamin 0 2 63457630457 Kot Ewa 2015/2016 letni 2 bazy danych projekt 2 2 63457630457 Kot Ewa 2015/2016 letni 2 bazy danych egzamin 0

Eliminacja przechodniej i prostych zależności funkcjonalnych Relacja GrupyStudenci IdStudenta RokAkadem. Semestr IdPrzedmiotu RodzajZajec Grupa 1 2015/2016 letni 1 ćwiczenia 1 1 2015/2016 letni 1 egzamin 0 1 2015/2016 letni 2 projekt 2 1 2015/2016 letni 2 egzamin 0 2 2015/2016 letni 1 ćwiczenia 2 2 2015/2016 letni 1 egzamin 0 2 2015/2016 letni 2 projekt 2 2 2015/2016 letni 2 egzamin 0

Zależność wielowartościowa 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 s 1 i s 2 ż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]

Zależność wielowartościowa X Y R-X-Y krotka Nazwisko Imię dziecka t 1 Kot Ania niemiecki t 2 Kot Jaś angielski s 1 Kot Ania angielski s 2 Kot Jaś niemiecki Słoń Ola niemiecki Słoń Ola angielski Znajomość języków

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)

Schemat Dekompozycja schematu zastępujemy zbiorem (niekoniecznie rozłącznych) schematów relacji takich, że każdy schemat R i stanowi podzbiór zbioru atrybutów i i R A A,..., 1, 2 R R,..., 1, 2 A 1, A2,..., A n R m A n R i R A1, A2,..., A n

W schemacie Dekompozycja schematu 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 R A A,..., R R1, R2,..., 1, 2 R m A n

Dekompozycja schematu połączeniowa zależność funkcjonalna * R R1, R2,..., R m 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