Materia dodatkowy nt encji encr

background image

Pojęcie encji, atrybutu i związku


Przy modelowaniu baz danych można posłużyć się notacją graficzną modelowania danych -

diagramem związków encji (ERD). Jest to model sieciowy, opisujący na wysokim poziomie abstrakcji dane
które są przechowywane w systemie.
Model ERD budowany jest przez analityka. Służy on do zobrazowania w sposób zrozumiały zarówno dla
projektanta, jak i osoby nie mającej wykształcenia informatycznego (np. klienta) obiektów i związków
zachodzących w projektowanej dziedzinie problemowej.
Model ERD nie jest związany z konkretną implementacją systemu (np. na serwerze MS SQL czy Oracle),
choć jego odmiany mogą zawierać informacje specyficzne dla danego języka lub środowiska
implementacyjnego. Staje się on wówczas modelem projektowym

Encja (ang. entity)

Encja jest to coś co istnieje, co odróżnia się od innych, o czym trzeba mieć informację. Zbiory

encji reprezentują zbiór elementów występujących w rzeczywistym świecie i każdy element tego zbioru
musi posiadać następujące cechy:

• każdy element musi być unikalny, jednoznacznie określony, w celu odróżnienia go od pozostałych,

• każdy element musi odgrywać jakąś rolę w projektowanym systemie, nie może zdarzyć się

sytuacji, w której system może działać bez dostępu do danego elementu,

• każdy element powinien być opisany przez odpowiednią liczbę atrybutów.


W diagramach ERD obiekt, encja jest reprezentowany przez prostokąt, a jego nazwa powinna być
rzeczownikiem.

Atrybut (ang. attribute)

Atrybut jest pewną własnością encji, o której chcemy przechowywać informację. Atrybut jest

reprezentowany przez pewną wartość. Na przykład encja Student może mieć atrybut Nazwisko
reprezentowany przez wartość

Kowalski.


Wśród atrybutów encji wyróżniamy atrybut lub zbiór atrybutów, którego wartość w sposób jednoznaczny
identyfikuje instancję (egzemplarz) encji. Taki atrybut lub zbiór atrybutów nazywamy kluczem głównym
encji. Klucz głowny oznacza się często na wykresach symbolem PK (ang. Primary Key) umieszczanym
obok nazwy atrybutu.












Rys. 2.5 Przykład definicji kluczy głównych (PK)


Drugim kluczem stosowanym w bazach relacyjnych jest klucz obcy.
Kluczem obcym nazywamy atrybut encji, który wskazuje na klucz główny innej encji. Klucz obcy oznacza
się często na wykresach symbolem FK (ang. Foreign Key) umieszczanym obok nazwy atrybutu.

background image








Rys. 2.6 Przykład klucza obcego (FK1)


Przykład ilustrujący pojęcie klucza obcego pokazano na rysunku 2.6.

Związek (ang. relationship)

Bardzo ważnym elementem w modelu danych są związki pomiędzy encjami i warunki określające

te związku - elementy łączące encje między sobą. Zdecydowana większość związków to powiązania
stopnia drugiego - związki binarne, charakteryzujące się tym, że w związku bierze udział dwóch
uczestników (dwie encje). Mogą występować także związki unarne (encja powiązana z samą sobą), jak
również związki ternarne (z trzema uczestnikami).
W zależności od tego, jakiego typu jest uczestnictwo encji w danym związku, możemy podzielić encje na
słabe lub regularne. Encje słabe charakteryzują się całkowitym uczestnictwem w powiązaniu, to oznacza,
że encja nie może istnieć bez tego powiązania (np. encja Zamówienia nie może istnieć bez powiązania
z encją Klienci). Natomiast uczestnictwo encji regularnych w związku jest tylko częściowe, czyli encja
może istnieć samodzielnie bez powiązania (np. encja Klienci może istnieć bez powiązania z encją
Zamówienia).

