You are on page 1of 62

Relacja Osoba

Imię Nazwisko Data urodzenia Imię ojca Imię matki


Andrzej Nowak 1989-02-19 Rafał Renata
Marta Kowalska 1991-07-30 Robert Katarzyna

Schemat relacja:
Osoba (imię, nazwisko, data urodzenia, imię ojca, imię matki)

Atrybuty relacji
imię, nazwisko, data urodzenia, imię ojca, imię matki

Krotki (wiersze) – pojedyncze wiersze relacji


(Andrzej, Nowak, 1989-02-19, Rafał, Renata) – krotka

Egzemplarz relacji – zestaw krotek danej relacji


(Andrzej,Nowak,1989-02-19,Rafał,Renata)
(Marta,Kowalska,1991-07-30,Robert,Katarzyna)

Klucze relacji – zestaw atrybutów w egzemplarzu relacji, które nie mogą mieć tej samej wartości
(Andrzej,Nowak,1989-02-19,Rafał,Renata)
(Marta,Kowalska,1991-07-30,Robert,Katarzyna)
Relacja R
Imię Nazwisko Data urodzenia Imię ojca Imię matki
Andrzej Nowak 1989-02-19 Rafał Renata
Katarzyna Nowak 1992-09-13 Robert Katarzyna

Relacja S
Imię Nazwisko Data urodzenia Imię ojca Imię matki
Andrzej Nowak 1989-02-19 Rafał Renata
Marta Kowalska 1991-07-30 Robert Katarzyna

Relacja R ∪ S

Imię Nazwisko Data urodzenia Imię ojca Imię matki


Andrzej Nowak 1989-02-19 Rafał Renata
Katarzyna Nowak 1992-09-13 Robert Katarzyna
Marta Kowalska 1991-07-30 Robert Katarzyna
Część wspólna zbiorów
Relacja R
Imię Nazwisko Data urodzenia Imię ojca Imię matki
Andrzej Nowak 1989-02-19 Rafał Renata
Katarzyna Nowak 1992-09-13 Robert Katarzyna

Relacja S
Imię Nazwisko Data urodzenia Imię ojca Imię matki
Andrzej Nowak 1989-02-19 Rafał Renata
Marta Kowalska 1991-07-30 Robert Katarzyna

Relacja R ∩ S
Imię Nazwisko Data urodzenia Imię ojca Imię matki
Andrzej Nowak 1989-02-19 Rafał Renata
Różnica zbiorów relacji
Relacja R
Imię Nazwisko Data urodzenia Imię ojca Imię matki
Andrzej Nowak 1989-02-19 Rafał Renata
Katarzyna Nowak 1992-09-13 Robert Katarzyna

Relacja S
Imię Nazwisko Data urodzenia Imię ojca Imię matki
Andrzej Nowak 1989-02-19 Rafał Renata
Marta Kowalska 1991-07-30 Robert Katarzyna

Relacja R – S
Imię Nazwisko Data urodzenia Imię ojca Imię matki
Katarzyna Nowak 1992-09-13 Robert Katarzyna
Operacje specyficzne dla zbiorów
wykonywane na relacjach
Złączenia pozwalają połączyć ze sobą pary tylko tych krotek (wierszy), które pod pewnym względem pasują do
siebie.

Złączenie naturalne: R S
Najprostsze złączenie dwóch krotek polegające na połączeniu tylko tych par, których atrybuty powtarzają
się w relacji R i S.
(łączenie na podstawie równości atrybutów)

Złączenie warunkowe: R CS
Złączenie umożliwiające łączenie krotek spełniających pewien warunek C.

Algorytm:
1. Utworzenie iloczynu R × S
2. Wybranie z iloczynu tylko tych krotek spełniających warunek

Nadawanie i zmiana nazw: ρS(A1,A2,…,An)(R)


Wynikowa relacja S ma te same atrybuty co relacja R, ale nazwa relacji jest teraz S. Ponadto atrybuty
wynikowej relacji S mają nazwy A1,A2,…,An w kolejności od lewej do prawej.
Operacje specyficzne dla zbiorów
wykonywane na relacjach
Przedstawione operacje można wyrazić w kategoriach innych operacji algebry relacji:

Przykłady:

