Typy entít v databáze. Návrh databázového modelu z hľadiska "entity-relationship". Vzťahy medzi subjektmi

Domáce záležitosti

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 v súhrne sú 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í.

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).

Atribút.

Predmetná oblasť.

Databáza. Definícia.

DBMS. Definícia.

Databáza. Definícia.

Tretia normálna forma. Definícia. Príklad.

Relačná premenná R je v tretej normálnej forme vtedy a len vtedy, ak sú splnené nasledujúce podmienky:

R je v druhej normálnej forme.

· žiadny nekľúčový atribút R nie je v tranzitívnej funkčnej závislosti (t. j. závislosť nie je vyjadrená prostredníctvom iného atribútu) od potenciálneho kľúča R.

Nekľúčový atribút vzťahu R je atribút, ktorý nepatrí žiadnemu z kandidátskych kľúčov R.

Databáza- ide o jeden alebo viac dátových súborov určených na ukladanie, úpravu a spracovanie veľkého množstva vzájomne prepojených informácií, systematizovaných tak, aby bolo možné tieto materiály vyhľadať a spracovať pomocou elektronického počítača (počítača)

Systém správy databáz (DBMS) je softvér, ktorý umožňuje používateľom definovať, vytvárať a udržiavať databázu a ktorý spracováva databázové volania z aplikácií koncových používateľov.

Databáza- automatizovaný informačný systém centralizovaného ukladania a hromadného využívania údajov. Databanka obsahuje jednu alebo viac databáz, databázový adresár, DBMS, ako aj knižnice dotazov a aplikačných programov.

Predmetná oblasť je súčasťou reálneho sveta, ktorý treba študovať s cieľom vytvoriť databázu na automatizáciu procesu riadenia.

Atribút je najmenšia jednotka dátovej štruktúry. Každému prvku je pri vytváraní databázy priradený jedinečný názov. Pri spracovaní sa označuje týmto názvom.

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).

Uveďte funkcie DBMS

Hlavné funkcie DBMS:

1) Určenie štruktúry vytvorenej databázy, jej inicializácia a prvotné načítanie.

2) Poskytnutie možnosti používateľom manipulovať s údajmi (výber potrebných údajov, vykonávanie výpočtov, vývoj vstupno-výstupného rozhrania, vizualizácia).

3) Zabezpečenie logickej a fyzickej nezávislosti údajov.

4) Ochrana logickej integrity databázy - spoľahlivosť údajov môže byť narušená pri ich vkladaní do databázy alebo pri nezákonnom konaní postupov spracovania údajov, ktoré prijímajú a vkladajú nesprávne údaje do databázy. Na zvýšenie spoľahlivosti údajov v systéme sú deklarované takzvané integritné obmedzenia.



5) Ochrana fyzickej integrity - nástroje na obnovu databázy (transakcie).

6) Správa používateľských oprávnení na prístup k databáze.

7) Synchronizácia práce viacerých používateľov.

8) Správa zdrojov úložného prostredia – DBMS prideľuje pamäťové zdroje pre nové dáta, prerozdeľuje uvoľnenú pamäť, organizuje radenie požiadaviek do externej pamäte atď.

9) Podpora činnosti personálu systému

Výraz "vzťahový" znamená "založený na vzťahu". Relačnú databázu tvoria entity (tabuľky), ktoré majú medzi sebou nejaký vzťah. Názov pochádza z anglického slova relácia.
Návrh databázy pozostáva z dvoch hlavných fáz: logického a fyzického modelovania.
Počas logického modelovania zbierate požiadavky a vyvíjate databázový model, ktorý je nezávislý od konkrétneho DBMS (systém riadenia relačnej databázy). Je to ako vytvárať plány pre váš dom. Môžete si všetko premyslieť a nakresliť: kde bude kuchyňa, spálne, obývačka. Ale to všetko je na papieri a v rozložení.
Počas fyzického modelovania vytvoríte model, ktorý je optimalizovaný pre konkrétnu aplikáciu a DBMS. Práve tento model je implementovaný v praxi. Ak sa vrátime k domu z predchádzajúceho odseku, v tejto fáze budete musieť niekde postaviť dom - nosiť polená, tehly ...