Bardzo istotnym czynnikiem określanym przy związkach jest moc powiązania, która definiuje się jako
maksymalną liczbę instancji jednej encji (wystąpień w danej encji), które mogą być powiązane z instancją
innej encji. Ze względu na wartość mocy możemy wyróżnić trzy typy powiązań:

• jeden-do-jeden,

• jeden-do-wiele,

• wiele-do-wiele.

9

Związki binarne:

Związek jeden-do-jeden (jedno-jednoznaczny)
Jest to najprostszy typ powiązania, występuje wtedy, gdy tylko jedna instancja pierwszej encji jest
powiązana z tylko jedną instancją drugiej encji. Jest to powiązanie wprowadzające dosyć znaczne
ograniczenia, gdyż warunek jeden do jednego musi być zawsze spełniony. Opcjonalnie przy powiązaniu
jeden może występować również opcja żadne, oznaczana graficznie w postaci okręgu.




Rys. 2.7 Związek jeden-do-jeden

Związek jeden-do-wiele (jedno-wieloznaczny)



Najbardziej typowym rodzajem powiązania jest powiązanie jeden-do-wiele, w którym pojedyncza instancja
jednej encji może być połączona z jedną lub wieloma instancjami drugiej encji. Ze względu na swoją
uniwersalność i małą kłopotliwość, ten typ powiązania jest najczęściej stosowany . Opcjonalnie przy
powiązaniu jeden lub wiele może występować również opcja żadne, oznaczana graficznie w postaci
okręgu.

background image






Rys. 2.8 Związek jeden-do-wielu

Związek wiele-do-wiele (wielo-wieloznaczny)

Powiązania tego typu występują równie często jak powiązania jeden do wielu, jednak nie dają się
bezpośrednio implementować w relacyjnych bazach danych. Są one realizowane przy pomocy encji
pośrednich (w modelu relacyjnym są to tabele sprzęgające) powiązanych z encjami pierwotnymi przy
pomocy powiązań jeden do wielu.
W powiązaniu wiele-do-wiele encjami głównymi są encje pierwotne, natomiast encją obcą jest relacja
sprzęgająca, która zwiera klucze główne relacji oryginalnej. Dlatego w powiązaniu jeden-do-wiele
pomiędzy relacjami pierwotnymi, a relacją obcą, po stronie relacji oryginalnej znajduje się strona "jeden"
powiązania jeden-do-wiele a po stronie relacji obcej znajduje się strona "wiele" z tego powiązania. Związki
wiele-do-wiele nie są bezpośrednio implementowane w relacyjnych bazach danych i wymagają
dodatkowych przekształceń.






Rys. 2.9 Związek wiele-do-wielu

9 Związki unarne

Powiązania tego typu mają tylko jednego uczestnika, czyli relację, która jest powiązana sama ze sobą.
Powiązania są realizowane jest w podobny sposób jak powiązania binarne, z tym że odnosi się to do jednej
encji. Klucz główny tej encji jest dodawany do tejże encji.














Rys. 2.10 Związek unarny


Powiązania unarne tak jak powiązania binarne mogą być różnej mocy. To znaczy mogą występować
powiązania jeden do wielu, które mogą być opcjonalne po stronie "jeden". Ten typ powiązania jest
stosowany przy odwzorowywaniu struktur hierarchicznych.
Powiązania unarne mogą być również realizowane jako powiązania wiele do wielu. Wtedy, podobnie jak
przy powiązaniach binarnych, muszą być modelowane przy użyciu tabeli sprzęgającej.

background image

9

Związki ternarne

Są to powiązania w skład których wchodzą trzy związane ze sobą encje. Powiązania te, podobnie jak
powiązania wiele-do-wiele, nie mogą być realizowane bezpośrednio w relacyjnych bazach danych.
















Rys. 2.11 Związek ternarny


Związki ternarne nie są bezpośrednio implementowane w relacyjnych bazach danych i wymagają
dodatkowych przekształceń.

