Identifikácia entít a vzťahov medzi nimi. Predmet databázy a jej model Určenie, či je atribút voliteľný

3. Komponenty dátového modelu

Entita, definícia entity, zdroje informácií o entitách

Dátový model – konceptuálny popis predmetnej oblasti – je najabstraktnejšou úrovňou návrhu databázy. Dátový model pozostáva z entít, atribútov, domén a vzťahov. Ďalej - o každom z prvkov podrobne.

3.1 Subjekty

Entita je niečo, o čom informácie musia byť uložené v databáze.

Pri návrhu databáz stačí opísať súčasnú situáciu – a kandidátmi na entity bude väčšina podstatných mien a niektorých slovies. Napríklad: "Zákazníci nakupujú tovar. Zamestnanci predávajú tovar zákazníkom. Dodávatelia dodávajú tovar" - zákazníci, tovar, zamestnanci a dodávatelia sú subjekty. Slovesá „kúpiť“ a „predať“ sú tiež entitami (hoci môžu byť tou istou entitou, odlišnou z pohľadu kupujúceho a predávajúceho).

Pri návrhu databázy je hlavným zdrojom informácií o subjektoch rozhovor so zákazníkom s cieľom porozumieť jeho obchodným procesom. Okrem toho sa analyzujú štandardné dokumenty používané v obchodných procesoch: formuláre, správy, pokyny atď. Po prijatí takéhoto zoznamu je potrebné skontrolovať jeho úplnosť a súdržnosť, ako aj identifikovať duplikáty - identické entity, ktoré sa nazývajú rôznymi slovami, a entity, ktoré sú v skutočnosti odlišné, ale sú opísané rovnakým pojmom.

Subjekty môžu modelovať konkrétne pojmy (zákazníci, tovar, hovory) a abstraktné (za klienta je zodpovedný agent, do kurzu je zapísaný študent).

Koncept modelu ER. Pojem entity. atribúty. Typy atribútov

1. Aké problémy môže mať vývojár pri návrhu databázy?

Pri návrhu databázy a vývoji softvérového produktu je najdôležitejším problémom problém interakcie medzi vývojárom a zákazníkom. Úlohou vývojára je čo najpresnejšie znovu vytvoriť želania zákazníka pri vývoji softvérového produktu na správu databáz. Hlavným problémom, ktorý musí vývojár vyriešiť, je správna konštrukcia databázy, respektíve schéma (štruktúra) databázy.

Okrem toho sa vývojár stretáva s ďalšími ťažkosťami, medzi ktoré patria:

  • hľadanie efektívnych algoritmov;
  • výber vhodných dátových štruktúr;
  • ladenie a testovanie komplexného kódu;
  • dizajn a použiteľnosť aplikačného rozhrania.

Vo vývojovom štádiu softvér manažér databázy, vývojár sa musí podrobne naučiť požiadavky zákazníka. Databáza by mala byť navrhnutá tak, aby bola zrozumiteľná, čo najpresnejšie odrážala riešený problém a neobsahovala redundanciu v údajoch.

Na uľahčenie procesu vývoja (projektovania) databázy, tzv sémantické modelyúdajov. Pre odlišné typy Najznámejšou databázou je dátový model ER (Entity-Relationship model).

2. Čo je to ER-model (Entity-relationship model)? Prečo potrebujete vytvoriť model ER?

ER-model (Entity-relationship model alebo Entity-relationship diagram) je sémantický dátový model, ktorý je navrhnutý tak, aby zjednodušil proces návrhu databázy. Z ER modelu je možné generovať všetky typy databáz: relačné, hierarchické, sieťové, objektové. Model ER je založený na pojmoch „entita“, „vzťah“ a „atribút“.

V prípade veľkých databáz sa vytvorením modelu ER vyhnete chybám v návrhu, ktoré je mimoriadne ťažké opraviť, najmä ak je databáza už v prevádzke alebo je v štádiu testovania. Chyby v návrhu štruktúry databázy môžu viesť k zmene kódu softvéru, ktorý spravuje túto databázu. V dôsledku toho sa čas, peniaze a ľudské zdroje budú využívať neefektívne.

ER model je reprezentácia databázy vo forme vizuálnych grafických diagramov. Model ER vizualizuje proces, ktorý definuje určitú oblasť. Diagram entít a vzťahov je diagram, ktorý graficky predstavuje entity, atribúty a vzťahy.