Proces návrhu databázy pozostáva z nasledujúcich krokov:

  • zber informácií;
  • definícia entít;
  • definovanie atribútov pre každú entitu;
  • definovanie vzťahov medzi entitami;
  • normalizácia;
  • transformácia na fyzikálny model;
  • vytvorenie databázy.

Prvých 5 fáz tvorí fázu logického návrhu a zvyšné dve tvoria fázu fyzického modelovania.

Logická fáza

Logická fáza pozostáva z niekoľkých etáp. Všetky sú uvedené nižšie.

Požiadavky na zhromažďovanie

V tejto fáze musíte presne určiť, ako sa bude databáza používať a aké informácie v nej budú uložené. Zhromaždite čo najviac informácií o tom, čo by systém mal a nemal robiť.

Definícia entity

V tejto fáze je potrebné definovať entity, z ktorých bude databáza pozostávať.

Entita je objekt v databáze, ktorý ukladá dáta. Entita môže byť niečo skutočné (dom, osoba, objekt, miesto) alebo abstraktná vec (banková transakcia, oddelenie spoločnosti, autobusová trasa). Vo fyzickom modeli sa entita nazýva tabuľka.

Entity sú tvorené atribútmi (stĺpce v tabuľke) a záznamami (riadky v tabuľke).

Databázy sa zvyčajne skladajú z niekoľkých primárnych entít spojených s veľkým počtom podriadených entít. Jadrové entity sa nazývajú nezávislé: nezávisia od žiadnej inej entity. Podriadené entity sa nazývajú závislé: na to, aby jedna z nich existovala, musí existovať hlavná tabuľka, ktorá je s ňou spojená.
V diagramoch sú entity zvyčajne znázornené ako obdĺžniky. Názov entity je uvedený vo vnútri obdĺžnika:

Každá tabuľka má nasledujúce vlastnosti:

  • nie sú v ňom identické čiary;
  • všetky stĺpce (atribúty) v tabuľke musia mať rôzne názvy;
  • prvky v tom istom stĺpci majú rovnaký typ (reťazec, číslo, dátum);
  • poradie riadkov v tabuľke môže byť ľubovoľné.

V tejto fáze je potrebné identifikovať všetky kategórie informácií (entít), ktoré budú uložené v databáze.

Definícia atribútu

Atribút predstavuje vlastnosť, ktorá popisuje entitu. Atribúty sú často číslo, dátum alebo text. Všetky údaje uložené v atribúte musia byť rovnakého typu a musia mať rovnaké vlastnosti.
Vo fyzickom modeli sa atribúty nazývajú stĺpce.
Po definovaní entít je potrebné definovať všetky atribúty týchto entít.
V diagramoch sú atribúty zvyčajne uvedené v obdĺžniku entity. Na obrázku nájdete príklad databázy "Domy", len teraz sú pre entity z tejto databázy definované niektoré atribúty.


Každý atribút definuje typ údajov, veľkosť, povolené hodnoty a ďalšie pravidlá. Patria sem povinné, meniteľné a jedinečné pravidlá.
Povinné pravidlo určuje, či je atribút povinnou súčasťou entity. Ak je atribút voliteľnou súčasťou entity, potom môže byť NULL, inak nie.
Musíte tiež určiť, či je atribút premenlivý. Niektoré hodnoty atribútov sa po vytvorení záznamu nedajú zmeniť.
A nakoniec musíte určiť, či je atribút jedinečný. Ak áno, hodnoty atribútov sa nemôžu opakovať.

Keys

Kľúč je súbor atribútov, ktoré jedinečne identifikujú položku. Kľúče sú rozdelené do dvoch tried: jednoduché a zložené.
Jednoduchý kľúč pozostáva iba z jedného atribútu. Napríklad v databáze „Pasy občanov krajiny“ bude číslo pasu jednoduchým kľúčom: napokon neexistujú dva pasy s rovnakým číslom.
Zložený kľúč pozostáva z niekoľkých atribútov. V tej istej databáze „Pasy občanov krajiny“ môže byť zložený kľúč s nasledujúcimi atribútmi:
priezvisko, meno, priezvisko, dátum narodenia. Toto je len príklad, keďže tento zložený kľúč teoreticky neposkytuje zaručenú jedinečnosť záznamu.
Existuje tiež niekoľko typov kľúčov, ktoré sú popísané nižšie.

