KZ BD w05

background image

Bazy danych – wykład trzeci

Przekształcenie modelu ER na model relacyjny

Konrad Zdanowski

Uniwersytet Kardynała Stefana Wyszy ´nskiego, Warszawa

Konrad Zdanowski ( Uniwersytet Kardynała Stefana Wyszy ´nskiego, Warszawa)

Bazy danych – wykład trzeci Przekształcenie modelu ER na model relacyjny

1 / 19

background image

Przekształcanie modelu ER na projekt relacyjny

Ka˙zda encja przekształcana jest na relacj ˛e o tym samym zbiorze
atrybutów.

Ka˙zdy zwi ˛

azek przekształcany jest na relacj ˛e o atrybutach

b ˛edacych kluczami wchodz ˛

acych w zwi ˛

azek encji.

Potencjalne problemy:

słabe encje,

zwi ˛

azki typu jest,

niektóre relacje warto poł ˛

aczy´c w jedn ˛

a (np. relacj ˛e dla encji i jej

zwi ˛

azku typu wiele do jeden).

Konrad Zdanowski ( Uniwersytet Kardynała Stefana Wyszy ´nskiego, Warszawa)

Bazy danych – wykład trzeci Przekształcenie modelu ER na model relacyjny

2 / 19

background image

Przekształcanie modelu ER na projekt relacyjny

Przekształcaj ˛

ac projekt ER na projekt relacyjny chcemy:

unikn ˛

a´c nadmiernego wykorzystania pami ˛eci,

unikn ˛

a´c powtarzania tej samej informacji w wielu miejscach.

Spełnienie powy˙zszych wskaza ´n jest mo˙zliwe dzi ˛eki odpowiedniemu
zdefiniowaniu wi ˛ezów w projekcie ER.

Konrad Zdanowski ( Uniwersytet Kardynała Stefana Wyszy ´nskiego, Warszawa)

Bazy danych – wykład trzeci Przekształcenie modelu ER na model relacyjny

3 / 19

background image

Reprezentowanie encji

Encj ˛e przekształcamy na relacj ˛e o tych samych atrybutach.

Przykład.

Osoba

imie

nazwisko

adres

telefon

id

Osoba(id, imie, nazwisko, adres, telefon)

Atrybut

id jest kluczem relacji Osoba.

Konrad Zdanowski ( Uniwersytet Kardynała Stefana Wyszy ´nskiego, Warszawa)

Bazy danych – wykład trzeci Przekształcenie modelu ER na model relacyjny

4 / 19

background image

Reprezentowanie zwi ˛

azków

Zwi ˛

azek przekształcamy na relacj ˛e, której atrybutami s ˛

a klucze encji,

które wchodz ˛

a w zwi ˛

azek i atrybuty relacji.

Przykład. Niech id b ˛edzie kluczem relacji osoba a marka,
nr_nadwozia
kluczem relacji samochod.

osoba

posiada

samochod

data_zakupu

Konrad Zdanowski ( Uniwersytet Kardynała Stefana Wyszy ´nskiego, Warszawa)

Bazy danych – wykład trzeci Przekształcenie modelu ER na model relacyjny

5 / 19

background image

Reprezentowanie zwi ˛

azków

osoba

posiada

samochod

data_zakupu

posiada(wlasciciel_id, marka, nr_nadwozia, data_zakupu).

Kluczem relacji posiada jest zbiór (wlasciciel_id, marka, nr_nadwozia).

Konrad Zdanowski ( Uniwersytet Kardynała Stefana Wyszy ´nskiego, Warszawa)

Bazy danych – wykład trzeci Przekształcenie modelu ER na model relacyjny

6 / 19

background image

Reprezentowanie zwi ˛

azków

Sposób w jaki reprezentujemy zwi ˛

azek zale˙zy od typu zwi ˛

azku.

Zwi ˛

azki typu wiele do wiele (M:N) reprezentujemy jako oddzielne

relacje (jak w poprzednim przykładzie).

Zwi ˛

azki funkcyjne typu jeden do jeden (1:1) lub wiele do jeden

(M:1) reprezentujemy jako pola w relacji dla encji b ˛ed ˛

acej po

stronie dla której istnieje zale˙zno´s´c funkcyjna lub po stronie wiele.

Konrad Zdanowski ( Uniwersytet Kardynała Stefana Wyszy ´nskiego, Warszawa)