ER model je len konceptuálna úroveň modelovania. Model ER neobsahuje detaily implementácie. Pre ten istý model ER sa môžu detaily jeho implementácie líšiť.

3. Čo je entita v databáze? Príklady

Entita v databáze je akýkoľvek objekt v databáze, ktorý možno rozlíšiť na základe podstaty predmetnej oblasti, pre ktorú sa táto databáza vyvíja. Návrhár databázy musí byť schopný správne definovať entity.

Príklad 1 V databáze kníhkupectva možno rozlíšiť tieto entity:

  • kniha;
  • poskytovateľ;
  • umiestnenie obchodu.

Príklad 2 V databáze účtovníctva vzdelávacieho procesu niektorej vzdelávacej inštitúcie možno rozlíšiť tieto subjekty:

  • študenti (žiaci);
  • učitelia;
  • skupiny;
  • odbory, ktoré sa študujú.
4. Aké sú odrody typov entít? Označenie typov entít v modeli ER

V modeli „entita“ – „vzťah“ existujú dva typy typov entít:

  • slabý typ. Tento typ entity závisí od silnej entity;
  • silný typ. Ide o nezávislý typ entity, ktorá na nikom nezávisí.

Obrázok 1 ukazuje označenie typov slabých a silných entít v modeli ER.

Ryža. 1. Označenie typov silných a slabých entít

5. Na čo slúžia atribúty? Typy atribútov. Označenie atribútov na modeli ER

Každý typ entity má špecifický súbor atribútov. Atribúty sú určené na opis konkrétnej entity.

Existujú nasledujúce typy atribútov:

  • jednoduché atribúty. Sú to atribúty, ktoré môžu byť súčasťou zložených atribútov. Tieto atribúty pozostávajú z jednej zložky. Medzi jednoduché atribúty patria napríklad: kód knihy v knižnici alebo študentského kurzu vo vzdelávacej inštitúcii;
  • zložený atribúty. Sú to atribúty, ktoré pozostávajú z niekoľkých jednoduchých atribútov. Napríklad adresa bydliska môže obsahovať názov krajiny, lokalitu, ulicu, číslo domu;
  • jednoznačné atribúty. Sú to atribúty, ktoré obsahujú iba jednu jedinú hodnotu pre nejakú entitu. Napríklad atribút „Číslo ročníka“ pre typ entity „Študent“ je jednoznačný, pretože študent môže mať iba jedno číslo ročníka (jednu hodnotu);
  • polysémantický atribúty. Sú to atribúty, ktoré môžu obsahovať viacero hodnôt. Napríklad viachodnotový atribút „Telefónne číslo“ pre entitu „Študent“, keďže študent môže mať viacero telefónnych čísel (domov, mobil atď.);
  • svojvoľný atribúty. Sú to atribúty, ktorých hodnota je tvorená na základe hodnôt iných atribútov. Aktuálny rok štúdia študenta možno napríklad vypočítať na základe rozdielu medzi aktuálnym rokom štúdia a rokom vstupu študenta do vzdelávacia inštitúcia(ak študent nemal problémy so štúdiom a dobre študoval odbor „Organizácia databáz a vedomostí“).

Na ER diagrame sú atribúty označené tak, ako je to znázornené na obrázku 2. Ako je zrejmé z obrázku, každý atribút je označený ako elipsa s názvom vo vnútri elipsy. Ak je atribút primárnym kľúčom, jeho názov je podčiarknutý.

Obrázok 2. Reprezentácia atribútov na modelových diagramoch ER

6. Ako sú typy entít a atribúty modelu ER implementované v reálnych databázach a programoch, ktoré spravujú?

Pri vývoji programov na správu databáz môžu byť typy entít a ich atribúty reprezentované rôznymi spôsobmi, pričom treba dodržiavať niekoľko prístupov:

  • zvoliť si ako zdroj údajov známu technológiu (napríklad Microsoft SQL Server, Oracle Database, Microsoft Access, Microsoft ODBC Data Source atď.), ktorá už bola preskúmaná, testovaná, štandardizovaná a má obrovský súbor databázovej správy nástroje;
  • vytvoriť si vlastný databázový formát a implementovať metódy na jeho spracovanie a implementovať interakciu so známymi zdrojmi údajov vo forme špeciálnych príkazov ako Import/Export. V tomto prípade budete musieť naprogramovať všetku rutinnú prácu, aby ste udržali a zabezpečili spoľahlivú prevádzku databázy vlastnými rukami;
  • implementovať kombináciu dvoch vyššie uvedených prístupov. Moderné nástroje na vývoj softvéru majú výkonnú sadu knižníc na spracovanie zložitých súborov a vizualizáciu údajov v nich (kolekcie, polia, komponenty vizualizácie atď.).

