background image

Bazy danych

1

DIAGRAMY ZALEŻNOŚCI,

DIAGRAMY ZALEŻNOŚCI,

DIAGRAMY ZWIĄZKÓW ENCJI - ERD

DIAGRAMY ZWIĄZKÓW ENCJI - ERD

Konstrukcja diagramów zależności

Składowe diagramu ERD

Diagramy ERD

Transformacje E/R na schemat relacyjny

BAZY DANYCH

background image

Bazy danych

2

Diagramy zależności

• Klasyczna normalizacja jest opisana jako proces 

rozkładu odwracalnego. Metoda rozkładu 

rozpoczyna się od jednej (uniwersalnej) relacji 

• Rozkład odwracalny jest więc procesem 

projektowania, który gwarantuje, że utworzony 

zbiór danych będzie wolny od anomalii 

• Metoda rozkładu ma jednak kilka wad, sprawia 

trudności zwłaszcza wówczas, gdy chcemy ją 

konsekwentnie stosować w praktyce jako metodę 

projektowania bazy danych:

1. Wymaga, aby cały zbiór danych był w pełni określony, 

zanim rozpocznie się proces.

2. Dla dużego zbioru danych proces ten jest:

a) bardzo czasochłonny,
b) trudny do zastosowania,
c) podatny na błędy popełnione przez człowieka.

background image

Bazy danych

3

Metoda graficzna

Główną zaletą metody diagramów zależności jest to, że 

określa mechanizm przyrostowego projektowania bazy 
danych.

Nie jest konieczny pełny zbiór elementów danych, aby móc 

rozpocząć proces projektowania. 

Analityk danych może rozpocząć pracę z małym zbiorem 

elementów danych mających centralne znaczenie. 

Następnie stopniowo może dodawać nowe elementy danych 

do tworzonego diagramu dopóty, dopóki wszystkie 
zależności nie będą w pełni udokumentowane. 

Diagram, który dokumentuje zależności (determinowanie) 

między elementami danych, nazywa się diagramem 
zależności lub diagramem determinowania.

Zależność funkcyjną między dwoma elementami danych 

oznaczamy za pomocą strzałki łączącej determinujący 
element danych z zależnym elementem danych.

  

background image

Bazy danych

4

ZALEŻNOŚCI FUNKCYJNE

background image

Bazy danych

5

ZALEŻNOŚCI NIEFUNKCYJNE

Mówimy, że element danych B jest niefunkcyjnie zależny od 

elementu danych A, jeżeli dla każdej wartości elementu 

danych A istnieje ograniczony zbiór wartości elementu 

danych B. Odwzorowanie nie jest już funkcyjne, ponieważ 

jest jeden do wiele.

 

background image

Bazy danych

6

BAZY DANYCH

Często okazuje się, że to, co jest jednowartościową zależnością 

w jednym kierunku, jest wielowartościową zależnością w 

przeciwnym kierunku.

W takich wypadkach zawsze wybieramy kierunek zależności 

funkcyjnej. Powoduje to, że ewentualny schemat relacyjny 

będzie o wiele prostszy. Jak się okaże, redukuje to liczbę 

wymaganych kluczy złożonych.  

NrPrac

NazwaWydz

background image

Bazy danych

7

BAZY DANYCH

Jeśli jednak zależność funkcyjna lub niefunkcyjna 

występuje w obydwu kierunkach, to wybieramy jeden z 

nich.

 

NrPrac

NrTelWewn

background image

Bazy danych

8

ZALEŻNOŚCI PRZECHODNIE

• Istnieje zależność funkcyjna z NrPrac do NazwaDziału, 

z NazwaDziału do lokalizacja i z NrPrac do lokalizacja.

• Każdy układ, w którym A determinuje B, B 

determinuje C i A determinuje również C, możemy 

uprościć do łańcucha od A do B i od B do C.

• Wykrycie i usunięcie zależności przechodnich między 

atrybutami upraszcza złożone diagramy zależności i 

jest ważną częścią procesu normalizacji 

background image

Bazy danych

9

ZALEZNOŚCI ZŁOŻONE

• Dość często jeden element danych nie 

wystarcza, aby w pełni zdeterminować 
wartości jakiegoś innego elementu 
danych. Kombinacja dwóch lub więcej 
elementów danych daje nam związek 
zależny. 

NrTowar

NIP klienta

Data 

sprzedaży

Ilość towaru

