Bazy danych
Małgorzata Kr towska
Katedra Oprogramowania
e-mail: mmac@ii.pb.bialystok.pl
Wykład 2: Diagramy zwi zków encji (ERD)
Bazy danych (studia dzienne)
2
Plan wykładu
• Diagramy zwi zków encji
– elementy ERD
– liczno ci zwi zków
– podklasy
– klucze
– zbiory słabych encji
• SQL - zapytanie proste, ł czenie tabel
Bazy danych (studia dzienne)
3
Proces modelowania i implementacji
bazy danych
Analiza informacji,
które b d zawarte
w bazie danych
Diagram E/R
Schemat bazy
danych
(
Model relacyjny
)
System zarz dzania
relacyjn
baz danych
Bazy danych (studia dzienne)
4
Elementy ERD
Diagram zwi zków encji - Entity-Relationship Diagram E/R (ERD)
• Zbiory encji
– Encja - rozró nialny obiekt
– Zbiór encji (typ encji) - zbiór podobnych encji
Wykładowca
Kr towska Małgorzata
Oni ko Agnieszka
Sosnowski Zenon
.........................
Encje
(Instancje danego
typu encji)
Zbiór encji
(typ encji)
Bazy danych (studia dzienne)
5
Elementy ERD
• Atrybuty - informacje opisuj ce encj
PRACOWNIK
Imi
Nazwisko
Id
Bazy danych (studia dzienne)
6
Elementy diagramu E/R
• Zwi zki - powi zania pomi dzy dwiema lub wi ksz liczb encji
(zbiorów encji)
Jakie mog istnie powi zania pomi dzy nast puj cymi encjami:
– Szkoły
– Rodzice
– Dzieci
• Powi zania bezpo rednie
– dziecko-szkoła
– rodzic - dziecko
• Powi zania po rednie:
– rodzic - szkoła
Encja1
Encja2
Nazwa
zwi zku
Bazy danych (studia dzienne)
7
Liczebno zwi zków encji
N:N
1:1
1:N
Bazy danych (studia dzienne)
8
Liczebno zwi zków encji
• N:N
• N:1
• 1:1
Filmy
Aktorzy
Wyst puje
Filmy
Studia
Posiada
Studia
Prezesi
Kieruje
Bazy danych (studia dzienne)
9
Zwi zki wieloargumentowe
Reprezentacja w postaci trzech warto ci:
(studio, aktor, film)
Filmy
Aktorzy
Kontrakty
Studia
Bazy danych (studia dzienne)
10
Role w zwi zkach
Przykład
Studio, które podpisało kontrakt z aktorem mo e podpisa
kontrakt z innym studiem po to , by umo liwi aktorowi udział w filmie.
Reprezentacja zwi zku
: (studio1, studio2, aktor, film)
Filmy
Aktorzy
Kontrakty
Studia
Studio
producenta
Studio
aktora
Role studia:
• producent filmu
• „wła ciciel” aktora
Bazy danych (studia dzienne)
11
Atrybuty zwi zku
Gdzie umie ci wynagrodzenie aktora?
Filmy
tytuł
rok
czas
rodzaj
Aktorzy
nazwisko
adres
Kontrakty
Studia
nazwa
adres
wynagrodzenie
Bazy danych (studia dzienne)
12
Przesuni cie atrybutu do zbioru encji
Filmy
tytuł
rok
czas
rodzaj
Aktorzy
nazwisko
adres
Kontrakty
Studia
nazwa
adres
wynagrodzenie
Ga e
Bazy danych (studia dzienne)
13
Przekształcanie w zwi zki binarne
Filmy
Aktorzy
Kontrakty
Studia
Studio
producenta
Studio
aktora
Zwi zek kontrakty: (studio1, studio2, film, aktor)
• stworzenie dodatkowego zbioru encji, którego elementy traktuje si tak
samo jak krotki zbioru zwi zków dla zwi zku wieloargumentowego
(ł cz cy zbiór encji)
• stworzenie zwi zków wiele do jeden ze zbioru ł cz cego do
poszczególnych zbiorów encji wchodz cych w skład pierwotnego
zwi zku wieloargumentowego
Bazy danych (studia dzienne)
14
Podklasy w ERD
Podklasa
= specjalny przypadek = mniej encji = wi cej własno ci
Przykład
: Kreskówki i kryminały to podklasy filmów
Filmy
tytuł
rok
czas
rodzaj
isa
isa
Kreskówki
Kryminały
dubbinguje
do aktorów
bro
Bazy danych (studia dzienne)
15
Podklasy i dziedziczenie w ERD
• Zakładaj c, e C jest podklas klasy D na diagramach E/R
nale y:
– wprowadzi pomi dzy zbiorami encji C i D specjalny typ zwi zku isa
(„an A is a B”) - wierzchołek trójk ta wskazuje klas nadrz dn
– wszystkie atrybuty i zwi zki, które odnosz si wył cznie do encji C
s doczepione do prostok ta oznaczaj cego C
– atrybuty i zwi zki, które opisuj zarówno C jak i D s doczepione do
prostok ta oznaczaj cego D.
• Dziedziczenie w ERD:
– encje mo na ogl da jako zło one ze składowych , które nale do
ró nych zbiorów encji, stanowi cych cz ci hierarchii isa
– składowe te s powi zane w cało zwi zkiem isa
– encja ma te wszystkie atrybuty, które nale do którejkolwiek
składowej oraz wchodzi we wszystkie zwi zki, w które s wł czone
jej składowe
Bazy danych (studia dzienne)
16
Klucze
• Klucze - atrybuty lub zbiory atrybutów,
które jednoznacznie identyfikuj encj
wewn trz zbioru encji.
– W zbiorze encji nie mog wyst powa
dwie encje, które miałyby identyczne
warto ci atrybutów tworz cych klucz.
• Atrybuty, które wchodz w skład klucza
na diagramach ER s podkre lone.
• W hierarchii isa, tylko zbiór encji z klasy
nadrz dnej (korze drzewa) mo e
zawiera klucz, który jednoznacznie
identyfikuje encje równie w podklasach.
• Ka dy
zbiór
encji
musi
mie
zdefiniowany klucz.
Filmy
tytuł
rok
czas
rodzaj
Bazy danych (studia dzienne)
17
Integralno referencyjna
Wi zy integralno ci referencyjnej narzucaj wymaganie, aby
warto , któr wskazuje encja faktycznie znajdowała si w bazie.
E
F
R
Interpretacja: strzałka o zaokr glonym grocie: zwi zek jest typu wiele do jeden
ze zbioru E do F i w zbiorze F
musi istnie encja odpowiadaj ca encji ze zbioru E
E
F
R
Interpretacja: strzałka o zaokr glonym grocie: zwi zek jest typu wiele do jeden
ze zbioru E do F i w zbiorze F
musi istnie co najwy ej jedna encja
odpowiadaj ca encji ze zbioru E.
Bazy danych (studia dzienne)
18
Integralno referencyjna - przykład
Interpretacja:
• Studio posiadaj ce pewien film zawsze musi
istnie w zbiorze encji Studia
• Studio kierowanego przez pewnego prezesa
musi istnie w zbiorze Studia
• Studio ma co najwy ej jednego prezesa, ale w
pewnych momentach mo e go nie mie
• Usuni cie studia z bazy powoduje usuni cie
prezesa
Filmy
Studia
Posiada
Prezesi
Kieruje
Bazy danych (studia dzienne)
19
Inne rodzaje wi zów
• Wi zy domenowe - wymagania, aby warto atrybutu nale ała
do okre lonego zbioru warto ci specyficznych lub znajdowała si
w okre lonym zakresie
• Wi zy zasadnicze - arbitralnie narzucone warunki, których
spełnienie musi by bezwzgl dnie przestrzegane w definiowanej
bazie danych
Filmy
tytuł
rok
czas
rodzaj
Aktorzy
nazwisko
adres
Wyst puje
<100
Bazy danych (studia dzienne)
20
Zbiory słabych encji
• Zbiory słabych encji - zbiory encji, dla których niektóre lub wszystkie
atrybuty klucza wybiera si z innego zbioru encji.
• Przykład: Mamy dwa zbiory encji: Piłkarze (nazwisko, wiek) oraz
Dru yny (nazwa). Jak mo na zdefiniowa klucz dla zbioru encji
Piłkarze?
Piłkarze
nazwisko
wiek
Dru yny
nazwa
gra
zbiór słabych encji - prostok t o podwójnych kraw dziach
zwi zki ł cz ce ten zbiór z innymi to zwi zki wiele do jeden - romby o podwójnych
kraw dziach
Bazy danych (studia dzienne)
21
Wymagania dla zbiorów słabych encji
• Je eli E jest zbiorem słabych encji , wówczas zbiór encji F, który
dostarcza atrybutów klucza do E, musi pozostawa z E w
pewnym zwi zku R oraz
– Zwi zek R musi by binarny, typu wiele do jeden z E do F
– Atrybuty wchodz ce w skład klucza E a pochodz ce z F musz by
cz ci klucza w F
– Je eli zbiór F jest zbiorem słabym, to kluczowe atrybuty z F
przekazywane do E mog pochodzi z pewnego innego zbioru
encji, z którym F jest powi zany poprzez zwi zek typu wiele do
jednego.
• Uogólniaj c:
– je eli zbiór encji jest oznaczony podwójn ramk , to musi by słaby.
Jego klucz składa si z tych jego własnych atrybutów, które s
podkre lone oraz atrybutów klucza tych zbiorów encji, z którymi
zbiór słaby jest poł czony przez zwi zki typu wiele do jeden, a które
oznaczono podwójnymi kraw dziami.
Bazy danych (studia dzienne)
22
Zasady projektowania
• unikanie redundancji - unikanie powtórze danych
• prostota - unikanie wprowadzania do projektu wi cej elementów
ni naprawd potrzeba
• dobór wła ciwych elementów
– definiowanie zbioru encji - je eli z elementem wi e si kilka
atrybutów
– definiowanie elementu jako atrybutu - z elementem wi e si tylko
jego nazwa
• limitowanie zbiorów słabych encji - tworzenie identyfikatorów jako
kluczy w zbiorach encji, je eli to ma uzasadnienie.
Bazy danych (studia dzienne)
23
Unikanie redundancji
• Redundancja wyst puje wówczas, gdy dana informacja jest
powtórzona w zbiorze danych.
• Redundancja powoduje niespójno bazy danych oraz zajmuje
miejsce na dysku.
Przykład redundancji:
Filmy
tytuł
rok
czas
rodzaj
Studia
nazwa
adres
Posiada
nazwa