background image

 

 

Projektowanie baz danych

background image

 

 

Etapy procesu projektowania 

BD

Określenie celów, jakim ma służyć baza danych 
(w kontakcie z decydentem z firmy zamawiającej 
projekt).

Sprecyzowanie zakresu dostępnych danych, 
kategorii użytkowników oraz funkcji 
realizowanych poprzez aplikacje. Ewentualny 
podział projektu na perspektywy użytkowników (w 
kontakcie z pracownikami firmy zamawiającej).

Modelowanie bazy danych

background image

 

 

Modelowanie BD

konceptualne

 (bez odniesienia do SZBD) – 

zapisanie informacji o projekcie w standardowej 

notacji ER (diagramy Chena lub UML) 

niezależnej od docelowego SZBD.

logiczne

 (dla SZBD konkretnego typu, np. 

relacyjnego lub obiektowego) – podział danych 

na struktury dostępne w SZBD.

fizyczne

 (dla konkretnego SZBD) – zdefiniowanie 

dziedzin, relacji, indeksów, perspektyw, 

użytkowników z uprawnieniami itp.

background image

 

 

Diagramy Chena – zbiór encji

Zbiór jednorodnych elementów, o 
skończonej, regularnej strukturze, które 
można wyróżnić w zagadnieniu 
rzeczywistym.

SAMOCHÓD

POLISA

WYPADEK

OSOBA

background image

 

 

Diagramy Chena – atrybuty

Cecha encji (mają ją wszystkie encje z 
zadanego zbioru); encja ma ustaloną 
liczbę atrybutów, a w systemie nie 
zapisujemy innych cech encji niż 
atrybuty.

nrRej

marka

rokPr

SAMOCHÓD

nr

data

rodzaj

limit

POLISA

background image

 

 

Diagramy Chena – dziedziny

dla atrybutu określamy typ jego wartości 
oraz ewentualne ograniczenia nałożone 
na te wartości (zakres, format itp.)

background image

 

 

Diagramy Chena – rodzaje 

atrybutów

Proste

 (atomowe) lub 

złożone 

ze składowych 

(np. adres: miasto, ulica, dom, nr);

Jednokrotne 

(każda encja ma przypisaną tylko 

jedną wartość) lub 

wielokrotne 

(encja może 

mieć do k wartości danego atrybutu);

Wyliczane 

(wartość „wirtualna” – wyliczana na 

podstawie pozostałych atrybutów tej encji).

telefon

wiek

adres

nr

dom

ulica

złożony

wielokrotny

wyliczany

background image

 

 

Diagramy Chena – klucze

Klucz

 – minimalny podzbiór atrybutów encji pozwalający 

jednoznacznie wyznaczyć encję;

Klucz kandydujący 

– dowolny klucz zbioru encji;

Klucz główny 

– wybrany jeden klucz spośród 

kandydujących;

Klucze alternatywne 

– klucze kandydujące oprócz 

głównego;

Atrybuty główne 

– atrybuty klucza (głównego?).

nr

data

rodzaj

l

imit

POLISA

Na diagramie 

atrybuty 

główne 

oznaczamy 

przez 

podkreślenie 

nazwy.

background image

 

 

Diagramy Chena – związki

Związek określamy pomiędzy zbiorami encji.

Funkcyjny 

(1-n)

Wieloznaczny

 (n-m)

Jednoznaczny

 (1-1)

SAMOCH.

OSOBA

ma

n-1

PROTOK.

WYPADEK

z

1-1

SAMOCH.

WYPADEK

ud

n-m

background image

 

 

Diagramy Chena – atrybuty 

związku

Związek może mieć atrybuty

Inny sposób przedstawienia powyższego

SAMOCH.

OSOBA

ma

n-1

dataZak

cena

SAMOCH.

OSOBA

AKT_WŁAS

jest

ma

data

cena

background image

 

 

Diagramy Chena – 

wymuszanie związku

Związek łączący zbiory encji E i F oznacza, że 
każda encja ze zbioru E 

może

 wystąpić w 

związku z encją ze zbioru F. Na diagramie 
możemy zaznaczyć, że każda encja z E 

musi

 być 

w związku z przynajmniej jedną encją z F. 
Poniżej zapisaliśmy, że samochód 

musi 

mieć 

właściciela.

OSOBA

SAMOCH.

ma

background image

 

 

Diagramy Chena – związki k-

arne

Możliwe są związki pomiędzy >2 zbiorami encji. 
Takie związki wymagają ostrożności przy 
określaniu jednoznaczności (wstawianiu 
strzałek
) i uwzględnianiu braku niektórych encji.

PROTOKÓŁ

LIKWIDATOR

WYPADEK

dot.

KLASA

NAUCZYCIEL

PRZEDMIOT

ucz.

background image

 

 

Diagramy Chena – związki 

rekurencyjne

Związek pomiędzy encjami tego samego 
zbioru. Definiując taki związek określamy 
rolę każdej z encji w związku.

OSOBA

nabyła

kupiła

sprzedała

background image

 

 

Diagramy Chena –słabe zbiory 

encji

Zbiór encji E (powiązany z pewnym nadrzędnym 

zbiorem encji F związkiem funkcyjnym Z),  którego 

