
BAZY DANYCH: 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.
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ść
Związek typu 1:1 (jeden do jeden)
Związek typu 0 lub 1:1 (zero lub jeden do jeden)
Związek typu 1:m (jeden do wiele)
Związek typu n:m (wiele do wiele)
Przykład:
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.
Podsumowanie
Omówmy sobie pokrótce diagram ERD z samej góry tej strony:
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.