background image

1

Bazy danych – modele baz danych

Modele baz danych

• hierarchiczny
• sieciowy
• relacyjny
• obiektowy

background image

2

Bazy danych – modele baz danych

Modele baz danych

• hierarchiczny

POŚREDNICY

MUZYCY

KLIENCI

UMOWY

ROZLICZENIA

TERMINARZ

background image

3

Bazy danych – modele baz danych

Modele baz danych

• hierarchiczny

• sieciowy

• relacyjny
• obiektowy

background image

4

Bazy danych – modele baz danych

Modele baz danych

• sieciowy

POŚREDNICY

MUZYCY

KLIENCI

UMOWY

ROZLICZENIA

STYLE 

MUZYCZNE

REPREZENTUJE

KIERUJE

UISZCZA

ZAWIERA

WYPEŁNIA

GRA

background image

5

Bazy danych – modele baz danych

Modele baz danych

• hierarchiczny
• sieciowy

• relacyjny

• obiektowy

background image

RELACYJNY MODEL DANYCH

background image

Bazy danych – relacyjny model danych

RELACJA (tabela)

background image

Bazy danych – relacyjny model danych

• W relacyjnym modelu danych baza danych składa się zwykle z 

szeregu tabel (relacji) oraz związków pomiędzy tabelami. 

• Tabele przechowują informacje na temat interesujących 

obiektów. Na uzyskanie pełniejszych informacji pozwala 
łączenie tabel. 

• Rodzaj danych, sposób podziału na tabele i związki jest 

ustalony w procesie normalizacji bazy. 

background image

Bazy danych – relacyjny model danych

• Tabele mogą być ze sobą powiązane. Każda z nich jest 

nazwana i ma stałą liczbę kolumn oraz dowolną liczbę wierszy. 

• Tabela składa się z krotek, czyli rekordów oraz niezależnych 

atrybutów, czyli pól. Ich kolejność jest dowolna. 

• Rekordy są zapisywane w wierszach, natomiast atrybuty w 

kolumnach. Kolumny są opatrzone nazwami i mogą
przechowywać dane określonego prostego typu 

(np. liczby o podanej precyzji, napisy o określonej długości albo daty).

• Wiersze reprezentują konkretne wystąpienie rekordu i można je 

dodawać lub usuwać.

background image

Bazy danych – relacyjny model danych

• Założeniem poprawnej budowy tabeli jest to, aby każda 

wartość atrybutu w każdej krotce była wartością atomową
(wartością nie rozkładalną - pojedyncza wartość, a nie zbiór 
wartości). 

background image

Bazy danych – relacyjny model danych

Atrybuty (nagłówki kolumn)

Atrybuty

służą do nazywania kolumn relacji. Na ogół oddają

znaczenie danych umieszczanych w kolumnach pod nimi 

background image

Bazy danych – relacyjny model danych

Schemat relacji

Film (tytuł,rok,długość,typFilmu)

Schemat relacji = nazwa relacji + zbiór atrybutów

background image

Bazy danych – relacyjny model danych

Schemat relacji

Film (tytuł,rok,długość,typFilmu)

W modelu relacyjnym projekt składa się z jednego lub kilku 
schematów relacji (schemat bazy danych)

background image

Bazy danych – relacyjny model danych

Krotka (wiersz tabeli - relacji)

(Gwiezdne wojny,1977,124,kolor)

W krotce każdy atrybut ma swój odpowiednik w postaci 
składowej krotki

background image

Bazy danych – relacyjny model danych

Pole

podaje wartość atrybutu, którego dziedziną jest zbiór 

dopuszczalnych wartości jakie może przyjmować.  (dane określonego 
typu, definiowane na etapie projektowania bazy danych - mają stały 
rozmiar i zwykle są to ogólnie znane typy proste - liczba, data, 
godzina, ciąg znaków, znak itp.)

Pole

background image

Bazy danych – relacyjny model danych

Instancja relacji (zbiór - krotek)

background image

Bazy danych – relacyjny model danych

background image

Bazy danych – relacyjny model danych

Własności relacji (tablicy)

• Krotki (wiersze) są unikalne

• Atrybuty (kolumny) są unikalne

