Model ER definuje konceptuální pohled na databázi. Pracuje kolem entit reálného světa a asociací mezi nimi. Na úrovni pohledu je model ER považován za dobrou volbu pro návrh databází.
Entita
Entita může být objekt reálného světa, živý nebo neživý, který lze snadno identifikovat. Například ve školní databázi lze za entity považovat studenty, učitele, třídy a nabízené kurzy. Všechny tyto entity mají určité atributy nebo vlastnosti, které jim dodávají identitu.
Soubor entit je soubor podobných typů entit. Množina entit může obsahovat entity s atributem sdílejícím podobné hodnoty. Například množina Studenti může obsahovat všechny studenty školy; podobně množina Učitelé může obsahovat všechny učitele školy ze všech fakult. Množiny entit nemusí být disjunktní.
Atributy
Entity jsou reprezentovány pomocí svých vlastností, které se nazývají atributy. Všechny atributy mají své hodnoty. Například entita student může mít jako atributy jméno, třídu a věk.
Existuje doména nebo rozsah hodnot, které lze atributům přiřadit. Například jméno studenta nemůže být číselná hodnota. Musí být abecední. Věk studenta nemůže být záporný atd.
Typy atributů
-
Jednoduchý atribut – Jednoduché atributy jsou atomické hodnoty, které nelze dále dělit. Například telefonní číslo studenta je atomická hodnota o 10 číslicích.
-
Složený atribut – Složené atributy se skládají z více než jednoho jednoduchého atributu. Například kompletní jméno studenta může obsahovat jméno_jméno a příjmení.
-
Odvozený atribut – Odvozené atributy jsou atributy, které ve fyzické databázi neexistují, ale jejich hodnoty jsou odvozeny z jiných atributů přítomných v databázi. Například průměrný_plat v oddělení by neměl být uložen přímo v databázi, místo toho může být odvozen. Jiným příkladem je věk, který lze odvodit z data_narození.
-
Jednohodnotový atribut – Jednohodnotové atributy obsahují jedinou hodnotu. Například – Social_Security_Number.
-
Vícehodnotový atribut – Vícehodnotové atributy mohou obsahovat více hodnot. Například osoba může mít více než jedno telefonní číslo, e-mailovou_adresu atd.
Tyto typy atributů se mohou spojovat způsobem –
- jednoduché jednohodnotové atributy
- jednoduché vícehodnotové atributy
- složené jedno-hodnotové atributy
- složené vícehodnotové atributy
Sada entit a klíče
Klíč je atribut nebo soubor atributů, který jednoznačně identifikuje entitu mezi sadou entit.
Například roll_number studenta umožňuje jeho identifikaci mezi studenty.
-
Superklíč – soubor atributů (jeden nebo více), který společně identifikuje entitu v množině entit.
-
Kandidátský klíč – minimální superklíč se nazývá kandidátský klíč. Sada entit může mít více než jeden kandidátský klíč.
-
Primární klíč – Primární klíč je jeden z kandidátských klíčů vybraných tvůrcem databáze k jednoznačné identifikaci sady entit.
Vztah
Spojení mezi entitami se nazývá vztah. Například zaměstnanec pracuje_na katedře, student se zapisuje do kurzu. Zde se Works_at a Enrolls nazývají vztahy.
Relationship Set
Soubor vztahů podobného typu se nazývá množina vztahů. Stejně jako entity může mít i vztah atributy. Tyto atributy se nazývají popisné atributy.
Stupeň vztahu
Počet zúčastněných entit ve vztahu určuje stupeň vztahu.
- Binární = stupeň 2
- Ternární = stupeň 3
- n-ární = stupeň
Kardinalita mapování
Kardinalita definuje počet entit v jedné množině entit, které lze prostřednictvím množiny vztahů přiřadit k počtu entit jiné množiny.
-
Jedna k jedné – jedna entita z množiny entit A může být přiřazena nejvýše jedné entitě z množiny entit B a naopak.
-
One-to-many – Jedna entita z množiny entit A může být přiřazena k více než jedné entitě množiny entit B, avšak entita z množiny entit B, může být přiřazena nejvýše k jedné entitě.
-
Mnoho-jedna – Více než jedna entita ze souboru entit A může být přiřazena nejvýše jedné entitě souboru entit B, avšak entita ze souboru entit B může být přiřazena více než jedné entitě ze souboru entit A.
-
Many-to-many – Jedna entita ze souboru A může být přiřazena k více než jedné entitě ze souboru B a naopak.