1. R ∩ S = R – (R – S)

2. R C S = σC(R × S)

3. R S = πL (σC(R × S))
L – lista atrybutów w schemacie R, po których znajdują się atrybuty ze schematu S

Wniosek:

Każdą operację wykonywaną na zbiorach można zastąpić inną dającą ten sam wynik.
Więzy w relacjach

Klucze relacji:
Klucz główny lub kandydujący

Kluczem głównym lub kandydującym relacji nazywa się jeden lub więcej atrybutów relacji, których wartość
jednoznacznie określa wiersz relacji.

Klucz lub klucze obce

Kluczem (kluczami) obcym nazywa się jeden lub więcej atrybutów, których wartość (dziedzina) jest taka
sama jak w kluczu głównym innej relacji.

Dziedzina atrybutu:
Każdy atrybut ma pewną grupę dozwolonych wartości, które mogą wystąpić w danej relacji.
Projektowanie relacyjnych baz danych

Istnieje teoria projektowania relacji, która umożliwia staranne zbadanie projektu i


wprowadzenie poprawek na podstawie kilku prostych zasad.

1. Ustalenie więzów dotyczących relacji.


2. Dekompozycja relacji.

Zależność funkcyjna (występuje)


Jeśli dwie krotki (wiersze) mają wszystkie atrybuty A1,A2,…,An zgodne to pozostałe
atrybuty B1,B2,…,Bm muszą być także zgodne.

Klucze relacji
Zbiór jednego lub więcej atrybutów {A1,A2,…,An} jest kluczem relacji jeśli:
1. Atrybut klucza funkcyjnie określa wszystkie pozostałe atrybuty
2. Żaden podzbiór właściwy zbioru {A1,A2,…,An} nie określa funkcyjnie wszystkich pozostałych atrybutów
relacji (oznacza to, że klucz jest minimalny)
Projektowanie relacyjnych baz danych
Przykład: Wnioskowanie nt. zależności funkcyjnej

Jeżeli relacja R(A,B,C) spełnia ZF A→B i B→C to można wywnioskować, że występuje zależność funkcyjna
między atrybutami A→C.

Reguła podziału i łączenia:

Jeżeli zachodzi zależność funkcyjna A1,A2,…,A3 → B1,B2,…,Bm to jest równoważna zbiorowi ZF


A1,A2,…,A3 → B1, A1,A2,…,A3 → B2, A1,A2,…,A3 → Bm.

Trywialna zależność funkcyjna:

Zależność funkcyjna jest trywialna, jeśli jest spełniona dla każdego egzemplarza relacji niezależnie od
innych więzów
a więc : A1, A2 → A1
Projektowanie relacyjnych baz danych

Normalizacja danych (dekompozycja relacji)

Dane nieznormalizowane:
- nadmiarowość (redundancja danych)
- wadliwy schemat danych np. powtórzenia grup danych

Anomalie:
1. Anomalie nadmiarowości – informacje mogą być niepotrzebnie powielane w kilku
krotkach.
2. Anomalie aktualizacji (wstawiania) – zmiany danych w pojedynczym wierszu mogą
spowodować błędy w innych.
3. Anomalie usuwania – usunięcie może powodować utratę innych informacji

Normalizacja zapobiega anomaliom!


Normalizacja danych
Wyklad Nr pracy Nazwisko Pracownika Nr Studenta Nazwisko Studenta Ocena Typ
Fizyka 10 Kuba 1 aaa 3 kol1
Fizyka 10 Kuba 2 bbb 4 kol2
Matem 20 Jan 1 aaa 5 egz

Celem normalizacji (dekompozycji) jest zapisanie relacji kilkoma innymi, w


których nie występują anomalie.

Dekompozycja relacji prowadzi do rozbicia jej do pewnych


znormalizowanych form.

• Trzecia postać normalna 3NF


• Postać normalna Boyce’a-Codda (BCNF)
• Czwarta postać normalna 4NF
Normalizacja danych
Wyklad Nr pracy Nazwisko Pracownika Nr Studenta Nazwisko Studenta Ocena Typ
Fizyka 10 Kuba 1 aaa 3 kol1
Fizyka 10 Kuba 2 bbb 4 kol2
Matem 20 Jan 1 aaa 5 egz

