Definicje-encji-i-atrybutow.pdf

(234 KB) Pobierz
Diagram Związków Encji
Diagram Związków Encji
Modelowanie informacji jest techniką organizacji przechowywania danych. Modele danych można opracowywać na różnych
poziomach szczegółowości wykorzystując technikę diagram związków encji (ang. Entity Relationship Diagram – ERD). Podstawowymi
pojęciami tego modelu są: encja, atrybut i związek (tabela 12).
Tabela 1. Komponenty diagramu związków encji
Komponent
Opis
Encja
Rzecz mająca znaczenie, rzeczywista lub wymyślona, o której informacje należy
znać lub przechowywać.
Atrybut
Element informacji służący do klasyfikowania, identyfikowania, kwalifikowania,
określania ilości lub wyrażania stanu encji.
Związek
Znaczący sposób, w jaki mogą być ze sobą powiązane dwie rzeczy tego samego
typu lub różnych typów.
Przykład prostego
diagramu związków encji
KLIENT
* Nazwa
* Adres
o e_mail
FAKTURA
Atrybuty
Związek
Encja
Encja (ang. entity) – jest to jednoznacznie identyfikowany składnik badanej rzeczywistości, o którym informacja jest lub może być
zbierana i przechowywana. Przykładami encji są: PRACOWNIK, KLIENT, DOSTAWCA, ZAMÓWIENIE, MAGAZYN, FAKTURA, POZYCJA,
PRZECENA, KONTO. Encja jest urzeczywistniona poprzez wystąpienie. Przykładowo, wystąpieniami encji KLIENT są: Nowak,
Dobrowolski, Kwiatkowski itd.
Uwaga: encje opisuje się za pomocą rzeczowników lub wyrażeń rzeczownikowych w liczbie pojedynczej.
Atrybut – jest cechą, elementem charakteryzującym encje i związki w badanej dziedzinie przedmiotowej. Atrybut ma jedno z pięciu
zadań: identyfikować, opisywać, klasyfikować, określać ilość lub wyrażać stan encji (tabela 13).
Tabela 2. Rodzaje atrybutów
Przykład
Przeznaczenie
Zestaw atrybutów, który jednoznacznie opisuje encję, nazywa się
wiązką atrybutów . Wiązka powinna składać się, z co najmniej dwóch
atrybutów opisujących daną encję. Szczególną rolę z zakresie atrybutów
encji pełni klucz , zwany identyfikatorem. Pozwala on na jednoznaczne
określenie wystąpienia encji. Jeśli używa się jednego atrybutu dla
określenia encji, to mamy do czynienia z kluczem pojedynczym, a jeśli
w tym celu używa się więcej niż jednego atrybutu, to z kluczem złożonym.
Znak kratki (# - hash) z lewej strony atrybutu oznacza, że ten atrybut jest unikalnym identyfikatorem dla encji lub wchodzi w jego skład.
Wymagania dla atrybutu można przedstawić następująco:
nazwa atrybutu musi być unikalna w ramach encji;
atrybut musi być obowiązkowy (tzn., że wartość atrybutu musi być zawsze określona) lub opcjonalny (tzn., że atrybut nie
musi mieć wartości). Symbolu „*” używa się dla atrybutu obowiązkowego, zaś symbolu „○” dla opcjonalnego;
atrybut musi mieć format lub typ;
numer zamówienia identyfikacja
opis towaru opis werbalny
typ towaru klasyfikacja
ilość towaru w magazynie określenie ilości
status płatności za zamówienie wyrażenie stanu
432991367.037.png 432991367.038.png 432991367.039.png 432991367.040.png 432991367.001.png 432991367.002.png 432991367.003.png 432991367.004.png 432991367.005.png 432991367.006.png 432991367.007.png 432991367.008.png
Uwaga : w danym modelu konceptualnym należy używać różnych nazw dla tych samych lub podobnych atrybutów, przypisanych
różnym encjom. Przykładowo atrybut nazwisko przypisany encjom NABYWCA, PRACOWNIK, ODBIORCA można nazwać – n_nazwisko,
p_nazwisko, o_nazwisko.
Z każdym atrybutem związana jest dziedzina atrybutu , stanowiąca zbiór wartości, które są jemu podporządkowane oraz zbiór
reguł walidacji. Atrybut jest, więc funkcją, wiążącą encje lub związki z dziedzinami wartości. Dana dziedzina może przybrać postać wartości
(np. z przedziału liczb naturalnych), skończonego zestawu wartości (np. rodzaje stawek podatku VAT: zw, 0%, 7%, 12%, 22%) lub wartości
binarnych (np. T lub N, O lub 1). Każdemu atrybutowi w danym wystąpieniu encji lub związku przyporządkowaną jest tylko jedna wartość
z jego dziedziny.
Rysunek 24 przedstawia ilustrację graficzną encji wraz z jej atrybutami i przykładowymi wystąpieniami encji.
Encja – STUDENT
Wystąpienia encji:
STUDENT
# nr albumu
* imię
* nazwisko
* data urodzenia
* miejsce urodzenia
Mat/123/04
Jan
Kowalski
14-05-1990
Dobre Miasto
Mat/345/04
Anna
Nowak
21-05--1986
Dobre Miasto
Encja – SAMOCHÓD
Wystąpienia encji:
aaaaolx
SAMOCHÓD
# nr rejestracyjny
* typ
* rok produkcji
* cena
* kolor
* pojemność silnika
OLX 2361
Nissan Almera
2000
55000
Czerwony
1,6 m 3
OM- 2388
Renault
2004
62000
Złoty
1,4 m 3
Rysunek 1. Przykładowe atrybuty dla encji STUDENT i SAMOCHÓD
Związek stanowi naturalne powiązanie pomiędzy dwoma lub więcej encjami w badanej dziedzinie przedmiotowej.
W identyfikowaniu i modelowaniu związków encji bierze się pod uwagę następujące cechy: stopień związku (lub liczebność związku)
i opcjonalność (lub uczestnictwo encji).
Stopień związku – oznacza stosunek ilościowy między liczebnością wystąpień poszczególnych encji, uczestniczących w danym
związku. Stopień związku mówi o tym, ile wystąpień encji jednego rodzaju jest powiązanych z iloma wystąpieniami encji innego rodzaju
(tabela 14).
Tabela 3. Przykłady związków encji
Stopień
związku
Przykład
Znaczenie
1:1
Dziekan-
Wydział
Każde wystąpienie encji Dziekan jest powiązane tylko z jednym wystąpieniem encji
Wydział . Zatem jeden Dziekan kieruje jednym Wydziałem
1:M
1: wiele
Wydział-Student
Każde wystąpienie encji Wydział powiązane jest jednym lub wieloma wystąpieniami
encji Student , przy czym każde wystąpienie encji Student powiązane jest tylko
jednym wystąpieniem encji Wydział .
432991367.009.png 432991367.010.png 432991367.011.png 432991367.012.png 432991367.013.png 432991367.014.png 432991367.015.png 432991367.016.png
w związku).
Pracownik
Uwaga : Istnieją trzy metody klasyfikowania związków: jako
całkowite lub częściowe, opcjonalne lub obowiązkowe oraz uzależnione
od kategorii encji słabych lub regularnych.
Rysunek 27 przedstawia przykładowy prosty diagram ERD
zawierający różne typy encji opisane w tabeli 15. Każda z encji
PRACOWNIK ( id_pracownik , imię, nazwisko) i TYP ( id_typ, nazwa)
jest encją regularną. Zatem stanowi ona obiekt o cechach w postaci
atrybutów, wśród, których wyróżniony jest klucz główny oraz atrybuty ją
opisujące. Encja SPRZĘT ( nr_ewidencyjny , nazwa, id_typ) jest encją
słabą, ponieważ nie może samodzielnie istnieć bez zdefiniowania
obiektu TYP przechowującego informacje o typie sprzętu. Natomiast
encja WYPOŻYCZENIE (id_pracownik, id_sprzęt, data_wypożyczenia)
jest obiektem asocjacyjnym, ponieważ przechowuje informacje
o związku pomiędzy encją PRACOWNIK i SPRZĘT.
Encja słaba – jest to encja,
która może istnieć tylko
wtedy, gdy jest związana
z innymi encjami lub też nie
posiada własnych atrybutów
kluczowych (całkowite
uczestnictwo w związku)
Sprzęt
Encja – obiekt asocjacyjny
– przechowuje informacje
o związku pomiędzy dwiema
encjami.
Wypożyczenie
związane jest
dotyczy
określa
Pracownik
Wypożyczenie
Sprzęt
Typ
wypożycza
rejestruje
należy
Rysunek 4. Diagram ERD z wyróżnionymi typami encji
Diagramu ERD jest narzędziem do komunikowania za pomocą, którego osiąga się z użytkownikiem końcowym porozumienie, co do
wymagań biznesowych. Identyfikuje i opisuje on dane wymagane przez system oraz pokazuje jak w systemie powiązane są ze sobą
elementy danych. Dodatkowo należy również sformułować ograniczenia nałożone na związek, które noszą nazwę reguł integralności .
Stanowi on podstawę do projektowania bazy danych.
Uwaga: z innymi metodami projektowania ERD można się spotkać np. używając narzędzi Oracla. Rysunek 28 zawiera przykładowa
notację związków.
Rysunek 5. Typy połączeń encji (notacji Oracla)
Konceptualny model danych, którego odzwierciedleniem są diagramy ERD,
przekształcany jest w jeden z modeli baz danych: relacyjny, sieciowy, hierarchiczny. Nazywa się
to projektowaniem logicznym danych. W skrypcie podamy sposoby przekształcania logicznego
modelu danych w relacyjny model danych.
Podstawową terminologię relacyjną zawiera tabela 16.
jeden - do - wielu obligatoryjnie
wiele - do - wielu obligatoryjnie
Tabela 5. Terminologia relacyjna
Pojęcie
Opis
Relacja Jest to podzbiór iloczynu kartezjańskiego reprezentowany przez zbiór krotek. Reprezentacją relacji
jest tablica .
Krotka Oznacza wiersz tablicy. Reprezentacją krotki w tablicy jest rekord .
Atrybut Oznacza kolumnę tablicy (a dokładnie są to różne wystąpienia tego samego atrybutu). Reprezentacją
atrybutu w tablicy jest pole .
Stopień relacji Liczba typów atrybutów w relacji.
jeden - do- wielu opcjonalny
432991367.017.png 432991367.018.png 432991367.019.png 432991367.020.png 432991367.021.png 432991367.022.png 432991367.023.png 432991367.024.png 432991367.025.png
Liczebność relacji Liczba krotek w relacji.
Klucz główny Kolumna lub kombinacja kolumn, których wartości jednoznacznie identyfikują wiersze w tablicy.
Klucz obcy
Kolumna lub kombinacja kolumn, których wartości określają klucz główny innej tablicy.
Dziedzina
(atrybutu)
Lista dostępnych wartości atrybutu, wszystkie tego samego typu.
Stworzenie relacyjnego modelu danych polega na wykonaniu następujących kroków (rysunek 29):
każda encja staje się tablicą, której nazwa jest nazwą encji w liczbie mnogiej;
każdy atrybut staje się komuną, a jego nazwa odpowiednio nazwą tej kolumny. Natomiast właściwości atrybutu stają się
odpowiadającymi im właściwościami w projekcie danych. Atrybuty obowiązkowe stają się kolumnami NOT NULL (co oznacza,
że nie jest możliwe by wartość kolumny przyjmowała wartość NULL);
unikalny identyfikator encji staje się kluczem głównym tabeli;
każdy związek jest przekształcany w dwa obiekty. Kolumnę klucz obcego, zgodną z kluczem głównym (lub unikalnym)
tabeli, której dotyczy. Dziedziczy ona typ i rozmiar danego klucz głównego. Opcjonalność kolumny zależy od tego, czy związek
jest obowiązkowy czy opcjonalny. Więzy klucza obcego związane są z kolumną klucza obcego.
Przekształcanie encji
Logiczny model danych
Relacyjny model danych
Encja
Klient
Atrybuty
nazwa
unikalny identyfikator
Tabela
Klienci
Kolumny
nazwa
klucz głowny
Klienci
Klient
# id_klient
* nazwa
* adres
# id_klient
* nazwa
* adres
Przekształcanie związków
Klient
# id_klient
* nazwa
* adres
Zamówienie
# id_zamówienia
* data zamówienia
Klienci
Zamówienia
# id_zamowiania
* data-zamówienia
* id_klienta
...
Not NULL
# id_klient
* nazwa
* adres
Rysunek 6. Przekształcanie logicznego modelu danych w model relacyjny
Przykład 1. Zastosowanie reguł czytania związków do budowy logicznego modelu danych
Stosując omówioną wyżej regułę czytania związków narysuj odpowiedni model danych do przedstawionego kontekstu.
a) Kontekst: Stanowisko w firmie musi być obsadzone przez jednego lub wielu pracowników. Pracownik musi być zatrudniony
na dokładnie jednym stanowisku. Rysunek 30 przedstawia konstrukcję modelu danych tej sytuacji.
432991367.026.png 432991367.027.png 432991367.028.png 432991367.029.png 432991367.030.png 432991367.031.png 432991367.032.png 432991367.033.png 432991367.034.png 432991367.035.png 432991367.036.png
Zgłoś jeśli naruszono regulamin