Ak je databáza implementovaná v dobre známych relačných DBMS (napríklad Microsoft Access, Microsoft SQL Server atď.), potom sú typy entít reprezentované tabuľkami. Atribúty z modelu ER zodpovedajú poliam tabuľky. Jeden záznam v databázovej tabuľke predstavuje jednu inštanciu entity.

Každý druh atribútu je implementovaný nasledovne:

  • jednoduchý atribút alebo jednoznačný atribút môže byť reprezentovaný prístupnou množinou základných typov, ktoré sa nachádzajú v akomkoľvek programovacom jazyku. Napríklad celočíselné atribúty sú reprezentované typom int , celé číslo , uint atď.; atribúty obsahujúce zlomkovú časť môžu byť reprezentované typom float , double ; reťazcové atribúty typu reťazec atď.;
  • zložený atribút je objekt, ktorý obsahuje niekoľko vnorených jednoduchých atribútov. Napríklad v Microsoft Access DBMS možno vytvoriť zložený atribút určitej tabuľky na základe množiny jednoduchých typov (polí). V programovacích jazykoch je spojenie polí implementované štruktúrami alebo triedami;
  • viachodnotový atribút možno implementovať ako pole alebo kolekciu jednoduchých alebo zložených atribútov;
  • ľubovoľný atribút implementované dodatočným poľom, ktoré sa vypočíta pri prístupe k tabuľke. Takéto pole sa nazýva vypočítané pole a je vytvorené na základe iných polí v tabuľke;
  • atribút, ktorý je primárnym kľúčom môže byť celé číslo, reťazec alebo akýkoľvek iný radový typ. V tomto prípade je hodnota každej bunky tabuľky, ktorá zodpovedá primárnemu kľúču, jedinečná. Primárny kľúč je najčastejšie celočíselného typu (int , integer ).

Ak je databáza implementovaná v jedinečnom formáte, potom je najvhodnejšie reprezentovať typy entít ako triedy alebo štruktúry. Atribúty entity sú implementované ako polia (interné údaje) triedy. Metódy tried implementujú potrebné spracovanie polí tried (atribútov). Interakcia (komunikácia) medzi triedami je realizovaná pomocou špeciálne navrhnutých rozhraní s využitím známych návrhových vzorov.

7. Príklad fragmentu modelu ER pre typ entity „Študent“

Vyššie uvedený príklad demonštruje fragment modelu ER pre typ entity Študent.

Obrázok 3. Fragment modelu ER pre typ entity „Študent“

Vyššie uvedený obrázok deklaruje nasledujúce atribúty, ktoré v DBMS (programe) môžu mať nasledujúce typy:

  • atribút Primárny kľúč – je jedinečná celočíselná hodnota, ktorá sa generuje automaticky. V DBMS je to pole počítadla;
  • atribút vstupného roku je jednoduchý atribút, ktorý možno implementovať ako celočíselnú hodnotu (int , celé číslo );
  • atribút Telefónne číslo je atribút s viacerými hodnotami, ktorý možno implementovať ako pole alebo kolekciu atď.;
  • atribút Číslo knihy záznamov- jednoduchý atribút, ktorý možno implementovať ako reťazec znakov, keďže číslo v klasifikačnej knihe môže okrem čísel obsahovať aj písmená;
  • atribút Krajina, Mesto, Ulica, Číslo domu sú atribúty, ktoré tvoria zložený atribút Adresa. Všetky tieto atribúty môžu byť typu reťazec (text) (string , Text );
  • atribúty Priezvisko, Meno, Stredné meno sú jednoduché atribúty, ktoré sú súčasťou zloženého atribútu Meno študenta. Všetky tieto atribúty môžu byť typu reťazec (text) (string , Text );
  • atribút Narodeniny je jednoduchý atribút typu Dátum (DateTime );
  • atribút Študentský vek je vypočítané pole, ktoré je definované ako rozdiel medzi aktuálnym (systémovým) dátumom a hodnotou atribútu Narodeniny.

Základné pojmy DB modelu „entity-relationship“ (ER-model): entity, vzťahy medzi nimi a ich atribúty (vlastnosti).