Bazy danych – wykład trzeci Przekształcenie modelu ER na model relacyjny

7 / 19

background image

Reprezentowanie zwi ˛

azków 1:M jednostronnie

obowi ˛

azkowych

fabryka

wyprodukowala

samochod

data_produkcji

Powy˙zszy zwi ˛

azek reprezentujemy przez dodanie atrybutów klucza

relacji

fabryka do relacji samochod i atrybutów zwi ˛

azku.

samochod(marka, nr_nadwozia, kolor, fabryka_id, data_produkcji).

Klucz

fabryka_id jest kluczem obcym w relacji samochod (NOT

NULL).

Konrad Zdanowski ( Uniwersytet Kardynała Stefana Wyszy ´nskiego, Warszawa)

Bazy danych – wykład trzeci Przekształcenie modelu ER na model relacyjny

8 / 19

background image

Reprezentowanie zwi ˛

azków 1:M opcjonalnych

Zwi ˛

azki opcjonalne typu jeden do wiele mo˙zemy reprezentowa´c

podobnie jak zwi ˛

azki obowi ˛

azkowe.

Ró˙znica w reprezentacji polega na tym, ˙ze pozycja b ˛ed ˛

aca

kluczem obcym mo˙ze by´c równa NULL.

Je´sli wiemy, ˙ze zwi ˛

azek taki zachodzi rzadko, mo˙zemy rozwa˙zy´c

stworzenie oddzielnej tabeli jak w przypadku zwi ˛

azku typu (M:N)

aby oszcz ˛edzi´c miejsce (lecz ewentualny zysk zale˙zy od
własno´sci modelowanego ´swiata – poza tym spowolniamy odczyt
danych).

Konrad Zdanowski ( Uniwersytet Kardynała Stefana Wyszy ´nskiego, Warszawa)

Bazy danych – wykład trzeci Przekształcenie modelu ER na model relacyjny

9 / 19

background image

Zwi ˛

azki opcjonalne typu 1:1

Zwi ˛

azki takie mo˙zemy reprezentowa´c przez dodanie klucza

obcego do jednej z tabel.

W uzasadnionych przypadkach mo˙zemy rozwa˙zy´c dodanie klucza
obcego do obu tabel (je´sli wiemy, ˙ze przy´spieszy to wyszukiwanie
w BD).

Konrad Zdanowski ( Uniwersytet Kardynała Stefana Wyszy ´nskiego, Warszawa)

Bazy danych – wykład trzeci Przekształcenie modelu ER na model relacyjny

10 / 19

background image

Przykład.

poslubil

mezczyzna

kobieta

Trzy sposoby na reprezentowanie zwi ˛

azku poslubil.

1

mezczyzna(id, ...,

zona_id), kobieta(id, ..., maz_id),

2

mezczyzna(id, ...,

zona_id), kobieta(id, ...),

3

mezczyzna(id, ...), zona(id, ...,

maz_id).

Klucze obce w relacjach mog ˛

a by´c równe NULL.

Reprezentowanie zwi ˛

azku w pierwszy ze sposobów mo˙ze prowadzi´c

do problemów z niespójno´sci ˛

a danych lecz ułatwia wyszukiwanie.

Konrad Zdanowski ( Uniwersytet Kardynała Stefana Wyszy ´nskiego, Warszawa)

Bazy danych – wykład trzeci Przekształcenie modelu ER na model relacyjny

11 / 19

background image

Zwi ˛

azki unarne typu wiele do jeden

Zwi ˛

azki unarne (pomi ˛edzy t ˛

a sama encj ˛

a) reprezentujemy przez

dodanie pola w relacji dla tej encji.

Pole to b ˛edzie kluczem obcym dla danej relacji.

Konrad Zdanowski ( Uniwersytet Kardynała Stefana Wyszy ´nskiego, Warszawa)

Bazy danych – wykład trzeci Przekształcenie modelu ER na model relacyjny

12 / 19

background image

Przykład.

pracownik

podlega

kieruje

pracuje_dla

Zwi ˛

azek reprezentujemy jako pracownik(id, ...,

kierownik_id).

Zauwa˙zmy, ˙ze w tym przypadku klucz obcy jest pobrany z tej samej
relacji pracownik.

Konrad Zdanowski ( Uniwersytet Kardynała Stefana Wyszy ´nskiego, Warszawa)