9

Notacje związków

W praktyce spotkasz się z różnymi sposobami reprezentacji graficznej związków (dla przykładu: w
programach służących m.in. do projektowania diagramów ERD takich jak Visio lub Rational Rose możliwe
jest użycie kilku różnych notacji). Bodaj najpopularniejsza jest notacja czysto graficzna. Poniżej
prezentujemy sposób, w jaki za pomocą notacji graficznej można oznaczyć typ powiązania.




















Rys. 2.12 Graficzna notacja typów powiązania

background image

Metody przekształcania związków


Związki binarne wiele-do-wiele oraz związki ternarne nie są implementowane w relacyjnych

bazach danych. Dlatego wymagają one pewnych przekształceń. Przykłady takich przekształceń
zaprezentowane są poniżej

Przekształcanie związków wielo-wieloznacznych

Jeśli mamy związek binarny wielo-wieloznaczny, to należy wprowadzić dodatkową encję oraz

dwa nowe związki jednoznaczne. Nowa encja powinna wśród atrybutów zawierać klucze obce odnoszące
się do kluczy głównych dwóch pozostałych encji.

















Rys. 2.13 Przekształcanie związków binarnych wielo-wieloznacznych

Przekształcanie związków ternarnych

Przy przekształcaniu związków ternarnych postępujemy podobnie jak w wypadku związków

wielo-wieloznacznych binarnych. Wprowadzamy wówczas dodatkową encję oraz 3 nowe związki
jednoznaczne.
















Rys. 2.14 Przekształcanie związków ternarnych

background image

Model relacyjny

Relacje i terminologia związana z modelem relacyjnym

W klasycznym modelu relacyjnym pod pojęciem relacji rozumie się dwuwymiarową tablicę.

Rys. 2.15 Relacja jako dwuwymiarowa tablica


Relacja zdefiniowana jest poprzez tak zwany schemat relacji. Schemat relacji stanowi coś na kształt
definicji tabeli. Składa się on z nazwy relacji oraz zbioru atrybutów relacji.

Określenie schematu relacji wraz z przykładami zapisu relacji pokazane jest na rysunku 2.16.

Rys. 2.16 Określenie schematu relacji i przykłady zapisu


Do definicji schematu relacji często dodaje się jeszcze określenie dziedzin dla poszczególnych atrybutów
relacji.
Schemat relacji można rozumieć jako pustą tabelę ze zdefiniowaną nazwą oraz nagłówkami kolumn.

Kolejnym pojęciem jest krotka (inaczej rekord - ang. tuple lub record). Krotką nazywamy każdy wiersz
relacji, oczywiście z wyjątkiem wiersza nagłówkowego. Krotki mogą być zapisane w postaci
uporządkowanego ciągu albo w postaci zależności funkcyjnych tak jak to jest przedstawione na rysunku.
Pierwszy z tych zapisów wymaga do prawidłowego odczytania krotki znajomości definicji schematu
relacji, jest natomiast znacznie krótszy.

Rys. 2.17 Krotka i jej zapis

background image

Zbiór krotek danej relacji tworzy instancję relacji (ang. recordset). Warto zwrócić uwagę, że schemat
relacji w czasie cyklu życia bazy danych jest w zasadzie niezmienny (lub podlega bardzo rzadkim
zmianom), natomiast instancja relacji może zmieniać się w bazie bardzo często.

W wielu implementacjach systemów baz danych można się spotkać z różnym słownictwem dotyczącym
modeli relacyjnych. Na przykład w polskiej wersji MS Access pod pojęciem relacji rozumie się związek
(choć jak wiadomo, oba pojęcia oznaczają zupełnie co innego), natomiast na określenie relacji stosuje się
pojęcie tabeli (te dwa pojęcia są akurat równoważne). Trzeba się więc mieć na baczności, aby nie pogubić
się w tej plątaninie różnych pojęć stosowanych do określenia różnych rzeczy.