elementy są rozróżnialne tylko lokalnie (w grupie 

encji e 

IN

 E będących w związku z konkretną encją 

nadrzędną f 

IN

 F), a globalnie mogą być identyczne. 

Taki zbiór encji E nie posiada samodzielnego klucza. 

Może mieć atrybuty kluczowe tworzące klucz 

„lokalny”, które w połączeniu z kluczem F, tworzą 

jego klucz „globalny”. Słaby zbiór encji 

musi 

być 

powiązany z pewnym nadrzędnym zbiorem encji 

związkiem funkcyjnym lub jednoznacznym.

background image

 

 

Diagramy Chena –słabe zbiory 

encji 

POLISA_WST

AGENT

SAMOCHÓD

wystawił

dotyczy

nrWst

nrId

nrRej

background image

 

 

Diagramy Chena –słabe zbiory 

encji

GRUPA_JĘZ

KLASA

NAUCZYCIEL

ma

uczyJęz

nr

nazwa

nrId

lUcz

nazwisko

jestWych

background image

 

 

Diagramy Chena – związki 

hierarchiczne (IS A)

Występuje, gdy zbiór encji E stanowi 
podklasę zbioru encji F, czyli encje E 
mają wszystkie atrybuty encji F i 
wchodzą we wszystkie związki, w jakie 
wchodzą encje F. Dodatkowo encje E 
mogą mieć własne atrybuty i wchodzić w 
dodatkowe związki.

background image

 

 

Diagramy Chena – związki 

hierarchiczne (IS A)

OSOBA

SPRAWCA

WYPADEK

isa

spowodował

procWiny

stan

background image

 

 

Diagramy Chena – związki 

hierarchiczne (IS A)

Zbiór encji nadrzędnych F można rozbić 
na „podklasy” E1, E2,…, Ek. Możemy 
wówczas wskazać, czy każda encja ze 
zbioru F 

musi 

wystąpić w przynajmniej 

jednej podklasie (

Mandatory

, przeciwnie 

Optional

) i czy może wystąpić w więcej 

niż jednej podklasie (

And

, przeciwnie 

Or

)

background image

 

 

Diagramy Chena – związki 

hierarchiczne (IS A)

OSOBA

SPRAWCA

WYPADEK

isa

spowodował

procWiny

stan

isa

NIE_WYKR

ZE_SPR

Optional

Mandatory, Or

background image

 

 

Diagramy Chena – dodatkowe 

więzy integralności

Warunki, których nie da się przedstawić 
na diagramie zapisujemy w 
komentarzach do projektu 
przedstawionego w postaci diagramu

background image

 

 

Typowe błędy - związki

FAN TRAP – zgubienie związku 
funkcyjnego A:1-n:B przez zastosowanie 

A:n-1:C i C:1-m:B;

CHASM TRAP – zgubienie związku 
funkcyjnego A:1-n:B przez zastosowanie 
związków A:1-n:C:1-n:B

background image

 

 

Typowe błędy – encje i 

atrybuty

Stosowanie związku 1-1 może być 
zastąpione połączeniem encji w jedną;

Umieszczenie wśród atrybutów encji 
atrybutów kluczowych innych encji 
służących do zaznaczenia istnienia 
związku;

background image

 

 

Użytkownicy i perspektywy

Metoda syntezy – stworzenie odrębnych 
modeli konceptualnych dla różnych 
użytkowników i połączenie ich w jeden 
model bazy.

Metoda wydzielania perspektyw – tworzymy 
jeden model globalny i wydzielamy w nim 
obszary danych dostępnych dla 
poszczególnych użytkowników.

background image

 

 

Weryfikacja transakcji

Dla każdej transakcji użytkownika: na diagram nanosimy 
ścieżki biegnące po liniach związków łączących dane 
potrzebne do wykonania transakcji. W ten sposób 
sprawdzamy, czy realizacja transakcji jest możliwa, 
wykrywamy miejsca krytyczne w diagramie itp.

KLUB

MECZ

ZAWODNIK

gs

gra

w

zawodnicy 
grający w 
meczu;

kontrola, czy 
są z 
właściwych 
klubów;

background image

 

 

Większy przykład

background image

 

 

Podsumowanie procesu 

tworzenia modelu 

konceptualnego

1.

określ zbiory encji;

2.

określ związki pomiędzy zbiorami encji i ich 
rodzaj;

3.

określ atrybuty encji i związków (uwaga na 
atrybuty redundantne);

4.

wyznacz dziedziny atrybutów i ich ograniczenia;

5.

wyznacz klucze kandydujące i wybierz klucze 
główne;

6.

określ więzy ogólne;

background image

 

 

Podsumowanie – cd.

7.

zweryfikuj projekt sprawdzając, czy warto 
zastosować specjalizację/generalizację lub 
agregację/kompozycję;

8.

zweryfikuj związki 1-1 i usuń ewentualne 
związki redundantne;

9.

nanieś na diagram ścieżki związane z 
transakcjami użytkownika i sprawdź, czy 
realizacja transakcji jest możliwa;

10.

zweryfikuj model z klientem.

background image

 

 

UML – unified modeling 

language


Document Outline