Možný kľúč

Kandidátsky kľúč je akýkoľvek súbor atribútov, ktorý jedinečne identifikuje položku v tabuľke. Kandidátsky kľúč môže byť jednoduchý alebo zložený.
Každá entita musí mať aspoň jeden možný kľúč, aj keď ich môže byť viac. Žiadny z atribútov primárneho kľúča nemôže mať hodnotu NULL.
Kandidátsky kľúč sa tiež nazýva náhradný kľúč.

Primárne kľúče

Primárny kľúč je súbor atribútov, ktoré jednoznačne identifikujú záznam v tabuľke (entitu). Jeden z možných kľúčov sa stane primárnym kľúčom. V diagramoch sú primárne kľúče často zobrazené nad hlavným zoznamom atribútov alebo sú zvýraznené špeciálnymi znakmi. Entita na obrázku má kľúčové aj bežné atribúty.

Alternatívne kľúče

Akýkoľvek možný kľúč, ktorý nie je primárnym kľúčom, sa nazýva alternatívny kľúč. Entita môže mať viacero alternatívnych kľúčov.

Cudzie kľúče

Cudzí kľúč je súbor atribútov, ktoré odkazujú na primárny alebo alternatívny kľúč inej entity. Ak cudzí kľúč nie je spojený s primárnou entitou, môže obsahovať iba hodnoty null. Ak je kľúč tiež zložený, všetky atribúty cudzieho kľúča musia byť nedefinované.
V diagramoch sú atribúty, ktoré sú kombinované do cudzích kľúčov, označené špeciálnymi symbolmi. Na obrázku sú znázornené dve spriaznené entity (Domy a ich vlastníci) a nimi tvorené cudzie kľúče (veď jedna osoba môže vlastniť viacero domov).

Kľúče sú logické konštrukcie, nie fyzické objekty. Relačné databázy majú mechanizmy na ukladanie kľúčov.

Definovanie vzťahov medzi entitami

Relačné databázy umožňujú kombinovať informácie patriace rôznym entitám.
Vzťah je situácia, v ktorej jedna entita odkazuje na primárny kľúč druhej entity. Ako napríklad entity House a Master na predchádzajúcom obrázku.
Vzťahy sú definované počas procesu základného návrhu. Ak to chcete urobiť, mali by ste analyzovať entity a identifikovať logické vzťahy, ktoré medzi nimi existujú.
Typ vzťahu určuje počet záznamov entity spojených s iným záznamom entity. Vzťahy sú rozdelené do troch hlavných typov, ktoré sú popísané nižšie.

Jeden na jedného

Každý záznam prvej entity zodpovedá iba jednému záznamu z druhej entity. A každý záznam druhej entity zodpovedá iba jednému záznamu z prvej entity. Napríklad existujú dve entity: Ľudia a Rodné listy. A jedna osoba môže mať len jeden rodný list.

Jeden k mnohým

Každý záznam prvej entity môže zodpovedať niekoľkým záznamom druhej entity. Každý záznam druhej entity však zodpovedá iba jednému záznamu z prvej entity. Napríklad existujú dve entity: objednávka a položka objednávky. A v jednej objednávke môže byť veľa položiek.

mnoho-k-mnohým

Každý záznam prvej entity môže zodpovedať niekoľkým záznamom druhej entity. Každý záznam druhej entity však môže zodpovedať niekoľkým záznamom z prvej entity. Napríklad existujú dve entity: Autor a Kniha. Jeden autor môže napísať veľa kníh. Ale kniha môže mať viacerých autorov.
Podľa kritéria sú povinné vzťahy rozdelené na povinné a fakultatívne.

  • Povinný vzťah znamená, že pre každý záznam z prvej entity musia existovať súvisiace položky v druhej entite.
  • Nepovinný vzťah znamená, že záznam z prvej entity nemusí mať záznam v druhej entite.

Normalizácia