Cena 

jednostkowa 

towaru

background image

Bazy danych

10

AKOMODACJA

• Akomodacja - proces przekształcenia 

diagramu zależności w zbiór struktur tabel 
lub schemat relacyjny 

• Akomodacja zależności funkcyjnych - każdy 

funkcyjnie determinujący element staje 
się kluczem głównym tabeli.

• Wszystkie bezpośrednio zależne od 

niego elementy danych stają się 
niegłównymi atrybutami tabeli
 - reguła 
Boyce'a-Codda 

background image

Bazy danych

11

AKOMODACJ A C.D.

background image

Bazy danych

12

KLUCZE KANDYDUJĄCE

• Klucz kandydujący jest dowolnym elementem danych, 

który może pełnić funkcję klucza głównego tabeli.

• Za pomocą diagramów zależności klucze kandydujące 

są reprezentowane przez determinujące elementy 

danych.

• Wybieramy jeden z nich, aby był faktycznym kluczem 

tabeli, a drugi traktujemy jak zależny element danych 

w tabeli.  

background image

Bazy danych

13

BAZY DANYCH

Reguła Boyce'a-Codda, powinna być 
zatem wyrażona następująco:
każdy funkcyjnie determinujący 
element staje się kluczem 
kandydującym relacji. 

Innymi słowy:
z pewnej liczby kluczy kandydujących 
wybieramy jeden, aby pełnił funkcję 
klucza głównego.

background image

Bazy danych

14

AKOMODACJA ZALEŻNOŚCI NIEFUNKCYJNYCH

• Zależności niefunkcyjne 

przekształcamy stosując następującą 

regułę: Każdy niefunkcyjny 

determinujący element staje się 

częścią klucza głównego tabeli.

• Mówiąc dokładniej, tworzymy klucz 

złożony z determinującego elementu 

danych i zależnych elementów danych 

wchodzących w skład związku 

niefunkcyjnego. 

background image

Bazy danych

15

BAZY DANYCH

background image

Bazy danych

16

ZADANIE

1. Opracuj diagram zależności dla zadanego zbioru 

atrybutów:

Nr_studenta, Nr_indeksu, Pesel, Imie_S, Nazwisko_S, Ulica, Nr_lokalu, 

Nr_domu, Kod Miasto

2. Dodaj do diagramu atrybuty

:

Język_Obcy_Studenta, Certyfikaty

3 .Dodaj do diagramu zależność wskazującą na 

partnera studenta (partner/ka jest co najwyżej 1 i 
również jest studentem/ką)

4. Dodaj do diagramu atrybuty:

Nr_przedmiotu, Nazwa_przedmiotu, Nr_formy_zajęć, Nazwa_formy_zajęć

5. Dodaj do diagramu atrybuty:

Data_zaliczenia, Ocena

8. Zastosuj reguły Boyce’a Codda i podaj wynikową 

postać tabel

background image

Bazy danych

17

DIAGRAMY ZWIĄZKÓW ENCJI (ANG. ENTITY RELATIONSHIP DIAGRAM)

E/R LUB  ERD DIAGRAMY

Diagramy związków encji:

  To metoda graficzna modelowania schematu logicznego bazy danych,
  Diagramy ERD składają się z trzech głównych elementów (zbioru encji, atrybutów i 

związków).

Podstawą spostrzegania świata są encje (obiekty) i związki zachodzące między tymi 

encjami (obiektami).

Encje (ang. entity) są wystąpieniami obiektów, które istnieją.
Z każdą encją związany jest zbiór atrybutów opisujących te encje.
Między encjami zachodzą pewne związki np.: encje „klient”  oraz „konto” są w 

związku „posiada” ponieważ klient banku posiada konto bankowe.

Encje i ich związki zwykło się opisywać przy pomocy diagramów ERD (ang. Entity 

Relationship Diagram)

background image

Bazy danych

18

SKŁADOWE DIAGRAMU ERD

Zbiór encja (entity sets) analogia klasy, encje jako elementy zbioru encji są 

odpowiednikami obiektów, będących instancjami klasy – inaczej rzeczowniki 

odwzorowujące obiekty modelowanego świata rzeczywistego, 

Atrybut – jest to taki element, którego wartość charakteryzuje własność encji,
Związek – opisuje połączenie między dwoma lub większą liczbą zbiorów encji.

Zbiorami encji są: studenci, wykładowcy, przedmioty_kursy, oceny_za_kurs, 