• Kolejność krotek (wierszy) jest dowolna

• Kolejność atrybutów (kolumn) jest dowolna

• Wartości atrybutów (pól) są atomowe

background image

Bazy danych – relacyjny model danych

Relacja między dwoma tabelami może przyjąć jeden konkretny typ:

powiązania jednoznaczne typu 1 do 1 ("1-1"):

powiązania jednoznaczne 1 do n ("1-n" ):

powiązania wieloznaczne n do m ("n-m"):

background image

Bazy danych – relacyjny model danych

Relacja 

jeden-do-jednego

występuje wtedy, gdy 
pojedynczemu rekordowi z 
pierwszej tabeli 
przyporządkowany jest 
najwyżej jeden rekord z 
drugiej i na odwrót –
pojedynczemu rekordowi z 
drugiej tabeli może być
przyporządkowany 
najwyżej jeden rekord z 
pierwszej.

powiązania jednoznaczne typu 1 do 1 ("1-1")

powiązania jednoznaczne 1 do n ("1-n" )

powiązania wieloznaczne n do m ("n-m")

background image

Bazy danych – relacyjny model danych

Relacja 

jeden-do-wielu

występuje wtedy, gdy 
pojedynczemu rekordowi z 
pierwszej tabeli może 
odpowiadać jeden lub 
więcej rekordów z drugiej, 
podczas gdy 
pojedynczemu rekordowi z 
drugiej tabeli odpowiada 
najwyżej jeden rekord z 
pierwszej.

powiązania jednoznaczne typu 1 do 1 ("1-1")

powiązania jednoznaczne 1 do n ("1-n" )

powiązania wieloznaczne n do m ("n-m")

background image

Bazy danych – relacyjny model danych

Relacja 

wiele-do-wielu

występuje wtedy, gdy 
pojedynczemu rekordowi w 
pierwszej z nich może 
odpowiadać jeden lub wiele 
rekordów z drugiej i na 
odwrót – pojedynczy rekord 
z drugiej tabeli może być
powiązany z jednym lub 
większą liczbą rekordów z 
pierwszej.

powiązania jednoznaczne typu 1 do 1 ("1-1")

powiązania jednoznaczne 1 do n ("1-n" )

powiązania wieloznaczne n do m ("n-m")

background image

Bazy danych – relacyjny model danych

Diagram związków encji

FILMY

GWIAZDY

STUDIA

tytuł

rok

długość

typFilmu

nazwisko

adres

nazwa

adres

Gwiazdy-w

Posiada

background image

Bazy danych – relacyjny model danych

Zbiór encji

Î

relacja

FILMY

tytuł

rok

długość

typFilmu

background image

Bazy danych – relacyjny model danych

Zbiór encji

Î

relacja

GWIAZDY

nazwisko

adres

nazwisko

adres

Carrie Fisher

123 Maple St., Hollywood

Mark Hamill

456 Oak Rd., Brentwood

Harrison Ford

789 Palm Dr, Beverly Hills

background image

Bazy danych – relacyjny model danych

Związki encji

Î

relacja

FILMY

STUDIA

tytuł

rok

długość

typFilmu

nazwa

adres

Posiada

tytuł

rok

nazwa studia

Gwiezdne wojny

1977

1991

1992

Fox

Potężne Kaczory

Disnay

Świat Weyne’a

Paramount

Atrybuty relacji związku:

• Klucze zbiorów encji są atrybutami relacji

• Własny klucz związku (jeśli istnieje)

background image

Związki encji

Î

relacja

Bazy danych – relacyjny model danych

Atrybuty relacji związku:

• Klucze zbiorów encji są atrybutami relacji

• Własny klucz związku (jeśli istnieje)

FILMY

GWIAZDY

tytuł

rok

typFilmu

nazwisko

adres

Gwiazdy-w

długość

tytuł

rok

nazwisko gwiazdy

Gwiezdne wojny

1977

Carrie Fisher

Świat Weyne’a

1992

Mike Meyers

Gwiezdne wojny

1977

Mark Hamill

1977

1991

1992

Gwiezdne wojny

Harrison Ford

Potężne Kaczory

Emilio Estevez

Świat Weyne’a

