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
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.
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.
Bazy danych
4
ZALEŻNOŚCI FUNKCYJNE
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.
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
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
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
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
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
Bazy danych
11
AKOMODACJ A C.D.
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.
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.
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.
Bazy danych
15
BAZY DANYCH
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
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)
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:
Bazy danych
19
PRZYKŁADOWE ERD
nazwisk
o
adres
klient
posiad
a
konto
Nr rachunku
saldo
1
1..n
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
Bazy danych
21
ZWIĄZKI ERD
zero lub jeden
dokładnie jeden
zero lub wiele
jeden lub wiele
TABELA
TABELA
TABELA
TABELA
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
Bazy danych
23
PRZYKŁADOWE ERD – INNA POSTAĆ
Diagram ERD. Dane pracowników i
klientów
PK - klucz główny
FKx - klucz obcy
Bazy danych
24
PRZYKŁADOWE ERD – INNY PRZYKŁAD
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
Bazy danych
26
METODY PROJEKTOWANIA SCHEMATU RELACYJNEGO
Metoda 1: Top-Down method:
- Utworzyć model E/R;
- Zastosować reguły transformacji modelu E/R na schemat relacyjny.
Metoda 2: Down-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 3: Mieszana:
- Utworzyć model E/R;
- Zastosować reguły transformacji modelu E/R na schemat relacyjny.
- Przeprowadzić proces normalizacji do 3 lub 4 postaci normalnej.
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.
Bazy danych
28
REGUŁY TRANSFORMACJI (1)
Bazy danych
29
REGUŁY TRANSFORMACJI (2)
Bazy danych
30
REGUŁY TRANSFORMACJI (3)
Bazy danych
31
REGUŁY TRANSFORMACJI (4)
Bazy danych
32
REGUŁY TRANSFORMACJI (5)
Bazy danych
33
KONIEC
KONIEC