1. Trzecia postać normalna 3NF


„Każdy atrybut niekluczowy zależy funkcyjnie od klucza głównego”

2. Postać normalna BCNF


„Każdy atrybut niekluczowy funkcyjnie zależy od całego
klucza głównego (a nie od części!)”

3. Czwarta postać normalna 4NF


„Każdy niekluczowy atrybut bezpośrednio zależy od klucza głównego”
Model związków encji

• Reprezentacja graficzna oparta na trzech podstawowych elementach:


• Zbiory encji
• Atrybuty
• Związki

Diagram E-R – graf reprezentujący zbiory encji, atrybuty i związki. Każdy z


wymienionych elementów ma swój specjalny kształt.

Zbiory encji – prostokąty


Atrybuty – owale Encja
Związki – romby
Atrybut

Związek
Model związków encji

• Krotność w związkach binarnych w modelu E-R


• wiele do jednego E F
Każdy element zbioru encji E można połączyć za pomocą związku R z co najmniej jednym elementem ze
zbioru encji F. (W ujęciu odwrotnym, każda encja ze zbioru F może być połączona z wieloma encjami ze
zbioru encji E)

• jeden do jednego
Każda encja ze zbioru encji E może być połączona co najwyżej z jedną encją ze zbioru encji F

• wiele do wielu
Każda encja ze zbioru encji E może być połączona z wieloma encjami ze zbioru encji F oraz każda encja ze
zbioru encji F może być połączona z wieloma encjami ze zbioru encji E

• związki wieloargumentowe
Związki obejmujące więcej niż dwa zbiory encji. Wykorzystywane częściej w opisie zjawisk niż w modelu
Model związków encji

• Role
Zbiór encji może występować w jednym związku dwa lub więcej razy Wysyłka

• Podklasy w modelu E-R klient produkt


Zbiór encji, w których zawierają się inne encje
o specjalnych cechach,
Zamówienie
które nie występują we wszystkich elementach zbioru klasy

• Związek „jest” jest


Osoba fizyczna
Specjalny rodzaj związku pomiędzy podklasą i klasą.
W modelu E-R oznaczany za pomocą trójkąta
Podmiot
Małżeństwo
ewidencyjny jest
• Więzy stopni
Określa ograniczenia liczby encji, które można połączyć
z jedną encją z powiązanego zbioru encji jest Skarb Państwa
Model związków encji

• Słabe zbiory encji


Zbiór encji, których klucz może składać się z atrybutów, których część lub wszystkie należą do innego zbioru
encji
• Wykorzystywane są w przypadkach
• gdy związek jest hierarchiczny, ale nie oparty na związku „jest”
• jeżeli encja ze zbioru E to podelement ze zbioru F
• Więzy w modelu encyjnym
• Klucze w modelu E-R
• Każdy zbiór encji musi mieć klucz
• Dla zbioru encji może istnieć tylko jeden klucz
• Jeśli zbiór encji znajduje się w hierarchii opartej na związku „jest”, to główny zbiór encji musi
posiadać wszystkie atrybuty potrzebne do utworzenia klucza
• Integralność referencji
• Wartość w jednym kontekście musi wystąpić w innym (związek wiele do jednego (F do E)
oznacza że każdy F jest w związku z E, ale dowolne E niekoniecznie jest w związku z F
• Stopnie
• Więzy stopni oznaczają ograniczenia w ilości możliwych związków
Model związków encji
• Przetworzenie diagramów E-R na projekt relacyjny

• Każda encja przekształca się na relację


(klucz główny relacja jest kluczem encji)

• Każdy związek zastępowany jest relacją


(nowa relacja musi zawierać klucze obu encji połączonych przez związek)

• Słabych związków encji nie można bezpośrednio przekształcić na relacje


(relacje oparte na związku obejmującym słaby zbiór encji muszą mieć klucz w postaci wszystkich
atrybutów klucza słabego zbioru encji)

• Struktury podklas
(dla każdego zbioru encji E z hierarchii należy utworzyć relację, która obejmuje atrybut klucza z
korzenia i wszystkie atrybuty należące do E)

• Złączenie dwóch relacji


(Związek wiele do jednego)

You might also like