filmy, studia, wypożyczenia, czytelnicy, książki, itp.,

Encja student opisana jest atrybutami: nr_index, nazwisko, imie1, imiona, rok, 

status, adres_s, adres_k, szkola, itp..

Między zbiorem encji wykładowcy a zbiorem encji przedmioty_kursy zachodzi 

związek „prowadzi_kurs” lub związek „prowadzony_przez

Przykłady:

background image

Bazy danych

19

PRZYKŁADOWE ERD

nazwisk
o

adres

klient

posiad
a

konto

Nr rachunku

saldo

1

1..n

background image

Bazy danych

20

PRZYKŁADOWE ERD – INNA POSTAĆ

Przykładowy model ER z encjami i liczebnościami na diagramie ER:

a) relacja jeden do jeden 
b) relacja jeden do wiele  
c) relacja wiele do wiele 

background image

Bazy danych

21

ZWIĄZKI ERD

zero lub jeden

dokładnie jeden

zero lub wiele

jeden lub wiele

TABELA

TABELA

TABELA

TABELA

background image

Bazy danych

22

ZWIĄZKI ERD - PRZYKŁAD

 dla każdego wiersza w tabeli B musi istnieć dokładnie jeden wiersz w tabeli A

 dla każdego wiersza w tabeli A może istnieć zero, jeden lub wiele wierszy w tabeli B

Tabela A

Tabela B

background image

Bazy danych

23

PRZYKŁADOWE ERD – INNA POSTAĆ

Diagram ERD. Dane pracowników i 
klientów

PK - klucz główny
FKx - klucz obcy

background image

Bazy danych

24

PRZYKŁADOWE ERD – INNY PRZYKŁAD

background image

Bazy danych

25

ETAPY BUDOWY DIAGRAMÓW ZWIĄZKÓW ENCJI

Na budowę modelu ER składają się następujące kroki:

identyfikacja encji,
identyfikacja relacji pomiędzy encjami,
identyfikacja atrybutów encji, ustalenie kluczy głównych.

Przykładowy zbiór encji:

PRACOWNIK (pesel, Nazwisko, imie, adres, Data_ur)

pesel

Nazwisko

imie

adres

Data_ur

background image

Bazy danych

26

METODY PROJEKTOWANIA SCHEMATU RELACYJNEGO

Metoda 1Top-Down method:

- Utworzyć model E/R;

- Zastosować reguły transformacji modelu E/R na schemat relacyjny.

Metoda 2Down-Top method:

- Zebrać jak najwięcej danych, które będą tworzyć zawartość bazy danych;

- Zidentyfikować tematy oraz ich właściwości: zdefiniować tabele relacyjne.

- Przeprowadzić proces normalizacji do 3 lub 4 postaci normalnej.

Metoda 3Mieszana:

- Utworzyć model E/R;

- Zastosować reguły transformacji modelu E/R na schemat relacyjny.

- Przeprowadzić proces normalizacji do 3 lub 4 postaci normalnej.

background image

Bazy danych

27

TRANSFORMACJA MODELU E/R NA SCHEMAT RELACYJNY

W trakcie transformacji powstają trzy typy relacji:

Relacja encji - zawiera te same informacje co odpowiadająca encja oraz klucz 

główny;

Relacja encji z kluczem obcym - zawiera te same informacje co odpowiadająca 

encja

oraz klucz obcy tworzący powiązanie z inną encją typu 1:1 lub 1:n;

Relacja związku - zawiera klucze obce wszystkich powiązanych tym związkiem 

encji oraz właściwości danego związku. Dotyczy wszystkich związków typu n:m

W trakcie transformacji wartość NULL:

jest dopuszczalna w relacjach encji dla kluczy obcych encji opcjonalnych;

jest niedopuszczalna w relacjach encji dla kluczy obcych encji obowiązkowych;

jest niedopuszczalna w relacjach związków dla kluczy obcych.

background image

Bazy danych

28

REGUŁY TRANSFORMACJI (1)

background image

Bazy danych

29

REGUŁY TRANSFORMACJI (2)

background image

Bazy danych

30

REGUŁY TRANSFORMACJI (3)

background image

Bazy danych

31

REGUŁY TRANSFORMACJI (4)

background image

Bazy danych

32

REGUŁY TRANSFORMACJI (5)

background image

Bazy danych

33

KONIEC

KONIEC


Document Outline