02_projektowanie.pdf

(1679 KB) Pobierz
10.03.2019
Instytut Automatyki i Informatyki
Wydział Elektrotechniki, Automatyki i Informatyki
Politechnika Opolska
1
TRANSFORMACJA MODELU ER
DO MODELU RELACYJNEGO
Opracowanie: dr inż. Ewelina Piotrowska
e.piotrowska@po.opole.pl
www.e.piotrowska.po.opole.pl
OPOLE 2018
Przedmiot: Bazy danych II
Wprowadzenie
2
Celem wykładu jest omówienie technik transformacji modelu
związków-encji do modelu relacyjnego.
Transformacja modelu ER jest konieczna, ponieważ jak pamiętamy jest on
modelem abstrakcyjnym niezależnym od implementacji.
Modelem relacyjny jest modelem implementacyjnym baz danych.
Transformacji podlegają wszystkie obiekty modelu ER, czyli encje z
atrybutami, związki i hierarchie encji.
W ramach wykładu zostaną omówione podstawowe techniki
transformacji encji do modelu relacyjnego, transformacji związków
i transformacji hierarchii encji.
1
10.03.2019
Pojęcia podstawowe
3
Schemat bazy danych - zbiór schematów relacji
Relacja (tabela) - dwu-wymiarowa tablica
kolumny -> atrybuty
wiersze -> krotki, rekordy
każda krotka reprezentuje wystąpienie encji
Klucz podstawowy – atrybut lub zbiór atrybutów - wybrany
spośród kluczy potencjalnych
Klucz obcy – atrybut lub zbiór atrybutów wskazujący na klucz
podstawowy innej relacji (atrybut lub zbiór atrybutów w relacji B,
będący jednocześnie kluczem podstawowym w relacji A)
należy zaznaczyć, że klucz obcy może odnosić się do klucza podstawowego
samej relacji, w której został on zdefiniowany
Reguły transformacji encji
4
Model ER
Encja
Atrybut encji
Typ danych atrybutu encji
Identyfikator encji
Obowiązkowość atrybutów encji
Opcjonalność atrybutów encji
Pozostałe ograniczenia integr. atrybutów encji
Model relacyjny
relacja
atrybut relacji
typ danych atrybutu relacji
klucz podstawowy relacji
ograniczenie NOT NULL
ograniczenie NULL
ograniczenia integr. atrybutów relacji
Pracownicy (
PESEL PRIMARY KEY,
adres NOT NULL,
pensja NOT NULL,
telefon NULL )
2
10.03.2019
Reguły transformacji związków
5
Model ER
Związek binarny 1:1
Związek unarny 1:1
Związek binarny 1:M
Związek binarny M:N
Związek unarny M:N
Model relacyjny
klucz obcy we wskazanej tabeli
klucz obcy w tej samej tabeli
klucz obcy w tabeli po stronie "wiele"
tabela
tabela
Związek binarny 1:1
6
Związek binarny 1:1 jednostronnie obowiązkowy transformuje się do klucza
obcego w tabeli po stronie związku obowiązkowego.
Ograniczenie integralnościowe jest definiowane dla atrybutu klucza obcego.
Klucz ten nie może przyjmować wartości pustych.
3
10.03.2019
Związek binarny 1:1
7
Związek binarny 1:1 obustronnie opcjonalny transformuje się do klucza obcego
w tabeli o mniejszym rozmiarze.
Ograniczenie integralnościowe jest definiowane dla atrybutu klucza obcego.
Atrybut ten może przyjmować wartości puste, ponieważ związek jest opcjonalny.
Uwagi
8
Przypadek 1 stosowany niezwykle rzadko. Polega on na umieszczeniu kluczy obcych w obu
tabelach wynikowych.
Przypadek 2
został
omówiony na
poprzednim
slajdzie
Przypadek trzeci polega na umieszczeniu
klucza obcego w tabeli Pracownicy
4
10.03.2019
Związek binarny 1:M
9
Klucz obcy jest dodawany do relacji po stronie "wiele"
niezależnie
od opcjonalności, czy obowiązkowości tego związku.
1.
Ograniczenia
integralnościowe referencyjne (tj. definiujące klucz
obcy) są definiowane
dla atrybutu reprezentującego klucz obcy.
2.
Obowiązkowość
związku po stronie "wiele" jest reprezentowana
przez ograniczenie integralnościowe
NOT NULL
definiowane na
kluczu obcym relacji.
3.
Opcjonalność
związku po stronie
"wiele"
jest reprezentowana
przez ograniczenie integralnościowe
NULL
definiowaną na kluczu
obcym relacji.
4.
Opcjonalność lub obowiązkowość związku po stronie "jeden" nie
jest odwzorowywana w modelu relacyjnym.
Przykład (związek 1:M)
10
Przykład sposobu transformacji binarnego związku 1:M jednostronnie
obowiązkowego.
Klucz obcy jest dodawany do tabeli Pracownicy (strona "wiele") i wskazuje on na
klucz podstawowy tabeli Działy, czyli IdDziału.
Klucz obcy IdDziału posiada ograniczenie NOT NULL ponieważ związek jest
obowiązkowy od strony "wiele".
5
Zgłoś jeśli naruszono regulamin