Dana Carvey

background image

Związki encji

Î

relacja

Bazy danych – relacyjny model danych

Atrybuty relacji związku:

• Klucze zbiorów encji są atrybutami relacji

• Własny klucz związku (jeśli istnieje)

FILMY

GWIAZDY

tytuł

rok

typFilmu

nazwisko

adres

długość

nazwisko gwiazdy

tytuł

rok

studioGwiazdy

studioProducenta

KONTRAKTY

STUDIA

nazwa

adres

KONTRAKTY

background image

Bazy danych – relacyjny model danych

Zbiory (słabych) encji

Î

relacja

Atrybuty relacji:

• Dla zbioru - atrybuty zbioru słabych encji oraz atrybuty klucza z innych 

zbiorów encji

• Dla związku – wszystkie atrybuty klucza zbioru słabych encji również te, które 

pochodzą z innych zbiorów encji

Studia (nazwa, adres)

Zespoły (numer, nazwaStudia)

Jednostka (numer, nazwaStudia, nazwa)

STUDIA

nazwa

adres

ZESPÓŁ

Jednostka-w

numer

background image

Bazy danych – relacyjny model danych

Zależności funkcyjne

Warunek występowania zależności funkcyjnych:

A

1

,A

2

,...A

n

-->B

Jeżeli dwie krotki relacji R są zgodne dla atrybutów A

1

, A

2

, A

n

(obie 

krotki mają te same wartości składowych dla wymienionych atrybutów) 
to muszą być również zgodne  w pewnym innym atrybucie B

background image

Bazy danych – relacyjny model danych

Zależności funkcyjne

A

1

,A

2

,...A

n

-->B

1

A

1

,A

2

,...A

n

-->B

2

A

1

,A

2

,...A

n

-->B

m

A

1

,A

2

,...A

n

-->B

1

B

2

…B

m

Jeżeli zbiór atrybutów A

1

, A

2

, A

n

określa funkcyjnie  więcej niż jeden 

atrybut B

background image

Bazy danych – relacyjny model danych

Zależności funkcyjne

tytuł

rok

długość typFilmu

nazwaStudia

nazwisko-
Gwiazdy

Gwiezdne
wojny

1977

124

kolor

Fox

Carrie Fisher

Gwiezdne
wojny

1977

124

kolor

Fox

Mark Hamill

Gwiezdne
wojny

1977

124

kolor

Fox

Harrison Ford

Potężne
Kaczory

1991

104

kolor

Disney

Emilio
Estevez

Potężne
Kaczory

1992

95

kolor

Paramount

Dana Carvey

Świat
Wayne’a

1992

95

kolor

Paramount

Mike Meyers

tytuł rok ---> długość
tytuł rok ---> typFilmu
tytuł rok ---> nazwaStudia

A

1

,A

2

,...A

n

-->B

tytuł rok ---> długość typFilmu nazwaStudia

A

1

,A

2

,...A

n

-->B

1

B

2

…B

m

background image

Bazy danych – modelowanie więzów

Klasyfikacja więzów -

Klucze

Klucze –

atrybuty lub zbiory atrybutów, które jednoznacznie 

identyfikują encję wewnątrz zbioru encji. 
Klucz może być utworzony przez:
• wybór atrybutu spełniającego rolę klucza (np. Pesel, NIP)
• utworzenie specjalnego atrybutu spełniającego rolę klucza

FILMY

tytuł

rok

długość

typFilmu

KLUCZ

background image

Bazy danych – relacyjny model danych

Klucze relacji

Atrybut lub zbiór atrybutów {A

1

, A

2

, ...., A

n

}  tworzy klucz relacji jeżeli

• Wszystkie pozostałe atrybuty relacji są fukcyjnie zależne od tych

atrybutów. 
(Nie może się zdarzyć, aby dwie różne krotki relacji R były zgodne
dla wszystkich atrybutów A

1

, A

2

, ...., A

n.

)

• Nie istnieje podzbiór właściwy zbioru {A

1

, A

2

, ...., A

n

}, od którego

pozostałe atrybuty relacji R są zależne funkcyjnie (klucz musi być
minimalny)

background image

Bazy danych – relacyjny model danych