Esencia- akýkoľvek konkrétny alebo abstraktný objekt v predmetnej oblasti. Entity sú základné typy informácií, ktoré sú uložené v databáze (v relačnej databáze má každá entita priradenú tabuľku). Medzi entity môžu patriť: študenti, klienti, oddelenia atď. Inštancia entity a typ entity sú rôzne pojmy. Pojem typ entity sa vzťahuje na súbor homogénnych osôb, predmetov alebo udalostí pôsobiacich ako celok (napríklad študent, klient atď.). Inštancia entity odkazuje napríklad na konkrétnu osobu v množine. Typ entity môže byť študent a inštancia môže byť Petrov, Sidorov atď.

Atribút je majetkom účtovnej jednotky v predmetnej oblasti. Jeho názov musí byť jedinečný pre konkrétny typ entity. Napríklad pre študenta entity možno použiť tieto atribúty: priezvisko, meno, priezvisko, dátum a miesto narodenia, údaje z pasu atď. V relačnej databáze sú atribúty uložené v poliach tabuľky.

Pripojenie– vzťah medzi subjektmi v predmetnej oblasti. Vzťahy sú spojenia medzi časťami databázy (v relačnej databáze ide o spojenie medzi záznamami tabuľky).

Esencie sú údaje, ktoré sú klasifikované podľa typu a vzťahy ukazujú, ako tieto typy údajov navzájom súvisia. Ak opíšeme určitú predmetnú oblasť v termínoch entita – vzťah, tak pre túto databázu dostaneme model entita – vzťah.

šípka je symbolom spojenia: jeden - k - mnohým.

Hlavné výhody ER-modelov: * viditeľnosť; * modely umožňujú navrhovať databázy s veľkým počtom objektov a atribútov;

Hlavné prvky ER-modelov: * objekty (entity); * atribúty objektu; * prepojenia medzi objektmi.

Vzťah medzi entitami charakterizuje: * typ vzťahu (1:1, 1:N, N:M); * členská trieda. Trieda môže byť povinná alebo voliteľná. Ak sa každá inštancia entity zúčastňuje vzťahu, potom je trieda členstva povinná, inak je voliteľná.


Koncept normalizácie údajov. funkčná závislosť.

Normalizácia je formálna metóda na analýzu vzťahov na základe ich primárneho kľúča a existujúcich vzťahov. Jeho úlohou je nahradiť jednu databázovú schému (alebo množinu vzťahov) inou schémou, v ktorej majú vzťahy jednoduchšiu a pravidelnejšiu štruktúru.

funkčná závislosť. Nech X a Y sú dva atribúty nejakého vzťahu. O Y sa hovorí, že je funkčne závislé od X, ak v akomkoľvek danom čase každá hodnota X zodpovedá najviac jednej hodnote atribútu Y.

Funkčná závislosť je označená ako X -\u003e Y.

Vzťah študent S(Ns, Fio, Ngr, Addr, Tel). Každý z atribútov Fio, Ngr, Addr, Tel je funkčne závislý od atribútu Ns.

Takže v normalizovanom vzťahu sú všetky nekľúčové atribúty funkčne závislé od kľúča vzťahu. Kľúčom vzťahu S je atribút Ns.

Základné pravidlo pri vytváraní tabuliek entít je to „každá entita – samostatná tabuľka“.

Polia tabuľky entít môžu byť dvoch typov: kľúč A bez kľúča. Zavedenie kľúčov do tabuľky v takmer všetkých relačných DBMS umožňuje zabezpečiť jedinečnosť hodnôt v záznamoch tabuľky podľa kľúča, urýchliť spracovanie záznamov tabuľky a tiež automaticky zoradiť záznamy podľa hodnôt v kľúčových poliach.

Zvyčajne stačí definovať jednoduché kľúč, menej často - zadajte zložený kľúč. Tabuľkou so zloženým kľúčom môže byť napríklad tabuľka na uloženie zoznamu zamestnancov (priezvisko, meno a priezvisko), v ktorej sú menovci. V niektorých DBMS sú užívatelia vyzvaní, aby definovali automaticky generované pole číslovania kľúčov (v Accesse ide o pole typu „počítadlo“), čo zjednodušuje riešenie problému jedinečnosti tabuľkových záznamov.

Niekedy majú tabuľky entít polia popisujúce vlastnosti alebo charakteristiky objektov. Ak má tabuľka značný počet opakovaní pre tieto polia a tieto informácie majú značné množstvo, potom je lepšie ich oddeliť do samostatnej tabuľky (podľa pravidla: "každá entita - samostatná tabuľka"). Okrem toho by sa mala vytvoriť dodatočná tabuľka, ak sú vlastnosti vzájomne prepojené.

