projektowanie struktury logicznej schematu relacyjnych baz danych n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Projektowanie struktury logicznej (schematu) relacyjnych baz danych PowerPoint Presentation
Download Presentation
Projektowanie struktury logicznej (schematu) relacyjnych baz danych

Loading in 2 Seconds...

play fullscreen
1 / 51

Projektowanie struktury logicznej (schematu) relacyjnych baz danych - PowerPoint PPT Presentation


  • 110 Views
  • Uploaded on

Projektowanie struktury logicznej (schematu) relacyjnych baz danych. Wykład S. Kozielski. niezależny byt, jednoznacznie identyfikowalny. encja. atrybut. opisuje encje i  związki. związek. łączy encje. Projektowanie struktury (logicznej) baz danych.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Projektowanie struktury logicznej (schematu) relacyjnych baz danych' - kort


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
projektowanie struktury logicznej baz danych

niezależny byt, jednoznacznie identyfikowalny

encja

atrybut

opisuje encje i  związki

związek

łączy encje

Projektowanie struktury (logicznej) baz danych

Modelowanie związków encji – elementy diagramów

przyk ady diagram w zwi zk w encji 1

zalicza

studiuje

student

przedmiot

N

M

N

1

kierunek

Przykłady diagramów związków encji (1)

przyk ady diagram w zwi zk w encji 2

należy

Przykłady diagramów związków encji (2)

pracownik

temat

N

M

N

wykonuje

1

zespół

slide6

typ - student

encja

wystąpienie - Grabski

typ - studiuje

związek

wystąpienie – Grabski studiuje informatykę

typ encji zbiór wartości

atrybut-odwzorowanie

typ związku zbiór wartości

slide7

integer

char(20)

char(50)

album

nazwisko

adres

nazwisko

album

adres

student

student

slide8

prowadzący

id_p

student

przedmiot

N

M

N

studiuje

zalicza

podlega

id_k

id_w

sem

dziekan

nazwa

nazwa

album

ocena

adres

nazwa

jęz_ob

nazwisko

1

kierunek

N

1

wydział

algorytm tworzenia schemat w relacji na podstawie diagramu zwi zk w encji

Algorytm tworzenia schematów relacji na podstawie diagramu związków encji

1) Utwórz schemat relacji dla każdego typu encji. Do schematu tego wchodzą wszystkie atrybuty proste (pojedyncze) opisujące encję. Kluczem schematu jest klucz encji.

2) Utwórz dodatkowy schemat relacji dla każdego atrybutu wielowartościowego. Do schematu tego wchodzi klucz encji i dany atrybut wielowartościowy. Kluczem schematu jest cały schemat.

3) Utwórz schemat relacji dla każdego typu związku. Do schematu tego wchodzą klucze encji powiązanych związkiem oraz atrybuty własne związku. Klucz schematu jest wyznaczany następująco:

 dla krotności 1:N – klucz encji wchodzącej do związku przez krawędź N,

dla krotności M:N – złożenie kluczy obu encji,

dla krotności 1:1 – dowolny z kluczy obu encji,

 4) Scal schematy o identycznych kluczach (optymalizacja struktury).

schematy relacji utworzone dla diagramu opisuj cego student w

Schematy relacji utworzone dla diagramu opisującego studentów

student (album, nazwisko, adres)

kierunek (id_k, nazwa)

wydział (id_w, nazwa, dziekan)

przedmiot (id_p, nazwa, prowadzący)

języki (album, język_obcy)

studiuje (album, id_k, sem)

podlega (id_k, id_w)

zalicza (album, id_p, ocena)

schematy relacji po optymalizacji

Schematy relacji po optymalizacji

studenci (album, nazwisko, adres, id_k, sem)

kierunki (id_k, nazwa, id_w)

wydziały (id_w, nazwa, dziekan)

przedmioty (id_p, nazwa, prowadzący)

języki (album, język_obcy)

zaliczenia (album, id_p, ocena)

inna forma zapisu diagram w narz dzia case

student

kierunek

album

nazwisko

adres

id_k

nazwa

studiuje

Inna forma zapisu diagramów (narzędzia CASE)

problem atrybut w wielowarto ciowych

zna

album

adres

nazwisko

nazwa

M

N

język_obcy

student

stopień

Problem atrybutów wielowartościowych

student(album, nazwisko, adres)

język_obcy (nazwa)

zna (album, nazwa, stopień)

Relacja (tablica)język_obcy – pełni rolę słownika

problem zwi zk w 1 1

jest

album

adres

nazwisko

nr_karty

staż

1

1

czytelnik

student

Problem związków 1 : 1

student (album, nazwisko, adres)

czytelnik (nr_karty, staż)

jest (album, nr_karty) - problem wyboru klucza

slide15