Klucze relacji

tytuł

rok

długość typFilmu

nazwaStudia

nazwisko-
Gwiazdy

Gwiezdne
wojny

1977

124

kolor

Fox

Carrie Fisher

Gwiezdne
wojny

1977

124

kolor

Fox

Mark Hamill

Gwiezdne
wojny

1977

124

kolor

Fox

Harrison Ford

Potężne
Kaczory

1991

104

kolor

Disney

Emilio
Estevez

Potężne
Kaczory

1992

95

kolor

Paramount

Dana Carvey

Świat
Wayne’a

1992

95

kolor

Paramount

Mike Meyers

Czy atrybuty {tytuł, rok, nazwiskoGwiazdy} tworzą klucz relacji Film ?

1. Czy wszystkie pozostałe atrybuty relacji Film są od nich zależne funkcyjnie ?

Istnieją

tytuł rok ---> długość

zależności

tytuł rok ---> typFilmu

funkcyjne

tytuł rok ---> nazwaStudia

Dwie różne krotki zgodne dla wszystkich trzech atrybutów

{tytuł, rok, nazwiskoGwiazdy}

są tą samą krotką

background image

Bazy danych – relacyjny model danych

Klucze relacji

tytuł

rok

długość typFilmu

nazwaStudia

nazwisko-
Gwiazdy

Gwiezdne
wojny

1977

124

kolor

Fox

Carrie Fisher

Gwiezdne
wojny

1977

124

kolor

Fox

Mark Hamill

Gwiezdne
wojny

1977

124

kolor

Fox

Harrison Ford

Potężne
Kaczory

1991

104

kolor

Disney

Emilio
Estevez

Potężne
Kaczory

1992

95

kolor

Paramount

Dana Carvey

Świat
Wayne’a

1992

95

kolor

Paramount

Mike Meyers

Czy atrybuty {tytuł, rok, nazwiskoGwiazdy} tworzą klucz relacji Film ?

2. Czy żaden z podzbiorów właściwych zbioru {

tytuł, rok, nazwiskoGwiazdy} 

nie wyznacza pozostałych atrybutów w sosób zależny funkcyjnie ?

rok nazwiskoGwiazdy ---> tytuł

NIE

tytuł nazwiskoGwiazdy ---> rok

NIE

tytuł rok ---> nazwiskoGwiazdy

NIE

background image

Bazy danych – relacyjny model danych

Klucze relacji

Każda tabela (relacja) posiada zdefiniowany klucz - wyróżnioną
kolumnę lub kilka kolumn, których wartości jednoznacznie identyfikują
dany wiersz. Ich wartość dla każdego rekordu jest unikalna. 
Kolumny jednoznacznie odróżniające rekordy relacji nazywane są
kluczem głównym (podstawowym).

W każdej relacji istnieje pewna kombinacja atrybutów mająca 
zdolność jednoznacznej identyfikacji - tablica ma więcej niż jeden
klucz kandydujący wśród kluczy podstawowych. Wśród nich, ten 
który poprzez minimalną ilość atrybutów jednoznacznie wyznacza
dany wiersz jest określany kluczem właściwym. 

background image

Bazy danych – relacyjny model danych

Klucze relacji

Klucz obcy

Kolumny jednej tabeli są kluczem obcym, jeśli nie są kluczem
głównym tej tabeli, ale ich wartości są wartościami klucza
głównego innej tabeli.

W relacyjnym modelu logicznym dwie tabele są ze sobą w 
relacji, jeśli wiążą je wartości klucza podstawowego i klucza
obcego lub też specjalna tabela łącząca. 

background image

Bazy danych – relacyjny model danych

Klucze relacji

background image

Bazy danych – relacyjny model danych

Klucze relacji

Atrybut lub zbiór atrybutów {A

1

, A

2

, ...., A

n

}  tworzy klucz relacji jeżeli

• Wszystkie pozostałe atrybuty relacji są fukcyjnie zależne od tych

atrybutów. Nie może się zdarzyć, aby dwie różne krotki relacji R 
były zgodne dla wszystkich atrybutów A

1

, A

2

, ...., A

n.