Pri spracovaní tabuliek entít majte na pamäti nasledovné. Je ľahké pridať a zmeniť novú entitu, ale pri jej odstránení by sa mali zničiť všetky odkazy na ňu z tabuliek odkazov, inak budú tabuľky odkazov nesprávne. Mnoho moderných DBMS blokuje nesprávne akcie v takýchto operáciách.

Príspevky odkazové tabuľky sú určené na zobrazenie vzťahov medzi entitami, o ktorých sa informácie nachádzajú v príslušných tabuľkách entít.

Zvyčajne jedna tabuľka odkazov popisuje vzťah dvoch entít. Keďže tabuľky entít majú v najjednoduchšom prípade po jednom kľúčovom poli, tabuľka prepojení dvoch tabuliek musí mať dva kľúče, aby sa zabezpečila jedinečnosť záznamov o prepojení. Môžete vytvoriť tabuľku odkazov, napríklad tabuľku objektov, a bez kľúčov, ale potom kontrola nad jedinečnosťou záznamov padne na používateľa.

Zložitejšie spojenia (nie binárne) by sa mali zredukovať na binárne. Na opis vzťahov N objektov sú potrebné tabuľky vzťahov N-1. Nemali by existovať žiadne tranzitívne spojenia. Prebytok vzťahov vedie k nekonzistentnostiam (pozri príklad vzťahov PERSONÁL – ODDELENIE, ODBOR – PROJEKTY a ODDELENIE – PROJEKTY v predchádzajúcej podkapitole).

Charakteristiky entít by nemali byť zahrnuté do tabuliek vzťahov, inak sú nevyhnutné anomálie. Je lepšie ich uložiť do samostatných tabuliek entít.


Pomocou tabuliek odkazov možno opísať aj trochu špecifický typ spojenia - lineárny alebo slabý článok. Za príklad lineárneho vzťahu možno považovať vzťah príslušnosti entít k nejakej inej entite vyššieho rádu (systémy pozostávajúce z uzlov; lieky pozostávajúce z komponentov; zliatiny kovov a pod.). V tomto prípade stačí na popis odkazov jedna tabuľka odkazov.

Pri práci s tabuľkami odkazov by ste mali mať na pamäti, že akýkoľvek záznam z tabuľky odkazov možno ľahko vymazať, pretože entity sa nejaký čas zaobídu bez odkazov. Pri pridávaní alebo zmene obsahu položiek tabuľky je potrebné kontrolovať správnosť odkazov na existujúce objekty, keďže spojenie nemôže existovať bez objektov. Väčšina moderných DBMS riadi platnosť referencií na objekt.

Pod bezúhonnosť porozumieť vlastnosti databázy, čo znamená, že obsahuje úplné, konzistentné a adekvátne odrážajúce informácie o predmetnej oblasti.

Rozlišovať fyzické a logické bezúhonnosť. Fyzická integrita znamená, že existuje fyzický prístup k údajom a že sa údaje nestratia. Logická integrita znamená absenciu logických chýb v databáze, medzi ktoré patrí narušenie štruktúry databázy alebo jej objektov, vymazanie alebo zmena vytvorených väzieb medzi objektmi a pod. V budúcnosti budeme hovoriť o logickej integrite.

Udržiavanie integrity databázy zahŕňa kontrolu (kontrolu) integrity a jej obnovu v prípade nezrovnalostí v databáze. Integrita stavu databázy sa nastavuje pomocou integritné obmedzenia vo forme podmienok, ktoré musia spĺňať údaje uložené v databáze.

Obmedzenia integrity možno rozdeliť do dvoch hlavných typov obmedzení: hodnotové obmedzenia vzťahové atribúty a štrukturálne obmedzenia do vzťahových ničiek.

Príklad hodnotové obmedzenia relačné atribúty je požiadavka neprípustnosti prázdnych alebo duplicitných hodnôt v atribútoch, ako aj kontrola príslušnosti hodnôt atribútov k danému rozsahu. Napríklad v záznamoch vzťahu rámcov nemôžu hodnoty atribútu date_of_birth prekročiť hodnoty atribútu date_of_reception.

Najflexibilnejšie prostriedky na implementáciu kontroly hodnoty atribútov sú uložené procedúry A spúšťače, dostupné v niektorých DBMS.

