Ogólnie

 

Mamy sobie encję, czyli obiekt, któremu dodajemy atrybuty i wsadzamy w relację z innym obiektem. Mając takich obiektów dużo, tworzymy sobie graf relacji między nimi, czyli diagram związków encji.

Opisowo

 

Każdy system informatyczny jest komputerową reprezentacją jakiegoś fragmentu świata rzeczywistego. Należy zatem zbudować taki model świata rzeczywistego, który łatwo i sensownie da się odzwierciedlić w system informatyczny. Budowaniem takich modeli zajmuje się dziedzina wiedzy zwana modelowaniem.

Wyróżnia się dwa podstawowe rodzaje modeli, tj. konceptualne i implementacyjne. Model konceptualny umożliwia reprezentowanie obiektów w uniwersalnym modelu niezależnym od modelu implementacyjnego. Wśród modeli konceptualnych najpopularniejszymi są model związków-encji i model UML. Model implementacyjny (zwany również modelem danych) jest wykorzystywany na etapie implementacji systemu. Odzwierciedla on model konceptualny w konkretne struktury danych. Wśród modeli danych najpopularniejszymi obecnie są: relacyjny, obiektowy, obiektowo-relacyjny i semistrukturalny.

W informatyzowanym świecie rzeczywistym występują obiekty różnego typu. Wyróżnia się obiekty materialne i niematerialne. Przykładami tych pierwszych mogą być, np. samochody, budynki, sprzęt komputerowy, zasoby ludzkie (grupa pracowników). Przykładami tych drugich mogą być, np. wiedza (znajomość technologii), zdarzenia (otrzymanie nagrody, urlopu), stany rzeczywistości (stan rachunku bankowego, stan polisy ubezpieczeniowej). Jak wspomniano, zadaniem modelu konceptualnego jest odzwierciedlenie obiektów świata rzeczywistego w inne abstrakcyjne obiekty, które w pewnym dalszym momencie da się reprezentować w systemie informatycznym. Jednym z fundamentalnych modeli konceptualnych wykorzystywanym w projektowaniu relacyjnych baz danych jest model związków-encji (ang. entity-relationship model - ER). W tym modelu, obiekty świata rzeczywistego są reprezentowane za pomocą encji (ang. entities), a powiązania między obiektami - za pomocą związków pomiędzy encjami (ang. Relationships).

Model ER można przedstawić w wielu różnych notacjach graficznych. Najpopularniejszymi są tu notacja Chena i notacja Barkera (wykorzystywana w produktach Oracle). Encja reprezentuje zbiór obiektów opisany tymi samymi cechami (atrybutami, własnościami). Informacje o tych obiektach będą przechowywane w bazie danych. Konkretny obiekt świata rzeczywistego jest reprezentowany jako wystąpienie encji (instancja encji).

Encja

 

Encja jest rzeczą lub obiektem mającym dla nas znaczenie, rzeczywistym bądź wyobrażonym, o którym informacje muszą być znane lub przechowywane.
Graficzną reprezentacją encji jest prostokąt z nazwą encji zapisaną w liczbie pojedynczej.

Związek

 

Związek jest nazwanym, istotnym powiązaniem pomiędzy dwiema encjami. Związki przedstawiają zależności zachodzące pomiędzy obiektami.
Każdy zwiazek ma dwa końce, z których każdy ma przypisane następujące artybuty:

  • nazwę
  • liczebność (jak wiele)
  • opcjonalność (opcjonalny czy wymagany)
Związek jest reprezentowany za pomocą linii łączącej dwie encje. Na powyższym schemacie jest przedstawiony najczęściej występujący związek jeden-do-wiele.

KLIENT składa ZAMÓWIENIE
Arność: Jeden do Jeden-lub-Wiele

DOSTAWCA dostarcza TOWAR
Arność: Wiele do Wiele

KLIENT posiada NIP
Arność: Jeden do Jeden (opcjonalnie)

Atrybuty

 

Atrybut jest dowolnym szczegółem służącym do kwalifikowania, identyfikowania, klasyfikowania, określania ilości lub wyrażania stanu encji.

Atrybut jest dowolnym opisem mającym znaczenie dla encji. Atrybut może być tekstem, liczbą, wartością logiczną lub obrazem.

Modelowanie encji

 