Normalizácia je proces odstránenia nadbytočných údajov z databázy. Každý dátový prvok musí byť uložený v databáze iba v jednej inštancii. Existuje päť bežných foriem normalizácie. Spravidla sa databáza redukuje na tretiu normálnu formu.
Počas procesu normalizácie sa vykonajú určité akcie na odstránenie nadbytočných údajov. Normalizácia zlepšuje výkon, zrýchľuje triedenie a vytváranie indexov, znižuje počet indexov na entitu a urýchľuje operácie vkladania a aktualizácie.
Normalizovaná databáza je zvyčajne flexibilnejšia. Pri úprave dotazov alebo trvalých údajov normalizovaná databáza zvyčajne vyžaduje menej zmien a zmeny majú menej následkov.

Prvá normálna forma

Ak chcete previesť entitu do prvej normálnej formy, musíte odstrániť duplicitné skupiny hodnôt a zabezpečiť, aby každý atribút obsahoval iba jednu hodnotu, zoznamy hodnôt nie sú povolené.
Inými slovami, každý atribút v entite by mal byť uložený iba v jednej inštancii.
Napríklad na obrázku entita House nie je normalizovaná. Obsahuje viacero atribútov na ukladanie údajov o vlastníkoch domu (entita Dom nezodpovedá prvému normálnemu tvaru).

Na uvedenie entity Dom do prvej normálnej formy je potrebné odstrániť opakujúce sa skupiny hodnôt, to znamená odstrániť atribúty Vlastník 1-3 a umiestniť ich do samostatnej entity. Výsledok (Dom entít zredukovaný na prvú normálnu formu):

Druhá normálna forma

Tabuľka v druhej normálnej forme obsahuje iba údaje, ktoré sa na ňu vzťahujú. Hodnoty nekľúčových atribútov entity závisia od primárneho kľúča. Presnejšie povedané, atribúty závisia od primárneho kľúča, od celého primárneho kľúča a iba od primárneho kľúča.
Entity musia byť v prvej normálnej forme, aby zodpovedali druhej normálnej forme.
Napríklad entita Dom na obrázku má atribút Cena za liter benzínu, ktorý nemá nič spoločné s domami. Tento atribút je odstránený (alebo ho môžete presunúť do inej entity). A tiež presúvame atribút Starosta na samostatnú entitu - tento atribút závisí od mesta, kde sa dom nachádza, a nie od domu.
Na obrázku je znázornený dom esencie v druhej normálnej forme (dom esencií zredukovaný na druhú normálnu formu).

tretia normálna forma

Tretia normálna forma vylučuje atribúty, ktoré nezávisia od celého kľúča. Každá entita, ktorá je v tretej normálnej forme, je aj v druhej normálnej forme. Toto je najbežnejšia forma databázy.
V tretej normálnej forme každý atribút závisí od kľúča, od celého kľúča a od ničoho iného ako od kľúča.
Napríklad entita Vlastník domu na obrázku má atribút znamenia zverokruhu, ktorý závisí od dátumu narodenia vlastníka domu, nie od mena vlastníka (čo je kľúč).
Ak chcete obsadiť entitu Vlastník domu, musíte vytvoriť entitu Znamenia zverokruhu a preniesť tam atribút Znamenie zverokruhu (Vlastník entity domu, zredukovaný na tretiu normálnu formu):

Obmedzenia

Obmedzenia sú pravidlá presadzované systémom správy databázy. Obmedzenia definujú množinu hodnôt, ktoré možno zadať do stĺpca alebo stĺpcov.
Napríklad nechcete, aby suma objednávky vo vašom veľmi chladnom obchode bola nižšia ako 500 rubľov. Jednoducho nastavíte limit v stĺpci Čiastka objednávky.

Uložené procedúry

Uložené procedúry sú predkompilované procedúry uložené v databáze. Uložené procedúry možno použiť na definovanie obchodných pravidiel a možno ich použiť na vykonávanie zložitejších výpočtov, než sú samotné obmedzenia.
Uložené procedúry môžu obsahovať logiku toku programu, ako aj databázové dotazy. Môžu prevziať parametre a vrátiť výsledky ako tabuľky alebo jednotlivé hodnoty.
Uložené procedúry sú ako bežné procedúry alebo funkcie v akomkoľvek programe.