Podstawowe działania na relacjach

Do podstawowych działań, które możemy wykonywać na relacjach należą:

• suma (ang. union),

• różnica (ang. difference),

• przecięcie (ang. engraving),

• iloczyn kartezjański (ang. descartes-product),

• rzut (ang. projection),

• selekcja (ang. selection),

• złączenie (ang. join),

• złączenie teta (ang. teta join).


Omówimy je krótko i zilustrujemy przykładami.

Suma relacji


Sumą relacji nazywamy relację, której instancja jest suma instancji tych relacji.













Rys. 2.18 Przykład sumy relacji


Uwaga: Aby działanie to było wykonalne, oba schematy relacje muszą mieć te same zbiory atrybutów.

background image

Różnica relacji


Różnicą relacji nazywamy relację, której instancja jest różnicą teoriomnogościową instancji tych relacji.











Rys. 2.19 Przykład różnicy relacji


Uwaga: Aby działanie to było wykonalne, oba schematy relacje muszą mieć te same zbiory atrybutów.

Przecięcie relacji


Przecięciem relacji nazywamy relację, której instancja jest iloczynem teoriomnogościowym instancji tych
relacji.











Rys. 2.20 Przykład przecięcia relacji


Uwaga: Aby działanie to było wykonalne, oba schematy relacje muszą mieć te same zbiory atrybutów.

background image

Rzutowanie relacji


Wartością rzutu Π

A1,A2,...,An

(R) jest relacja, która powstaje z R przez przepisanie wszystkich atrybutów A

1

,

A

2

, ..., A

n

. Mówimy wówczas o rzutowaniu relacji w kierunku A

1

, A

2

, ..., A

n

. Operacja rzutowania zmienia

schemat relacji.














Rys. 2.22 Przykład rzutowania relacji

Selekcja


W wyniku zastosowania operatora selekcji powstaje nowa relacja, do której należy pewien podzbiór krotek
relacji R spełniający warunek F.









Rys. 2.23 Przykład selekcji

Złączenie


Operacja złączenia polega na połączeniu w pary tych krotek z relacji R oraz S, które mają identyczne
wartości dla określonych atrybutów.










Rys. 2.24 Ilustracja złączenia relacji

background image

Normalizacja

Normalizacja danych jest sformalizowaną procedurą stosowaną podczas projektowania bazy

danych w celu uniknięcia pewnego typu anomalii, do których należą:

• - redundancja,

• - anomalie modyfikacji,

• - anomalie usunięć.

Redundancja jest nieuzasadnioną powtarzalnością danych w kilku krotkach. Skutkiem nadmiernej
redundancji może być zwiększone zapotrzebowanie na pamięć dyskową do przechowywania danych i
wydłużony czas przeszukiwania danych.

Anomalie modyfikacji są również zjawiskiem niepowołanym, ponieważ może się zdarzyć, że wartość
danej zostanie zmodyfikowana w pewnej krotce, a w innej nie.

Podobne anomalia mogą zachodzić przy usuwaniu danych, ta sama wartość może nie być usunięta ze
wszystkich miejsc, w których występuje. Generalnie anomalia te poprzez duplikowanie danych powodują
brak

spójności.


Normalizację modelu danych przeprowadza się poprzez bezstratną dekompozycję relacji. Sprowadza się
ona do podziału atrybutów relacji pomiędzy schematy nowych relacji. Następnie następuje połączenie
(powiązanie) nowo powstałych relacji między sobą przy pomocy odpowiednich atrybutów. Reguła
dekompozycji obejmuje również podział krotek relacji wejściowej między nowe relacje. Połączenie między
relacjami powinno być zrealizowane w taki sposób, aby odbyło się bez straty żadnej informacji

Przy normalizacji danych można przekształcić relację do jednej z sześciu postaci normalnych.

