Bazy danych

Transkrypt

Bazy danych
2010-11-22
PLAN WYKŁADU
Projektowanie bazy danych
Diagramy związków encji
 Encje
 Własności
 Związki
 Podtypy
 Przykłady diagramów


BAZY DANYCH
Wykład 6
dr inż. Agnieszka Bołtuć
GŁÓWNE ETAPY PROJEKTOWANIA BAZY
ZADANIE - FIRMA
DANYCH
świat
rzeczywisty
zbieranie
i analiza wymagań
analiza
funkcjonalna
projekt
koncepcyjny
(pojęciowy)
projekt
logiczny
projekt
aplikacji
implementacja
transakcji
projekt
fizyczny
niezależne od SZBD
zależne od SZBD
Baza danych ma umożliwiać zarządzanie danymi
pracowników, działów i projektów.
Wymagania:
 firma jest podzielona na działy, z których każdy ma
unikatową nazwę, numer i kierownika (pracownika);
należy pamiętać od kiedy kierownik kieruje działem;
działy mogą być rozproszone,
 dział realizuje wiele projektów, identyfikowanych
unikatową nazwą, numerem oraz z jednym miejscem
realizacji,
 pracownik powinien być opisany następującymi
danymi: nazwisko, PESEL, adres, pensja, płeć, data
urodzenia,
1
2010-11-22
ZADANIE - FIRMA
MODELOWANIE POJĘCIOWE (KONCEPCYJNE)

Pracownik pracuje w jednym dziale, ale realizuje
wiele projektów,
 Należy zapamiętać liczbę godzin pracy nad danym
projektem w ciągu tygodnia,
 Pracownik musi mieć przypisanego zwierzchnika,
 Przechowujemy także informacje o rodzinie
pracownika (sprawy socjalne): imię, płeć, data
urodzenia, stopień pokrewieństwa.

SCHEMATY POJĘCIOWE
ELEMENTY MODELU
Pojęciowy model danych może być reprezentowany
przy użyciu dwóch konstrukcji


diagramów związków encji ERD (ang. entityrelationship diagrams), stosowane są różne notacje
m.in. Chena, Martina (kruczej stopki), Barkera
(Oracle)
diagramów UML (ang. Unified Modeling
Language).
zadaniem modelowania koncepcyjnego jest
odzwierciedlenie obiektów świata rzeczywistego w
inne abstrakcyjne obiekty, które w pewnym dalszym
momencie da się reprezentować w systemie
informatycznym,
 schemat koncepcyjny jest zwięzłym opisem
zgłoszonych przez końcowych użytkowników
wymagań,
 elementy stosowanego tu wysokopoziomowego
modelu danych nie obejmują opisu szczegółów
implementacji.
ENCJI
– NIEFORMALNE DEFINICJE
Pojęcie
Nieformalna definicja
Przykłady
ENCJA
rozróżnialny obiekt
Pracownik, Część,
Dostawca, Wydział,
Osoba
WŁASNOŚĆ
część informacji opisująca
encję
Numer_dostawcy,
Dział_pracownika,
Wzrost_osoby
ZWIĄZEK
encja służąca do połączenia
dwóch lub więcej encji
Dostawa (DostawcaCzęść)
Zatrudnienie
(Pracownik-Wydział)
PODTYP
Encja typu Y jest podtypem
encji typu X wtedy i tylko
wtedy, gdy każdy Y jest też X
Pracownik jest
podtypem Osoby
2
2010-11-22
ENCJA

Encja jest abstrakcją złożoności pewnej dziedziny,

Jest to pewien aspekt świata rzeczywistego, który możemy
odróżnić od innych aspektów tego świata i jest on na tyle
istotny, że chcemy przechowywać o nim informacje,

Encja może być obiektem fizycznym (wydział, mieszkanie),
zdarzeniem (kupno, kontrola) lub pojęciem takim jak
transakcja lub zamówienie, a także obiektem o charakterze
koncepcyjnym (stan magazynu, znajomość obsługi
komputera),

Przy identyfikowaniu encji stosuje się zasadę:
CECHY ENCJI
Każda encja posiada właściwości zwane
atrybutami,
 Każda encja posiada unikatowy identyfikator i