student (album, nazwisko, adres)

czytelnik (nr_karty, staż)

jest (album, nr_karty) - problem wyboru klucza

 Możliwe rozwiązania:

 1) Klucz: nr_karty Wtedy schemat:

studenci (album, nazwisko, adres),

czytelnik (nr_karty, staż, album)

2) Klucz: album Wtedy schemat:

studenci (album, nazwisko, adres, nr_karty),

czytelnik (nr_karty, staż)

3) album i nr_karty – klucze równoważneWtedy schemat:

studenci (album, nazwisko, adres, nr_karty, staż)

slide17

Encja słaba:

- nie jest w pełni identyfikowalna przez swoje atrybuty

- posiada tylko klucz częściowy

- jest identyfikowana przez klucz częściowy + klucz encji właścicielskiej

Związek identyfikujący - wiąże encję słabą z encją właścicielską

Uzupełnienie algorytmu tworzenia schematów relacji na podstawie diagramu związków encji:

w przypadku encji słabej dołącz do klucza schematu tworzonej relacji klucz encji właścicielskiej

dziecko (nrp, imię, data_ur)

ma (nrp, imię)

dwa zwi zki mi dzy dwiema encjami

nrp

album

nazwisko

nazwisko

1

N

adres

prowadzi

dyplomant

pracownik

1

N

recenzuje

Dwa związki między dwiema encjami

pracownik (nrp, nazwisko)

dyplomant (album, nazwisko, adres)

prowadzi (nrp, album)

recenzuje (nrp, album)

po modyfikacji nazw i scaleniu:

pracownicy (nrp, nazwisko)

dyplomanci (album, nazwisko, adres, nrp_prowadz, nrp_rec)

powi zanie encji samej z sob

nrp

nazwisko

zwierzchnik

1

pracownik

kieruje-podlega

N

podwładny

Powiązanie encji samej z sobą

pracownik (nrp, nazwisko)

kieruje_podlega (nrp, nrp)

 

  zwierzchnik podwładny

po modyfikacji nazw i scaleniu:

pracownicy (nrp, nazwisko, nrp_zwierzchnika)

projektowanie struktury b d poprzez normalizacj schematu bazy danych

Projektowanie struktury b. d. poprzez normalizację schematu bazy danych

Punkt wyjścia: zbiór atrybutów A1, A2, A3, . . . , An , których wartości chcemy przechowywać w bazie.

Początkowy cała b.d. jest widziana jako jedna relacja

o schemacie R ={A1, A2, A3, . . . , An }.

Następnie schemat R dzielony jest na zbiór schematów relacji w procesie normalizacji.

R  { R1, R2, R3, . . . , Rk }

Schematy tworzone w procesie normalizacji powinny spełniać warunki kolejnych postaci normalnych.

definicja 1pn

Definicja 1PN

Schemat relacji (relacja) jest w 1 PN (postaci normalnej), jeśli dziedziny atrybutów tworzących schemat zawierają jedynie wartości atomowe,

tzn. nie są zbiorami, ciągami czy listami wartości.

problemy zwi zane z redundancj

Problemy związane z redundancją

aktualizacja danych redundancyjnych – niebezpieczeństwo utraty spójności bazy,

anomalia usuwania (klucz główny oraz jego składowe nie mogą być puste).

anomalia wstawiania

zale no funkcyjna

Zależność funkcyjna

X, Y – atrybuty, dom(X), dom(Y) – dziedziny atrybutów

Atrybut Y jest funkcyjnie zależny od X, jeśli istnieje odwzorowanie

f: dom(X)  dom (Y)

które każdej wartości z dziedziny X przyporządkowuje nie więcej niż jedną wartość z dziedziny Y.

Zapis uproszczony: X  Y

przyk ady zale no ci funkcyjnych

Przykłady zależności funkcyjnych

pracownik  adres

pracownik, dziecko  adres

rola klucza w tworzeniu zale no ci funkcyjnych

Rola klucza w tworzeniu zależności funkcyjnych

K – klucz, A – atrybut niekluczowy

Z definicji klucza wynika, że zawsze zachodzi: K  A

cz ciowa zale no funkcyjna

Częściowa zależność funkcyjna

Założenie: zachodzi zależność funkcyjna: X  A

Jeśli dodatkowo spełniona jest zależność X’  A, gdzie X’  X, to wtedy zależność X  A nazywamy zależnością częściową.

slide30

Przykład

Zachodzi zależność:

pracownik, dziecko  adres

ponadto zachodzi też zależność :

pracownik  adres

więc zależność :

pracownik, dziecko  adres

jest zależnością częściową

definicja 2pn

Definicja 2PN

Schemat relacji (relacja) jest w 2PN, jeżeli jest w 1 PN i żaden atrybut niekluczowy nie jest częściowo zależny od klucza (od żadnego z kandydujących kluczy relacji).