POZNÁMKA
Uložené procedúry sa nachádzajú v databáze a spúšťajú sa na databázovom serveri. Vo všeobecnosti sú rýchlejšie ako príkazy SQL, pretože sú uložené v kompilovanej forme.

Integrita údajov

Usporiadaním údajov do tabuliek a definovaním vzťahov medzi nimi môžeme predpokladať, že bol vytvorený model, ktorý správne odráža podnikateľské prostredie. Teraz musíme zabezpečiť, aby údaje vložené do databázy poskytovali správnu predstavu o stave veci. Inými slovami, musíte presadzovať obchodné pravidlá a udržiavať integritu databázy.
Vaša spoločnosť sa napríklad zaoberá doručovaním kníh. Je nepravdepodobné, že prijmete objednávku od neznámeho klienta, pretože potom nebudete môcť objednávku ani doručiť. Z toho vyplýva obchodné pravidlo: objednávky sa prijímajú iba od zákazníkov, ktorých údaje sú v databáze.
Správnosť údajov v relačných databázach je zabezpečená súborom pravidiel. Pravidlá integrity údajov spadajú do štyroch kategórií.

  • Integrita entity- každý záznam entity musí mať jedinečný identifikátor a musí obsahovať údaje. Všetky tieto záznamy v databáze musíte predsa nejako rozlíšiť.
  • Integrita atribútu- každý atribút akceptuje iba platné hodnoty. Napríklad suma nákupu rozhodne nemôže byť nižšia ako nula.
  • Referenčná integrita- súbor pravidiel, ktoré zabezpečujú logickú konzistenciu primárneho a cudzieho kľúča pri vkladaní, aktualizácii a odstraňovaní záznamov. Referenčná integrita zabezpečuje, že pre každý cudzí kľúč existuje zodpovedajúci primárny kľúč. Zoberme si predchádzajúci príklad s entitami Vlastník domu a Dom. Povedzme, že ste Vasja Ivanov a vlastníte dom. Zmenili ste si priezvisko na Sidorov a urobili ste príslušné zmeny v entite vlastníka domu. Určite by ste chceli, aby váš dom bol aj naďalej váš pod vaším novým menom a nepatril istému Vasyovi Ivanovovi, ktorý už neexistuje.
  • Vlastné pravidlá integrity- akékoľvek pravidlá integrity, ktoré nepatria do žiadnej z uvedených kategórií.

spúšťače

Spúšťač je analógom uloženej procedúry, ktorá sa volá automaticky pri zmene údajov v tabuľke.
Spúšťače sú mocným mechanizmom na udržiavanie integrity databázy. Spúšťače sa volajú pred alebo po zmenách údajov v tabuľke.
Pomocou spúšťačov môžete tieto zmeny nielen vrátiť späť, ale aj zmeniť údaje v akejkoľvek inej tabuľke.
Povedzme napríklad, že vytvárate internetové fórum a chcete sa uistiť, že zoznam fóra zobrazuje najnovší príspevok fóra. Samozrejme, môžete prevziať správu od entity Príspevky na fóre, ale tým sa zvýši zložitosť vašej požiadavky a čas jej vykonania. Jednoduchšie je pridať spúšťač do entity Príspevky vo fóre, ktorá zaznamenáva posledný príspevok pridaný do entity Fóra, v atribúte Posledný príspevok. To výrazne zjednoduší dotaz.

Obchodné pravidlá

Obchodné pravidlá definujú obmedzenia, ktoré sú kladené na dáta podľa požiadaviek biznisu (tých, pre ktorých vytvárate základňu). Obchodné pravidlá môžu pozostávať zo súboru krokov potrebných na dokončenie konkrétnej úlohy, alebo to môžu byť jednoducho kontroly, ktoré overujú správnosť zadaných údajov. Obchodné pravidlá môžu zahŕňať pravidlá integrity údajov. Na rozdiel od iných pravidiel je ich hlavným účelom zabezpečiť, aby obchodné transakcie prebiehali správne.
Napríklad vo firme Very Tough Guys môže byť zvykom, že na oficiálne použitie sa kupujú iba biele, modré a čierne autá.
Obchodné pravidlo pre atribút Farba vozidla subjektu Firemné vozidlá by potom bolo, že vozidlo môže byť len biele, modré alebo čierne.
Väčšina DBMS poskytuje prostriedky na:

  • určiť predvolené hodnoty;
  • skontrolovať údaje pred ich vložením do databázy;
  • udržiavať vzťahy medzi tabuľkami;
  • zabezpečiť jedinečnosť hodnôt;
  • na ukladanie uložených procedúr priamo v databáze.