Modelując encje należy przestrzegać następujących reguł.

  • Każda encja posiada unikalną nazwę.
  • Każda encja posiada zbiór cech (atrybutów).
  • Encje wchodzą w związki z innymi encjami (wyjątkiem są encje reprezentujące dane słownikowe i konfiguracyjne).
  • Dowolna rzecz lub obiekt może być reprezentowana tylko przez jedną encję.
  • Nazwa encji powinna być rzeczownikiem w liczbie pojedynczej.
Wyróżnia się dwa rodzaje atrybutów, tj. identyfikatory i deskryptory.

Identyfikator encji jest to atrybut lub zbiór atrybutów jednoznacznie identyfikujący wystąpienie encji. W skład identyfikatora mogą wchodzić również atrybuty i związki lub same związki.
Wyróżnia się identyfikatory naturalne np. PESEL, NIP, nr dowodu, nr paszportu, nr rejestracyjny, ISBN i identyfikatory sztuczne, np. numer pozycji katalogowej, identyfikator pracownika.

Deskryptory (atrybuty deskrypcyjne) są to wszystkie inne atrybuty poza identyfikatorami. Reprezentują one podstawowe cechy/własności encji (cechy te będą przechowywane w bazie danych). Wartości deskryptorów mogą być albo opcjonalne albo obowiązkowe. Wynika to z analizy potrzeb informacyjnych użytkowników.

Definicja pojedynczego atrybutu encji obejmuje:
  • nazwę
  • dziedzinę definiującą: typ danych i maksymalny rozmiar, zbiór dozwolonych wartości lub zakres dozwolonych wartości
  • informację czy są dozwolone / niedozwolone wartości puste
Opcjonalnie, dla atrybutu można zdefiniować unikalność wartości.

Diagram związków encji

 

  • Charakterystyka
    Kolejnym krokiem w tworzeniu specyfikacji systemowej jest analiza i modelowanie struktury informacji. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych).

    Najpopularniejszym konceptualnym modelem danych jest tzw. model związków encji (ERM - entity relationship model), którego graficznym odpowiednikiem jest diagram związków encji (ERD - entity relationship diagram). Diagram ten spotyka się w różnych notacjach, do których zaliczamy m.in. notacje Chena, Martina, Bachmana, IDEF1X.

  • Cele
    • Zrozumienie struktury danych przetwarzanych w organizacji
    • Dostarczenie dokładnego modelu potrzeb informacyjnych przedsiębiorstwa, który stanowiłby podstawę do konstruowania nowych lub ulepszonych systemów
    • Dostarczenie modelu niezależnego od sposobu przetwarzania, przechowywania danych i dostępu do nich, umożliwiającego podejmowanie celowych decyzji, jeśli chodzi o metody implementacyjne i współdziałanie z istniejącymi systemami

  • Podstawowe bloki składowe i reguły konstrukcji
    Diagram ERD przedstawia:
    • obiekty, o których informacje są istotne z punktu widzenia realizacji celów strategicznych firmy
    • atrybuty obiektów
    • związki pomiędzy obiektami
    Wyodrębnione obiekty mogą być rzeczywiste lub mogą być pojęciami abstrakcyjnymi. Obiekty mające te same atrybuty łączy się w typy obiektów np. Towar, Klient, Dostawca, Zamówienie.

  • Zasady tworzenia diagramów ERD
    Poniżej przedstawiona jest metoda tworzenia diagramów ERD jako proces składający się z pięciu kroków:
    1. Identyfikacja zbioru obiektów, o których informacje są istotne
      Identyfikację obiektów rozpoczynamy od wyodrębnienia kluczy głównych poszczególnych obiektów, czyli identyfikatorów jednoznacznie identyfikujących obiekt. Wyróżnione identyfikatory pozwalają na uformowanie wstępnej listy obiektów;
    2. Określenie związków zachodzących pomiędzy obiektami oraz rodzaju związków;
      Identyfikacja bezpośrednich zależności pomiędzy obiektami, które odzwierciedlają pewne reguły przyjęte w firmie. Należy zbadać istnienie bezpośrednich powiązań  między wszystkimi parami obiektów w systemie;
    3. Identyfikacja atrybutów obiektów;
      Po wyodrębnieniu istotnych obiektów oraz związków zachodzących pomiędzy nimi można uzupełnić opis obiektów identyfikując potrzebne atrybuty tzn. dane istotne dla firmy opisujące konkretny obiekt;
    4. Stworzenie wstępnego modelu pojęciowego;
    5. Sprawdzenie poprawności otrzymanej struktury.

    Na podstawie zidentyfikowanych obiektów oraz powiązań między nimi możemy narysować wstępny diagram związków encji.