przyk ad dekompozycji do 2pn

{pracownik, adres, dziecko}

1PN

2PN

{pracownik, adres}

{pracownik, dziecko}

Przykład dekompozycji do 2PN

istniej ce zale no ci funkcyjne

Istniejące zależności funkcyjne:

pracownik  instytut instytut  wydział pracownik  wydziałpracownik, temat  kwotaa ponadto

pracownik, temat  instytut pracownik, temat  wydział

przyk ad dekompozycji do 2pn1

1PN

{ pracownik, instytut, wydział, temat, kwota }

{ pracownik, instytut, wydział }

{ pracownik, temat, kwota }

2PN

Przykład dekompozycji do 2PN

istniej ce zale no ci funkcyjne pracownik instytut instytut wydzia pracownik wydzia

pracownik

instytut

wydział

Istniejące zależności funkcyjne:pracownik  instytut instytut  wydział pracownik  wydział
definicja zale no ci tranzytywnej

K

X

A

Definicja zależności tranzytywnej

Tranzytywna zależność atrybutu A od klucza K poprzez X

definicja 3pn

Definicja 3PN

Schemat relacji (relacja) jest w 3 PN, jeżeli jest w 1 PN i żaden z atrybutów niekluczowych nie jest tranzytywnie zależny od klucza (od żadnego z kandydujących kluczy relacji).

przyk ad dekompozycji do 3pn

2PN

{ pracownik, instytut, wydział }

{ pracownik, instytut}

{ instytut, wydział }

3PN

Przykład dekompozycji do 3PN

projektowanie schematu bazy danych metod dekompozycji

Projektowanie schematu bazy danych metodą dekompozycji

Dane wejściowe:

Zbiór wszystkich atrybutów, traktowany jako schemat jednej relacji

Zbiór zależności między atrybutami

Cel:

Uzyskanie zbioru schematów relacji w trzeciej lub czwartej postaci normalnej spełniających warunek odwracalności dekompozycji

warunek odwracalno ci dekompozycji

Warunek odwracalności dekompozycji

Dekompozycja schematu R na zbiór schematów

{ R1, R2, R3, . . . , Rk } jest odwracalna,

jeśli dla każdej relacji r(R) zachodzi:

R1(r) R2 (r)  … Rk (r) = r

twierdzenie o dekompozycji odwracalnej

Twierdzenie o dekompozycji odwracalnej

Dane: relacja r o schemacie R, tzn. r(R),

K - klucz relacji, X, Y - atrybuty tej relacji.

Jeśli w relacji r(R) istnieje tranzytywna zależność atrybutu Y od klucza K poprzez atrybut X,

to dekompozycja schematu R na dwa schematy

{XY, R-Y} jest dekompozycją odwracalną.

przyk ad dekompozycji odwracalnej

2PN

{ pracownik, instytut, wydział }

{ pracownik, instytut}

{ instytut, wydział }

3PN

Przykład dekompozycji odwracalnej

przyk ad dekompozycji nieodwracalnej

2PN

{ pracownik, instytut, wydział }

{ pracownik, wydział }

{ instytut, wydział }

3PN

Przykład dekompozycji nieodwracalnej

zale no wielowarto ciowa definicja uproszczona

Zależność wielowartościowa (definicja uproszczona)

W relacji r(R) jest spełniona

wielowartościowa zależność X  Y

jeśli z daną wartością atrybutu X jest związany

dobrze określony zbiór wartości atrybutu Y

Przykład: pracownik  dziecko

student  język_obcy

definicja 4pn

Definicja 4PN

Schemat relacji r(R) jest w 4PN, jeżeli jest w 1PN i każda

zależność wielowartościowa X  Y, spełniona w r,

jest zależnością trywialną, tzn. X  Y = R,

lub X jest kluczem relacji r.

slide47

Twierdzenie

Jeśli w relacji r(R) istnieje wielowartościowa zależność X  Y, to dekompozycja schematu R

na dwa schematy {XY, R-Y}

jest dekompozycją odwracalną.

przyk ad

Przykład

Rozważmy relację o schemacie R = {pracownik, adres, dziecko}.

W relacji tej spełniona jest zależność wielowartościowa

pracownik  dziecko

wobec czego dekompozycja schematu R na dwa schematy

{pracownik, dziecko} i {pracownik, adres}

jest dekompozycją odwracalną

inny przyk ad

Inny przykład

R = {student, dyscyplina_sportowa, język_obcy}

W relacji tej spełnione są zależności wielowartościowe:

student  dyscyplina_sportowa

student  język_obcy

Wykorzystanie jednej z nich prowadzi do odwracalnej dekompozycji:

{student, dyscyplina_sportowa} {student, język_obcy}