Všetky tieto funkcie možno použiť na implementáciu obchodných pravidiel v databáze.

Fyzikálny model

Ďalším krokom po vytvorení logického modelu je zostavenie fyzického modelu. Fyzický model je praktickou implementáciou databázy. Fyzický model definuje všetky objekty, ktoré musíte implementovať.
Pri prechode z logického modelu na fyzickú entitu sa skonvertujú na tabuľky a atribúty na stĺpce.
Vzťahy medzi entitami je možné previesť na tabuľky alebo ponechať ako cudzie kľúče.
Primárne kľúče sa skonvertujú na obmedzenia primárneho kľúča. Možné kľúče sú v obmedzeniach jedinečnosti.

Denormalizácia

Denormalizácia- ide o zámernú zmenu v štruktúre základne, ktorá porušuje pravidlá normálnych foriem. Zvyčajne sa to robí na zlepšenie výkonu databázy.
Teoreticky by sa malo vždy usilovať o úplne normalizovaný základ, ale v praxi znamená úplne normalizovaný základ takmer vždy pokles výkonu. Prílišná normalizácia databázy môže mať za následok prístup k viacerým tabuľkám pri každom načítaní údajov. Dopytu sa zvyčajne musia zúčastniť štyri tabuľky alebo menej.
Štandardné denormalizačné techniky sú: spájanie niekoľkých tabuliek do jednej, ukladanie rovnakých atribútov do niekoľkých tabuliek a ukladanie súhrnných alebo vypočítaných údajov do tabuľky.

Pred pár rokmi boli medzi mojimi ďalšími aktivitami online lekcie základov budovania logickej štruktúry databázy a jazyka SQL. Momentálne nerobím lekcie, ale samotné nahrávky zostali, tak som sa rozhodol ich zverejniť, prečo by sa to dobré malo plytvať? 🙂

Dnes si povieme niečo o entitno-vzťahovom modeli, alebo entitno-vzťahovom modeli.

teória

Entity-Relationship model alebo ER model je vysokoúrovňový koncepčný dátový model, ktorý bol vyvinutý na zjednodušenie úlohy navrhovania databázových štruktúr.

Tento model je súborom pojmov, ktoré popisujú štruktúru databázy ako súbor entít, atribútov a vzťahov. Hlavným cieľom vývoja takéhoto dátového modelu je vytvoriť užívateľské vnímanie dát a dohodnúť sa na veľkom množstve technických aspektov súvisiacich s návrhom databázy. Zvlášť treba poznamenať, že koncepčný dátový model nezávisí od konkrétnej DBMS alebo hardvérovej platformy, ktorá sa používa na implementáciu databázy.

Účelom "entitno-vzťahových" diagramov je vytvoriť presnú a úplnú reprezentáciu reálnej predmetnej oblasti (SbD), ktorá sa neskôr použije ako zdroj informácií pre budovanie databázy systémov automatizovaného spracovania informácií (DB ASOI).

Tento diagram alebo koncepčný model ObD musí spĺňať nasledujúce požiadavky:

  • Zabezpečte primerané zobrazenie SbA;
  • Prezentované v jazyku, ktorý je zrozumiteľný pre budúcich používateľov ASOI aj pre vývojárov databáz;
  • Obsahovať informácie o ObD dostatočné pre ďalší návrh databázy (vývoj logických a fyzických modelov);
  • Zaručiť jednoznačný výklad alebo výklad modelu ObA.

Hlavnými konceptmi tohto modelu sú koncepty entity, atribútu a vzťahu.