Bazy danych – wykład trzeci Przekształcenie modelu ER na model relacyjny

13 / 19

background image

Zwi ˛

azki unarne typu wiele do wiele

Zwi ˛

azki takie reprezentujemy jako oddzielne relacje.

Konrad Zdanowski ( Uniwersytet Kardynała Stefana Wyszy ´nskiego, Warszawa)

Bazy danych – wykład trzeci Przekształcenie modelu ER na model relacyjny

14 / 19

background image

Ogólne zasady reprezentowania zwi ˛

azków

Zwi ˛

azki typu wiele do jeden (M:1) reprezentujemy jako klucze

obce w relacji wyst ˛epuj ˛

acej po stronie wiele.

Zwi ˛

azki obowi ˛

azkowe reprezentujemy przez warunek NOT NULL

nało˙zony na klucz obcy.

Zwi ˛

azki typu wiele do wiele reprezentujemy przez oddzieln ˛

a

tabele.

Konrad Zdanowski ( Uniwersytet Kardynała Stefana Wyszy ´nskiego, Warszawa)

Bazy danych – wykład trzeci Przekształcenie modelu ER na model relacyjny

15 / 19

background image

Podklasy encji

filmy

ISA

kreskowki

musicale

rezyser

rysownik

kompozytor

Konrad Zdanowski ( Uniwersytet Kardynała Stefana Wyszy ´nskiego, Warszawa)

Bazy danych – wykład trzeci Przekształcenie modelu ER na model relacyjny

16 / 19

background image

Podklasy encji

Podlasy encji mo˙zemy reprezentowa´c:

1

jako jedn ˛

a relacj ˛e, w której pewne pola mog ˛

a by´c puste (NULL) i

dodatkowym atrybutem okre´slaj ˛

acym rodzaj elementu,

2

jako oddzielne relacje dla ka˙zdej podklasy zawieraj ˛

ace wszystkie

atrybuty wspólne,

3

jako oddzieln ˛

a relacj ˛e z atrybutami wspólnymi i relacje

zawieraj ˛

ace atrybuty podklas, w której klucze obce wskazuj ˛

a na

element tabeli wspólnej.

Konrad Zdanowski ( Uniwersytet Kardynała Stefana Wyszy ´nskiego, Warszawa)

Bazy danych – wykład trzeci Przekształcenie modelu ER na model relacyjny

17 / 19

background image

Słabe encje

gatunek

nalezy

rodzaj

nazwa

nazwa

Relacja stworzona dla słabego zbioru encji musi zawiera´c
wszystkie klucze relacji dla pomocniczych zbiorów encji.

Klucze te wchodz ˛

a (jako klucz obcy) w skład klucza tej relacji.

Nie musimy reprezentowa´c pomocniczego zwi ˛

azku jako relacji.

Atrybuty tego zwi ˛

azku mo˙zemy umie´sci´c w relacji stworzonej dla

słabej encji.

Konrad Zdanowski ( Uniwersytet Kardynała Stefana Wyszy ´nskiego, Warszawa)

Bazy danych – wykład trzeci Przekształcenie modelu ER na model relacyjny

18 / 19

background image

Słabe encje

gatunek

nalezy

rodzaj

nazwa

nazwa

Słab ˛

a encj ˛e gatunek reprezentujemy jako relacj ˛e

gatunek(nazwa_gatunkowa, nazwa_rodzajowa, ...).

Atrybut

nazwa_rodzajowa wchodzi w skład klucza relacji. Nie mo˙ze

by´c równy NULL.

Konrad Zdanowski ( Uniwersytet Kardynała Stefana Wyszy ´nskiego, Warszawa)

Bazy danych – wykład trzeci Przekształcenie modelu ER na model relacyjny

19 / 19


Wyszukiwarka

Podobne podstrony:
KZ BD w09 id 256667 Nieznany
KZ BD w04
KZ BD w02
KZ BD w07 id 256666 Nieznany
KZ BD w14 2 id 256670 Nieznany
KZ BD w08
KZ BD w12 id 256669 Nieznany
KZ BD w03 2 id 256664 Nieznany
KZ BD w11 2 id 256668 Nieznany
KZ BD w06
KZ BD w09 id 256667 Nieznany
aplikacje bd w05

więcej podobnych podstron