Štrukturálne obmedzenia definovať požiadavky integrita entity A integrita odkazu. Každá inštancia entity reprezentovaná vo vzťahu má iba jednu zo svojich n-tic. Požiadavka integrita entity je, že každá n-tica vzťahu musí byť odlišná od akejkoľvek inej n-tice tohto vzťahu, t.j. inými slovami, každý vzťah musí mať primárny kľúč.

S pojmom úzko súvisí aj formulácia požiadavky referenčnej integrity cudzí kľúč. Pripomeňme, že cudzie kľúče sa používajú na vzájomné prepojenie vzťahov (databázových tabuliek). V tomto prípade sa nazýva atribút jedného vzťahu (rodič). cudzí kľúč tento vzťah, ak je primárny kľúč iného vzťahu (dieťaťa). Hovoríme, že vzťah, v ktorom je definovaný cudzí kľúč, odkazuje na vzťah, v ktorom je rovnaký atribút primárnym kľúčom.

Požiadavka na referenčnú integritu je, že pre každú hodnotu cudzieho kľúča nadradenej tabuľky musí byť v podradenej tabuľke riadok s rovnakou hodnotou primárneho kľúča. Napríklad, ak vzťah R1 obsahuje informácie o zamestnancoch oddelenia a atribút tohto vzťahu Musí je primárnym kľúčom vzťahu R2, potom by v tomto vzťahu pre každú pozíciu od R1 mal byť riadok s príslušným platom.

V mnohých moderných DBMS existujú prostriedky na zabezpečenie kontroly integrity databázy.

Entita je skutočná alebo abstraktná entita, ktorá je podstatná pre doménu. Entita musí mať názov vyjadrený podstatným menom v jednotnom čísle

Neformálnym spôsobom identifikácie entít je hľadanie abstrakcií, ktoré popisujú objekty, procesy, roly a iné koncepty. Formálnym spôsobom identifikácie entít je analyzovať textové popisy predmetnej oblasti, extrahovať podstatné mená a vybrať ich ako abstrakcie.

Inštancia entity je špecifická inštancia tejto entity. Napríklad zamestnanec Ivanov môže byť inštanciou entity Zamestnanec.

Každá entita musí mať nasledujúce vlastnosti:

mať jedinečný názov;

mať jeden alebo viac atribútov, ktoré buď patria entite, alebo sa zdedia prostredníctvom vzťahu;

majú jeden alebo viac atribútov, ktoré jedinečne identifikujú každú inštanciu entity.

Atribút – charakteristika entity, ktorá je významná pre predmetnú oblasť a je určená na identifikáciu, klasifikáciu, kvantifikáciu alebo vyjadrenie stavu entity.

Existujú nasledujúce typy atribútov:

jednoduchý - pozostáva z jedného dátového prvku;

kompozitný – pozostáva z viacerých dátových prvkov;

jednoznačný – obsahuje jednu hodnotu pre jednu entitu;

viachodnotové - obsahuje niekoľko hodnôt pre jednu entitu;

voliteľné - môže mať prázdnu (nedefinovanú) hodnotu;

derivovaný - hodnota odvodená od hodnoty iného atribútu.

Jedinečný identifikátor je množina atribútov, ktorých hodnoty sú spolu jedinečné pre každú inštanciu entity. Odstránením akéhokoľvek atribútu z identifikátora sa naruší jeho jedinečnosť. Jedinečné identifikátory sú v diagrame podčiarknuté.

Každá entita môže mať ľubovoľný počet vzťahov s inými entitami.

Vzťahy medzi subjektmi

Vzťah je pomenované spojenie medzi entitami, ktoré má význam pre danú doménu.

Stupeň vzťahu je počet subjektov zúčastnených na vzťahu.

Sila prepojenia – počet inštancií entity zúčastňujúcich sa prepojenia.

V závislosti od hodnoty výkonu môže mať pripojenie jeden z troch typov:

jeden k jednému (označené 1:1).

jedna ku mnohým (označená 1:N).

many-to-many (označené M:N).

Jeden na jedného. Znamená to, že v takomto vzťahu entita s jednou rolou vždy zodpovedá nie viac ako jednej entite s inou rolou. Keďže stupeň spojenia pre každú entitu je 1, sú spojené jednou čiarou.

Jeden k mnohým. K entite s jednou rolou môže priradiť ľubovoľný počet entít s odlišnou rolou.

Mnoho-k-mnohým. V tomto prípade môže byť každá z pridružených entít reprezentovaná ľubovoľným počtom inštancií.