Klíčový rozdíl – diagram ER vs EER
Klíčový rozdíl mezi ER a EER diagramem je v tom, že ER diagram je vizuální reprezentace dat na základě ER modelu a popisuje, jak spolu entity v databázi souvisí. EER diagram je vizuální reprezentace dat založená na modelu EER, který je rozšířením původního modelu vztahu mezi entitou (ER).
Před vložením dat do databáze by měla být databáze navržena. ER diagram se používá k návrhu databáze. Je založen na modelu vztahu entit. Model vztahu entit je model používaný k návrhu a reprezentaci vztahů mezi daty. Vzhledem ke složitosti dat byl model ER dále rozvíjen. Je známý jako Enhanced ER Model. Diagram EER je založen na modelu Enhanced ER.
Co je diagram ER?
Diagram ER představuje vztah mezi různými entitami. Entity, atributy a vztahy jsou běžnými součástmi ER diagramu. Entita je objekt reálného světa. Ve školní databázi mohou být entity jako Student, Lektor, Kurz atd. Pokud je Student entitou, celá datová sada Studenta se nazývá množina entit. Některé entity mohou záviset na jiné entitě. Tento druh entity je známý jako slabá entita.
Entity spolu souvisí vztahy. Když je jedna instance entity spojena s jednou instancí jiné entity, nazývá se vztah jedna k jedné. Pro oddělení je jeden vedoucí. Je to tedy poměr 1:1. Když je jedna instance entity spojena s mnoha instancemi jiné entity, je znám jako vztah jedna k mnoha (1:M). V oddělení může být více zaměstnanců, ale zaměstnanec je v jednom oddělení. Takže je to vztah 1:M. Když je mnoho instancí entity spojeno s mnoha instancemi jiné entity, nazývá se vztahem jedna k mnoha (M:N). Zaměstnanec může pracovat na více projektech. Na jednom projektu může být také více zaměstnanců. Je to vztah M:N. 1:1, 1:M a M:N jsou binární vztahy. Když se entita vztahuje sama k sobě, jedná se o rekurzivní vztah. Vztah třetího stupně je ternární vztah.
Každá entita má vlastnosti, které ji popisují. Jsou známé jako atributy. Entita Student může mít atributy jako student_id, jméno, datum_narození, telefonní číslo. Každá entita obsahuje klíčový atribut, který pomáhá odlišit jednotlivé záznamy v databázi. V entitě Student lze student_id považovat za klíčový atribut, protože pomáhá jednoznačně identifikovat každé čtení. Některé atributy mohou být odvozeny od jiných atributů. Atribut věku lze odvodit pomocí atributu data_of_birth. Věk je tedy odvozený atribut. Pokud má student více telefonních čísel, lze atribut phone_number považovat za atribut s více hodnotami. Atribut name lze rozdělit na více atributů, jako je jméno a příjmení. Pak je to složený atribut.
Viz níže uvedený ER diagram,
Obrázek 01: Diagram ER
Lektor je entita. Má id a speciální atributy. Klíčovým atributem je id. Kurz lektorského vedení. Jednání je vztahem mezi lektorem a kurzem. Vztah je označen tvarem kosočtverce. Klíčovým atributem entity Course je kód kurzu. Projekt závisí na kurzu. Projekt je proto slabou entitou. Vztah mezi Course a Project je také slabý. Slabá entita je reprezentována několika dvojitými obdélníkovými krabicemi. Projekt provádí student. Klíčovým atributem Student je id. Student může mít více telefonů, jde tedy o atribut s více hodnotami. Atribut name se dále dělí na jméno a příjmení. Název je tedy složený atribut.
Lektor vede mnoho kurzů a lektor dohlíží na mnoho projektů, takže jsou to jeden k mnoha (1:M) vztah. Jeden kurz má jeden projekt a projekt dělá jeden student. Jedná se tedy o vztahy jedna ku jedné (1:1).
Co je diagram EER?
Když se aplikace stala složitou, tradiční ER model nestačil k nakreslení sofistikovaného diagramu. Proto byl ER model dále rozvíjen. Je známý jako Enhanced ER diagram. Ke stávajícímu modelu ER v Enhanced ER diagramu (EER) jsou přidány tři koncepty. Jsou to generalizace, specializace a agregace. Obecně lze říci, že entity nižší úrovně mohou být kombinovány za účelem vytvoření entity vyšší úrovně. Specializace je opakem generalizace. Ve specializaci lze entity vysoké úrovně rozdělit na entity nižší úrovně. Agregace je proces, kdy je vztah mezi dvěma entitami považován za jednu entitu.
Obrázek 02: Generalizace a specializace
Podle výše uvedeného ER diagramu jsou entity Student a Lektor entitami Osoba. Při přechodu zdola nahoru zobecní entity Student a Lektor na entitu Osoba. Je to přístup zdola nahoru. Při přechodu shora dolů lze entitu Osoba dále specializovat na Studenta a Přednášejícího. Je to přístup shora dolů. Atributy jména a města osoby patří do entity Student a entity Lektor. Entita Student má svůj vlastní atribut student_id a entita Lecturer má své id lektora.
Příklad agregace je následující.
Obrázek 03: Agregace
Podle výše uvedeného diagramu ER působí vztah mezi zkouškovým centrem a zkouškou společně jako entita. Celá tato entita je ve vztahu s entitou Student. Při návštěvě zkouškového centra se student dotáže jak na centrum, tak na zkoušku. Pokud je tedy vztah mezi dvěma entitami považován za jednu entitu, jedná se o agregaci.
Jaká je podobnost mezi ER a EER diagramem?
K návrhu databází lze použít ER i EER diagramy
Jaký je rozdíl mezi diagramem ER a EER?
ER vs EER Diagram |
|
ER diagram je vizuální reprezentace dat založená na ER modelu a popisuje, jak spolu entity v databázi souvisí. | EER diagram je vizuální reprezentace dat založená na EER modelu, který je rozšířením původního modelu vztahu mezi entitou (ER). |
Model | |
ER diagram je založen na ER modelu. | diagram EER je založen na modelu EER. |
Shrnutí – diagram ER vs EER
Databázi lze navrhnout pomocí ER diagramu. EER diagram je vylepšený ER diagram. V EER jsou další funkce než původní ER diagram. ER diagram je vizuální reprezentace dat založená na ER modelu a popisuje, jak spolu entity v databázi souvisí. EER diagram je vizuální reprezentace dat, založená na EER modelu, který je rozšířením původního modelu vztahu mezi entitou (ER). To je rozdíl mezi ER a EER diagramem.