nazwę,
 Konkretny obiekt świata rzeczywistego jest
reprezentowany jako wystąpienie encji (instancja
encji),
 Obiekt rzeczywisty może być reprezentowany w
modelu przez co najwyżej jedną encję.

Jeśli trzeba przechowywać informacje na temat wielu własności
jakiejś rzeczy, to taka rzecz jest prawdopodobnie encją,
ENCJE SŁABE

Jest to taka encja, której istnienie zależy od innej
encji w tym sensie, że nie może ona istnieć, jeżeli
ta inna encja też nie istnieje, nie zawierają
atrybutów klucza,

Inne encje związane ze słabymi encjami nazywamy
identyfikującymi lub właścicielskimi,

np. krewni osoby to słaba encja, gdyż nie mogą
istnieć jeśli nie istnieje osoba, jeśli z bazy usuniemy
osobę to powinniśmy usunąć także jej krewnych.
ZAPIS ENCJI
Osoba
Krewny osoby
Osoba
encja
encja słaba
notacja Martina (kruczej stopki)
notacja Chena
Imię
Nazwisko
Adres
Wiek
…
encja
notacja Barker (Oracle)
3
2010-11-22
PRZYKŁAD ENCJI I INSTANCJI ENCJI
W ŁASNOŚCI/ATRYBUTY
Encja jest scharakteryzowana pewną liczbą
właściwości,
 Wszystkie encje danego typu mają wspólne
własności pewnych rodzajów,
 Każdy rodzaj własności czerpie wartości z pewnego
zbioru wartości.
 Rodzaje własności:

1
encja
Osoba
Imię
Nazwisko
Stanowisko
Wiek
…
Agnieszka
Bogdan
manager
33
…
2
Tomasz
Kruk
referent
25
…
instancje encji
3

Anna
Opacka
portier
44
…




W ŁASNOŚCI PROSTE (ATOMOWE) I ZŁOŻONE

Atrybut prosty jest niepodzielny,
proste, złożone
kluczowe,
jedno- lub wielowartościowe,
brakujące (puste),
podstawowe, pochodne.
ATRYBUTY JEDNO- I WIELOWARTOŚCIOWE

Atrybuty jednowartościowe reprezentują
pojedynczą wartość dla danej encji,
np. imię, nazwisko, wiek, stanowisko
np. wiek, nazwisko

Atrybut złożony można podzielić na mniejsze
podgrupy reprezentujące prostsze atrybuty,
wykorzystuje się go w sytuacjach, gdy do danych
złożonych odwołuje się jako do pojedynczego
elementu,

Atrybuty wielowartościowe posiadają cały zbiór
wartości dla tej samej encji, mogą mieć przypisane
ograniczenia akceptujące wartości dla danej encji,
np. kolor, tytuł naukowy, języki obce
np. adres
4
2010-11-22
POZOSTAŁE ATRYBUTY

ATRYBUT KLUCZA
podstawowe i pochodne – atrybuty pochodne to
takie, których wartość jest wywodzona z wartości
atrybutu zwanego stałym lub innych encji,

Każda encja posiada atrybut (lub zbiór atrybutów)
będących unikalnym identyfikatorem encji. Wartości
atrybutu klucza można wykorzystywać do
unikalnego identyfikowania poszczególnych encji,
wyróżniamy identyfikatory naturalne (PESEL, etc.)
i sztuczne (nr w katalogu, etc.)

Przykłady:
np. data urodzenia – podstawowy, wiek – pochodny

brakujące (puste) – mogą istnieć przypadki w
których encja nie ma żadnej wartości atrybutu lub ta
wartość jest nieznana,
Osoba
W ŁASNOŚCI NOTACJA
encja
własność
Osoba
# Id
*Imię
*Nazwisko
*Adres
*Wiek
…
encja
PESEL, NIP, nr dowodu,
id, nr_pracownika, nr_wydziału
nr_rejestracyjny
PRZYMIARKA DO PROJEKTU KONCEPCYJNEGO
DataKierowania
Lokalizacja
Lokalizacja
własności
DziałKontr
Projekt
Kierownik
Dział
notacja Barker (Oracle)
Nazwa
Nazwisko
Nazwa
Numer
Numer
DataUrodzenia
własność wielowartościowa
Pokrewieństwo
PESEL
Stopień
własność kluczowa
Adres
PracujeNad
Przełożony
Płeć
ImięNazwisko
miasto
Wiek
ulica
własność złożona
Pensja
Adres
Pracownik
Pracownik
własność pochodna
notacja Martin (kruczej stopki)
notacja Chena
CzłonekR
Imię
DataUrodzenia
PESEL
Płeć
Dział
5
2010-11-22
ZWIĄZKI - DEFINICJA