• Nie istnieje podzbiór właściwy zbioru {A

1

, A

2

, ...., A

n

}, od którego

pozostałe atrybuty relacji R są zależne funkcyjnie (klucz musi być
minimalny)

Nadklucz –

zbiór atrybutów zawierających klucz 

(spełniony jest jedynie warunek pierwszy)

background image

Bazy danych – relacyjny model danych

Reguły dotyczące zależności funkcyjnych

- zasady podziału i łączenia

- zależności trywialne

- reguła przechodniości

background image

Bazy danych – relacyjny model danych

Reguły dotyczące zależności funkcyjnych

- zasady podziału i łączenia

Reguła podziału

zależność funkcyjną: 

A

1

A

2

...A

n

Æ

B

1

B

2

...B

można zastąpić zbiorem zależności funkcyjnych:

A

1

A

2

...A

n

Æ

B

gdzie i=1,2...m

background image

Bazy danych – relacyjny model danych

Reguły dotyczące zależności funkcyjnych

- zasady podziału i łączenia

Reguła łączenia

zbiór zależności funkcyjnych: 

A

1

A

2

...A

n

Æ

B

gdzie i=1,2...m

można zastąpić zależnością funkcyjną:

A

1

A

2

...A

n

Æ

B

1

B

2

...B

m

background image

Bazy danych – relacyjny model danych

Zależności funkcyjne – przykład reguły łączenia

tytuł

rok

długość typFilmu

nazwaStudia

nazwisko-
Gwiazdy

Gwiezdne
wojny

1977

124

kolor

Fox

Carrie Fisher

Gwiezdne
wojny

1977

124

kolor

Fox

Mark Hamill

Gwiezdne
wojny

1977

124

kolor

Fox

Harrison Ford

Potężne
Kaczory

1991

104

kolor

Disney

Emilio
Estevez

Potężne
Kaczory

1992

95

kolor

Paramount

Dana Carvey

Świat
Wayne’a

1992

95

kolor

Paramount

Mike Meyers

tytuł rok ---> długość
tytuł rok ---> typFilmu
tytuł rok ---> nazwaStudia

tytuł rok ---> długość
tytuł ---> długość
rok ---> długość

tytuł rok ---> długość typFilmu nazwaStudia

background image

Bazy danych – relacyjny model danych

Reguły dotyczące zależności funkcyjnych

- zależności trywialne

zależność funkcyjna: 

A

1

A

2

...A

n

Æ

B

jest trywialna, jeżeli

jest równe któremuś

A

tytuł rok ---> tytuł

background image

Bazy danych – relacyjny model danych

Reguły dotyczące zależności funkcyjnych

- reguła przechodniości

Jeżeli w relacji  R zachodzą zależności: 

A

1

A

2

...A

n

Æ

B

1

B

2

...B

m  

oraz B

1

B

2

...B

Æ

C

1

C

2

...C

k

To w relacji R zachodzi także zależność:

A

1

A

2

...A

n

Æ

C

1

C

2

...C

k

background image

Bazy danych – relacyjny model danych

Reguły dotyczące zależności funkcyjnych

- reguła przechodniości (przykład)

Tytuł  

Rok  Długość Typ 

filmu 

Nazwa Studia 

Gwiezdne 
wojny 

1997 124 

Kolor  Fox 

Potężne 
Kaczory  

1991 104 

Kolor  Disney 

Swiat 
Wayne’a 

1992 95 

Kolor  Paramount 

 

Jeżeli w relacji Film chcemy przechowywać dane dotyczące studia

Tytuł  

Rok  Długość Typ 

filmu 

Nazwa Studia 

adresStudia 

Gwiezdne 
wojny 

1997 124 Kolor 

Fox 

Hollywood 

Potężne 
Kaczory  

1991 104 Kolor 

Disney 

Buena 

Vista 

Swiat 
Wayne’a 

1992 95 Kolor 

Paramount  Hollywood 

 

tytuł rok ---> nazwaStudia

nazwaStudia ---> adresStudia

tytuł rok ---> adresStudia

background image

Bazy danych – relacyjny model danych

PROJEKTOWANIE RELACYJNYCH 

SCHEMATÓW BAZ DANYCH


Document Outline