9 Pierwsza postać normalna
Relacja jest w pierwszej postaci normalnej, jeżeli domeny zdefiniowane dla jej atrybutów są skalarne
(atomowe), czyli każdy atrybut krotki musi zawierać pojedynczą wartość (każde pole w tabeli musi
zawierać tylko jeden typ danych i każdy element musi być przechowywany w jednym miejscu).







Rys. 2.27 Przykład relacji nie będącej w pierwszej postaci normalnej













Rys. 2.28 Przykład relacji w pierwszej postaci normalnej

background image

9 Druga postać normalna
Relacja jest w drugiej postaci normalnej, jeżeli jest w pierwszej postaci normalnej, a ponadto wszystkie jej
atrybuty zależą od całego klucza głównego, a nie od innych pól tabeli.












Rys. 2.29 Przykład przekształcenia relacji do drugiej postaci normalnej

9 Trzecia postać normalna
Relacja jest w trzeciej postaci normalnej, jeżeli jest w drugiej postaci normalnej, a ponadto wszystkie
atrybuty niekluczowe są wzajemnie niezależne, czyli istnieje możliwość zmiany jednego pole w tabeli bez
konieczności przeliczania lub zmiany innych pól tejże tabeli.






Rys. 2.30 Przykład przekształcenia relacji do trzeciej postaci normalnej

9 Postać normalna Boyce'a/Codda
Relacja jest postaci normalnej Boyce'a/Codda wtedy i tylko wtedy, gdy każdy wyznacznik jest kandydatem
na klucz.

Jest to odmiana trzeciej postaci normalnej, dotyczy szczególnego rodzaju relacji, kiedy atrybuty
kandydujące na klucz są: wielokrotne, złożone lub nakładają się na siebie.

9 Czwarta postać normalna

Relacja jest w czwartej postaci normalnej, jeżeli jest w trzeciej postaci normalnej i nie zawiera
"wielowartościowej zależności" atrybutów.

9 Piąta postać normalna

Relacja jest w piątej postaci normalnej, jeżeli jest w czwartej postaci normalnej, a jej dekompozycja i
ponowne połączenie nie są operacjami symetrycznymi, nie prowadzą do rekonstrukcji tablicy początkowej.

Trzy pierwsze postaci normalne zostały zawarte w modelu relacyjnym opracowanym przez dr E. F. Codda
w 1970 r. i są często stosowane przy normalizacji danych, natomiast trzy kolejne postaci normalne
wykorzystywane są dosyć rzadko.


Wyszukiwarka

Podobne podstrony:
Materia dodatkowy nt Baz Danych encr
materiały dodatkowe leśna
zadania - stężenia, Notatki i materiały dodatkowe, Chemia, materiały od Romka
PRZYSZLOSC KOMPUTEROW, ^v^ UCZELNIA ^v^, ^v^ Pedagogika, promocja zdrowia z arteterapią i socjoterap
Procedura Dopuszczenia Do Obrotu, STUDIA - Kierunek Transport, STOPIEŃ I, MATERIAŁY DODATKOWE
materiały dodatkowe sedymentologia ćw II0001
Cw 5 Struktury Danych Materiały dodatkowe
credo, prezentacje, WSZYSTKIE PREZENTACJE, OAZA, Prezentacje cd, Prezentacje, Prezentacje na OND III
Prpgram Razem bezpieczniej, Bezpieczeństwo narodowe - UAM Poznań, I rok (2012-2013), Teoria Bezpiecz
Wędrowcy - opowiadanie, Materiały dodatkowe
Krasnoludy w Imperium, Materiały dodatkowe
O giełdzie, STUDIA, studia materiały, MATERIAŁY DODATKOWE, dodatkowe INNE
TEMPERAMENT OSOBOWOSC, ^v^ UCZELNIA ^v^, ^v^ Pedagogika, promocja zdrowia z arteterapią i socjoterap
mimika twarzy - opis, STUDIA - Kierunek Transport, STOPIEŃ I, MATERIAŁY DODATKOWE

więcej podobnych podstron