ZWIĄZKI
Związek R między encjami E1, E2,..., En definiuje zbiór
powiązań między instancjami tych encji.
Związek R jest matematyczną relacją składającą się z
instancji związku ri, gdzie ri wiąże n instancji encji
(e1,e2,..., en) i każda instancja ej, 1≤j≤n jest
wystąpieniem encji Ej.
Pracuje_na
Pracownik
Wydział
Jest powiązaniem pomiędzy encjami,
Encje objęte danym związkiem są jego
uczestnikami,
 Liczba uczestników w związku to jego stopień
(liczebność),
 Rodzaje związków:


binarne, ternarne (ze względu na stopień
związku )
 unarne,
r1
p1
p2
d1
p3
 jeden
r3
p4
d2
r5
d3
ZWIĄZEK UNARNY

do jeden, jeden do wiele, wiele do wiele,
lub opcjonalne.
 wymagane
ZWIĄZEK BINARNY
wiążą instancje z instancją tej samej encji
(najczęściej reprezentują powiązania rekursywne).
Dla związków unarnych należy określić rolę jaką
gra każda instancja encji w związku.

Związkiem binarnym nazywamy związek drugiego
stopnia, łączącym instancje dwóch encji,
najbardziej popularny,
Pracownik
p1
p
p1
p2
r1
r1
s
p
s
p
d1
d2
p3
s
r2
p4
r3
p4
Mieszkanie
p2
r2
p3
Posiada
Kierownictwo
Pracownik
r3
d3
p
r4
6
2010-11-22
ZWIĄZEK TERNARNY

W SPÓŁCZYNNIKI LICZNOŚCI (TYP ASOCJACJI)
Związkiem ternarnym (trojskładniowym) nazywamy
związek trzeciego stopnia, łączącym instancje
trzech encji,
Projekt
Dostawca

Dostarcza
d1
określa ile wystąpień jednej encji może być
powiązanych z iloma wystąpieniami innej encji
 związek typu 1:1 - każda instancja bierze udział
w co najwyżej jednej instancji związku
p1
Pracownik
r1
Kieruje
Dział
d2
p2
p1
r1
r2
d1
p2
p3
Część
d2
r3
p3
r2
p4
c1
r3
d3
c2
c3
W dowolnym punkcie czasu jeden pracownik może kierować jednym działem i jeden dział
może mieć jednego kierownika.
c4
W SPÓŁCZYNNIKI LICZNOŚCI (TYP ASOCJACJI)

związek typu 1:N - instancja jednej encji bierze
udział w co najwyżej jednej instancji związku,
instancja drugiej w dowolnej liczbie instancji
związku
Pracownik
Pracuje_w
Dział
W SPÓŁCZYNNIKI LICZNOŚCI (TYP ASOCJACJI)

związek typu M:N - instancje obu encji biorą udział
w dowolnej liczbie instancji związku
Pracownik
Pracuje_nad
p1
r1
d1
p2
p1
r1
d1
p2
p3
Projektem
p3
r2
d2
r2
d2
d3
p4
r3
p4
r3
r4
r4
W dowolnym punkcie czasu jeden pracownik pracuje w jednym dziale a jeden dział może
zatrudniać wielu pracowników.
W dowolnym punkcie czasu jeden pracownik może realizować wiele projektów a jeden
projekt skupia wielu pracowników.
7
2010-11-22
OGRANICZENIA UDZIAŁU W ZWIĄZKU

ZWIĄZKI NOTACJA
pełny udział (udział całkowity, totalna
przynależność) – oznacza, że każda instancja encji
musi brać udział w jakiejś instancji związku
(związek jest wymagany)
E1
związek 1:1
związek
E1
związek identyfikujący
Pracownik