PODSTATA je súbor objektov reálneho sveta s rovnakými vlastnosťami. Entita sa vyznačuje nezávislou existenciou a môže to byť objekt s fyzickou (alebo reálnou) existenciou alebo objekt s konceptuálnou (alebo abstraktnou) existenciou.

Entita je hlavným obsahom javu alebo procesu (transakcie alebo požiadavky), o ktorom je potrebné zbierať informácie, a je uzlovým bodom zberu informácií. Entita sa vzťahuje na súbor homogénnych predmetov alebo vecí. Každá entita je identifikovaná názvom a zoznamom vlastností (atribútov). Subjektom môže byť osoba, miesto, vec a pod., informácie o ktorých musia byť uložené v databáze.

Prax

PRÍKLAD. Oblasť témy " Rezervácia lístkov v kine". Filmy sa premietajú v kine, vstupenky si môžete kúpiť v deň predstavenia alebo vopred rezervovať. Databáza obsahuje informácie o všetkých filmových predstaveniach v danom kine, vrátane starých. Každá filmová projekcia má svoje náklady, t.j. vstupenky na rovnaký film, ale v rôznych časoch sa môžu líšiť cenou. Filmovú projekciu tvorí Film, o ktorom sú informácie uložené aj v databáze.

Pre Pro" Rezervácia lístkov v kine” entity budú nasledujúce pojmy:

Premietanie filmu

Filmy

Divák

Lístok

Rezervácia

cena

Graficky sú entity v diagramoch vzťahov medzi entitami reprezentované ako obdĺžniky:

ATRIBÚT je to prostriedok, ktorým sú definované vlastnosti entity alebo vzťahu. Atribút je pomenovaná charakteristika entity. Názov atribútu musí byť jedinečný pre konkrétnu entitu, ale môže byť rovnaký pre rôzne entity.

Špecifický súbor atribútov pre entitu je určený úlohami, v ktorých sa používajú. Napríklad entity ObA „Objednávanie lístkov v kine“ možno opísať pomocou nasledujúceho súboru atribútov:

Premietanie filmu(číslo premietania filmu, číslo filmu, dátum premietania, číslo nákladov);

Film(Číslo filmu, Názov, Trvanie, Stručný popis);

Divák(číslo diváka, celé meno, dátum narodenia);

Lístok(číslo diváka, číslo premietania filmu, cena vstupenky);

Rezervácia(číslo audítora, číslo skríningu, dátum rezervácie);

cena(Nákladové číslo, skríningové číslo, cena).

Graficky sú atribúty entity znázornené ako popisky, ktoré uvádzajú zoznam názvov atribútov. Napríklad:

Tučná kurzíva a podčiarknutie označujú primárne kľúče, atribút entity, ktorý ju jedinečne charakterizuje. Podčiarknutie označuje cudzie kľúče – atribúty, ktoré jednoznačne charakterizujú entity, na ktoré sa vzťahujú.

SPOJENIE je vzťah medzi inštanciami dvoch (alebo viacerých) rôznych entít. Mechanizmus vzťahov sa používa na definovanie vzťahov medzi entitami v ObA. Okrem toho existujú vzťahy medzi atribútmi samostatnej entity (ktoré treba zvážiť pri vytváraní logických modelov).

Každý odkaz má názov, ktorý by mal popisovať jeho funkciu. Vzťahy majú také charakteristiky ako názov spojenia, index mohutnosti, stupeň participácie, stupeň spojenia, čas existencie spojenia a iné.

Názov vzťahu by mal mať určitý význam, aby bolo ľahšie pochopiť, ako spolu entity súvisia. Napríklad vzťah medzi entitami Divák a Vstupenka možno definovať ako „Kúpiť“.

Kosoštvorec sa používa na grafické znázornenie vzťahov v diagramoch entít a vzťahov. Vo vnútri kosoštvorca je definovaný názov spojenia a entity zúčastňujúce sa tohto spojenia sú spojené pomocou čiar.

Indikátor kardinality vzťahu (charakteristika jednoznačnosti) udáva stupeň vzťahu medzi entitami a popisuje počet možných vzťahov pre každú zo zúčastnených entít:

  • jedna ku jednej (1:1);
  • jedna ku mnohým (1:N);
  • many-to-many (N:M).