Slouží k popisu konceptuálního datového modelu systému, nezávislé na implementaci
Existují různé notace (způsoby nakreslení), např Crow's Foot
Základní konstrukty
Entita
Označuje množinu (třídu) objektů, které mají společnou vlastnost
Název: podstatné jméno v jednotném čísle
Například: Osoba, Auto, Faktura
V závislosti na kontextu může něco být entita, nebo vztah, např. “manželství”.
Atribut
Je vlastností entity
Například: Jméno, Barva, Cena
Má typ (doménu) a hodnotu, je atomický (nedělitelný), povinnost (null/not null), jednoznačnost (unique), počáteční (default) hodnotu, integritní omezení
Vztah
Vyjadřuje souvislost (vztah, závislost) mezi entitami
Název je sloveso, obvykle je možné dvojí čtení (jazyková nikoliv konceptuální záležitost!)
Například: má, náleží, je členem, obsahuje
Vztah má nějakou kardinalitu (1:1,1:N,M:N) a parcialitu (povinnost členství - 0:0, 1:0, 1:1)
Vztah může také mít atributy
Klíče
Primární
Jednoznačně identifikuje výskyt entity
Je unikátní (UNIQUE)
Může být množinou klíčů (složený)
Cizí
Je výsledkem existence vztahů
Vztahy přenášejí cizí klíče
např. ID_FAK v entitě FAKTURA je Primary Key, ID_FAK v entitě POLOŽKA FAKTURY je Foreign Key
Foreign Key obsahuje hodnoty, které se vyskytují v Primary Key
Foreign Key je výsledek relační implementace
Integritní omezení
Entitní
Výskyt každé entity musí být jednoznačně identifikovatelný
Musí existovat primární klíč !
Referenční
Cizí klíč obsahuje pouze hodnoty, které existují v jemu odpovídajícím primárním klíči !
Doménová
Atribut může obsahovat pouze přípustné hodnoty omezené integritním pravidlem !