Pracuje_w
Pracownik
Kieruje
E2
związek wymagany/opcjonalny
Dział
udział częściowy (częściowa przynależność) oznacza, że mogą istnieć instancje encji nie biorące
udziału w żadnej instancji związku (związek jest
opcjonalny)
E2
E1
E1
R
E2
E2
związek 1:N
związek wymagany
E1
E1
1
R
N
E2
E2
liczność związku
związek identyfikujący
Notacja Chena
Notacja Oracle
Dział
KONTYNUACJA PROJEKTU
PODTYPY
Encje o wspólnych zbiorach atrybutów, można
generalizować używając encji nadtypu (encji
generalizacji, encji nadklasy, nadencji),
 Wyróżniamy tu pojęcia podtypu (podklasy) i
nadtypu (nadklasy),
 Każda encja należąca do podklasy reprezentuje ten
sam byt świata rzeczywistego co encja z nadklasy,
więc encja z podklasy jest tym samym co encja z
nadklasy tylko w dokładnie sprecyzowanej roli,

Pracownik
Programista
Źródło: R. Elmasri, S. B. Navathe, Wprowadzenie do systemów baz danych
Programista_aplikacji
Programista_systemowy
8
2010-11-22
PODTYPY
PODTYPY
encja podklasy dziedziczy wszystkie atrybuty oraz
związki encji nadklasy,
 encje podtypu nie posiadają własnego
identyfikatora, identyfikator nadtypu jest wspólny
dla wszystkich jego podtypów,
 podklasa z jej lokalnymi atrybutami i związkami
może być traktowana jak prawidłowa encja dopiero
w połączeniu ze wszystkimi atrybutami i związkami
z nadklasy,
 każde wystąpienie podencji jest wystąpieniem
nadencji.

ZWIĄZKI A PODTYPY
Pracownik
atrybuty wspólne
Programista
atrybuty specyficzne
nadencja
#PESEL
*Imię
*Nazwisko
*Adres
podencja
*Język_prog
GENERALIZACJA, SPECJALIZACJA
związki wspólne – zachodzące pomiędzy nadencją
a inną encją,
 związki specyficzne – zachodzące pomiędzy
podencją a inną encją,

Pracownik
Dział
#PESEL
*Imię
*Nazwisko
*Adres
#nazwa
*Lokalizacja
Programista
*Język_progr
Aplikacja
#nazwa
*Licencja

Specjalizacja jest procesem definiowania zbioru
podklas jednej encji zwanej nadklasą specjalizacji,
pozwala na tworzenie dodatkowych, specyficznych
atrybutów dla każdej podklasy oraz dodatkowych,
specyficznych związków pomiędzy podklasami a
innymi encjami,

Generalizacja to proces definiowania uogólnionej
encji na bazie danych wyspecjalizowanych encji.
9
2010-11-22
PRZYKŁAD 2 - BANK
PODTYPY NOTACJA
Imię
Pracownik
PESEL
Nazwisko
#PESEL
*Imię
*Nazwisko
*Adres
Pracownik
ograniczenie
rozłączności
Kontraktowy
d
*Nr_kontraktu
Godzinowy
*Liczba_godzin
*Stawka
Kontraktowy
Godzinowy
Liczba_godzin
Nr_kontraktu
Notacja Oracle
Stawka
Źródło: R. Elmasri, S. B. Navathe, Wprowadzenie do systemów baz danych
PRZYKŁAD 3 - BAZA DANYCH
MAŁEGO LOTNISKA
W YKŁAD PRZYGOTOWANO NA PODSTAWIE
R. Elmasri, S. B. Navathe, Wprowadzenie do
systemów baz danych, Helion, 2005,
 P. Beynon-Davies, Systemy baz danych, WNT,
2003,
 C. J. Date, Wprowadzenie do systemów baz
danych, WNT, Warszawa, 2000,
 http://wazniak.mimuw.edu.pl/index.php?title=Bazy_
danych.

Źródło: R. Elmasri, S. B. Navathe, Wprowadzenie do systemów baz danych
10

Podobne dokumenty