EE.9: Programowanie, tworzenie i administrowanie stronami internetowymi i bazami danych.

Cześć! W tym temacie omówimy diagramy ERD.
Czyli diagramy związków encji.
Oraz ich składowe: encje, atrybuty i związki.

ALE CO TO TEN DIAGRAM ERD?

Diagram związków encji (ang. Entity – Relationship Diagram) to diagram modelujący rzeczywistość za pomocą trzech elementów: encji, ich atrybutów oraz związków pomiędzy encjami.

Diagram ERD, diagram związków encji
Diagram ERD - rezerwacje lotnicze

HM... ENCJA?

Encja jest jednoznacznym elementem świata rzeczywistego lub obiektem wyobrażonym. Jej konkretne wystąpienie (instancja) musi być jednoznacznie przyporządkowalna tylko do tej jednej, konkretnej encji.

I tak, chcemy utworzyć encję, do której przypisane będą Jan Nowak, Jan Kowalski, będący pracownikami pewnej firmy. Ich encja nosić będzie nazwę PRACOWNICY. Chcąc gromadzić dane Audi A4, Renault Megane czy Fiacie Punto, stworzymy encję SAMOCHODY.

Nasz przykładowy diagram ERD przedstawia rezerwacje lotnicze i składa się z sześciu encji:

  • rezerwacja
  • pasazer
  • adres
  • status_rezerwacji
  • lot
  • samolot

ATRYBUT

Atrybut jest własnością encji. Jest danego określonego typu reprezentującego pewną konkretną wartość.
Np. encja samochód mogłaby posiadać atrybuty takie, jak:

  • marka - będąca wartością tekstową
  • rocznik - będąca datą
  • przebieg - liczba całkowita
  • bezwypadkowy - będący wartością logiczną, 0 - bezwypadkowy lub 1 - coś tam może i kiedyś było ;)


Podstawowymi typami atrybutów są:
  • VARCHAR(100) - ciąg znaków, tekst o określonej długości (100 znaków)
  • INT - liczba całkowita
  • DATE, DATETIME - data, data oraz czas
  • FLOAT, DOUBLE - liczby zmiennoprzecinkowe, z częścią ułamkową, o pojedynczej i podwójnej precyzji
  • BOOL - typ logiczny, prawda lub fałsz


Definicje kluczy:
  • Klucz kandydujący - najmniejszy zbiór atrybutów dzięki którym możemy jednoznacznie zidentyfikować każde wystąpienie encji.
    Zbiór encji może mieć więcej niż jeden klucz kandydujący.
    Klucze kandydujące dzielą się na:
    • klucz prosty - składający się z jednego atrybutu
    • klucz złożony - składający się z więcej niż jednego atrybutu
  • Klucz główny - jeden, konkretny klucz kandydujący, który został wybrany do jednoznacznej identyfikacji każdej instancji encji w zbiorze encji.

ZWIĄZKI ENCJI

Związki to powiązania pomiędzy encjami. Każdy związek posiada:

  • nazwę
  • liczebność (krotność)
  • opcjonalność

Diagram ERD, diagram związków encji
Związek typu 1:1 (jeden do jeden)

Diagram ERD, diagram związków encji
Związek typu 0 lub 1:1 (zero lub jeden do jeden)

Diagram ERD, diagram związków encji
Związek typu 1:m (jeden do wiele)

Diagram ERD, diagram związków encji
Związek typu n:m (wiele do wiele)

Przykład:

Diagram ERD, diagram związków encji

Opis:
Klient składa zamówienie. Może ich złożyć wiele. Jednak jedno zamówienie jest dokonane przez wyłącznie jednego klienta. Nazwa związku: składa.

CZAS NA PODSUMOWANIE

Omówmy sobie pokrótce diagram ERD z samej góry tej strony:

Diagram ERD, diagram związków encji

Pasażer dokonuje rezerwacji. Może on dokonać więcej rezerwacji, jednak jedna rezerwacja jest dokonana dokładnie przez jednego pasażera.
Podobnie pasażer posiada adres. Dokładnie jeden adres. Jednak pod tym samym adresem mogą mieszkać również inni pasażerowie.

W każdej encji symbol złotego klucza obrazuje klucz główny, czyli atrybut jednoznacznie określający każdą instancję (wystąpienie) danej encji. W przypadku pasażera równie dobrą opcją byłoby wybranie na klucz główny atrybutu pesel, który jest niepowtarzalny dla każdej osoby.
Zbiorem atrybutów jednoznacznie określających instancje encji adres jest również zbiór atrybutów: województwo + powiat + ulica + numer_domu + numer_lokalu - jest to klucz kandydujący, złożony.

Czerwone klucze - to klucze obce, będące wskazaniem na klucz główny innych tabel.