sql >> Databáze >  >> RDS >> Database

Chenův zápis

Pokračujeme v našem výletu různými notacemi ERD a podívejme se na notaci Chen ERD.

Peter Chen, který vyvinul modelování vztahů entit a publikoval svou práci v roce 1976, byl jedním z průkopníků používání konceptů vztahů entit v modelování a návrhu softwaru a informačních systémů. Notace Chen ERD se stále používá a má se za to, že představuje podrobnější způsob reprezentace entit a vztahů.

Entity

Entitu představuje obdélník, který obsahuje název entity.

V zápisu Chen rozlišujeme typy entit :

  1. entita

  2. slabá entita – entita, kterou nelze jednoznačně identifikovat pouze svými atributy. Existence slabé entity je závislá na jiné entitě zvané vlastník. Identifikátor slabé entity je kombinací identifikátoru entity vlastníka a dílčího klíče slabé entity.

  3. asociativní entita – entita použitá ve vztahu many-to-many (představuje extra tabulku). Všechny vztahy pro asociativní entitu by měly být mnoho

Atributy

V zápisu Chen je každý atribut reprezentován oválem obsahující název atributu:

Atributy jsou spojeny s entitou rovnými čarami:

Existuje několik konkrétních typů atributů :

  1. klíčový atribut – atribut, který jednoznačně identifikuje konkrétní entitu. Název klíčového atributu je podtržený:

    Například, protože identifikační číslo vozidla (VIN) je jedinečný kód používaný k identifikaci jednotlivých vozidel (žádná dvě vozidla nemají stejné VIN), lze „VIN“ považovat za klíčový atribut entity „CAR“:

  2. částečný atribut klíče (diskriminátor) – atribut, který v kombinaci s klíčovým atributem entity vlastníka poskytuje jedinečnou identifikaci slabé entity. Diskriminátor podtrhneme přerušovanou čarou:

  3. atribut s více hodnotami – atribut, který může mít mnoho hodnot (ve stejném sloupci tabulky je pro něj zadáno mnoho odlišných hodnot). Vícehodnotový atribut je znázorněn dvojitým oválem:

    Každý uživatel může mít například několik různých koníčků, proto lze „hobby“ považovat za vícehodnotový atribut entity „user“:

  4. odvozený atribut (nebo vypočítaný atribut) – atribut, jehož hodnota je vypočtena (odvozena) z jiných atributů. Odvozený atribut může nebo nemusí být fyzicky uložen v databázi.

    V zápisu Chen je tento atribut reprezentován přerušovaným oválem:

    Například po uvedení ceny bez DPH a sazby DPH můžeme vypočítat cenu včetně DPH:


Některé atributy lze dále rozdělit na menší části. Například atribut „address“ lze dále rozdělit na název ulice, číslo ulice, číslo bytu, město, stát, PSČ a zemi.

Tyto atributy se nazývají složené atributy a jsou znázorněny následovně:


Vztahy

V zápisu Chen je vztah reprezentován diamantem (kosočtverec) obsahující název vztahu.

Rozlišují se dva druhy vztahu:

  1. pevný vztah – vztah, kde je entita existenčně nezávislá na jiných entitách a PK podřízeného neobsahuje PK složku nadřazené entity. Silný vztah představuje jediný kosočtverec:

  2. slabý (identifikující) vztah – vztah, kde podřízená entita je existenčně závislá na nadřazeném a PK podřízené entity obsahuje PK složku nadřazené entity. Tento vztah je reprezentován dvojitým kosočtvercem:


Volitelnost vztahu

  1. Podobně jako u Barkerova zápisu povinné vztah je znázorněn plnou čarou:

  2. Volitelné vztah je znázorněn přerušovanou čarou jako v Barkerově zápisu:


Kardinalita

Stupeň vztahu (kardinalita ) je reprezentován znaky „1“, „N“ nebo „M“ obvykle umístěnými na koncích vztahů:

  • jeden ku jednomu (1:1)

    Zaměstnanec může řídit pouze jedno oddělení a každé oddělení může řídit pouze jeden zaměstnanec:

  • jedna k mnoha (1:N)

    Zákazník může zadat mnoho objednávek, ale každou objednávku může zadat pouze jeden zákazník:

  • mnoho ku jedné (N:1)

    Mnoho zaměstnanců může patřit do jednoho oddělení, ale jeden konkrétní zaměstnanec může patřit pouze do jednoho oddělení:

  • mnoho k mnoha (M:N)

    Jeden student může patřit do více než jedné studentské organizace a jedna organizace může přijmout více než jednoho studenta:


Omezení účasti

Sada entit se může účastnit vztahu buď zcela nebo částečně.

  • Celková účast znamená, že do vztahu je zapojena každá entita v sadě, např. každý student musí být veden profesorem (neexistují studenti, kteří by nebyli vedeni žádným profesorem). V zápisu Chen je tento druh vztahu znázorněn jako dvojitá čára.

  • Částečná účast znamená, že ne všechny entity v sadě jsou zapojeny do vztahu, např. ne každý profesor vede studenta (jsou profesoři, kteří ne). V zápisu Chen je částečná participace reprezentována jednou čárou.

Výše uvedený vztah znamená, že každý student bez výjimky musí být veden jedním vybraným profesorem a jeden – ale ne každý – profesor může vést mnoho studentů. Neexistuje tedy student, který by nebyl veden profesorem, a na druhé straně mohou existovat profesoři, kteří žádného studenta nevedou.


Nyní se podívejme, jak náš příklad s knihou a kapitolou (uvedený v předchozí části) vypadá v zápisu Chen.



  1. Ukládání obrázků v PostgreSQL

  2. psql klient může být nyní šachovnicí…

  3. 2 způsoby, jak zřetězit řetězec a číslo v Oracle

  4. FORMAT() je hezké, ale…