Čo je ER modelovanie?
Entity Relationship Model (ER Modeling) je grafický prístup k návrhu databázy. Jedná sa o dátový model na vysokej úrovni, ktorý definuje dátové prvky a ich vzťah pre konkrétny softvérový systém. Na znázornenie objektov v reálnom svete sa používa model ER.
Entity je vec alebo objekt v reálnom svete, ktoré ich odlišujú od okolitého prostredia. Napríklad každý zamestnanec organizácie je samostatnou entitou. Nasleduje niekoľko hlavných charakteristík subjektov.
- Entita má sadu vlastností.
- Vlastnosti entity môžu mať hodnoty.
V tomto návode sa naučíte
- Model EER (Enhanced Entity Relationship Relationship)
- Prečo používať model ER?
- Subjekty v knižnici „MyFlix“
- Definovanie vzťahov medzi entitami
Zvážme opäť náš prvý príklad. Zamestnanec organizácie je účtovná jednotka. Ak je „Peter“ programátor ( zamestnanec ) v spoločnosti Microsoft, môže mať atribúty ( vlastnosti) ako meno, vek, váha, výška atď. Je zrejmé, že tieto hodnoty majú pre neho dôležité hodnoty.
Každý atribút môže mať hodnoty . Vo väčšine prípadov má jeden atribút jednu hodnotu. Ale je možné, že atribúty majú aj viac hodnôt . Napríklad Peterov vek má jedinú hodnotu. Jeho vlastnosť „telefónne čísla“ však môže mať niekoľko hodnôt.
Subjekty môžu mať medzi sebou vzťahy . Uvažujme o najjednoduchšom príklade. Predpokladajme, že každý programátor spoločnosti Microsoft dostane počítač. Je zrejmé, že aj Petrov počítač je entita. Peter používa tento počítač a rovnaký počítač používa aj Peter. Inými slovami, medzi Petrom a jeho počítačom existuje vzájomný vzťah.
V modelovaní vzťahov medzi entitami modelujeme entity, ich atribúty a vzťahy medzi entitami.
Model EER (Enhanced Entity Relationship Relationship)
Model Enhanced Entity Relationship (EER) je dátový model na vysokej úrovni, ktorý poskytuje rozšírenia k pôvodnému modelu Entity Relationship (ER). Modely EER podporujú viac detailov. EER Modeling sa ukázal ako riešenie pre modelovanie veľmi zložitých databáz.
EER používa notáciu UML. UML je skratka pre Unified Modeling Language; je to univerzálny modelovací jazyk používaný pri navrhovaní objektovo orientovaných systémov. Entity sú reprezentované ako diagramy tried. Vzťahy sú reprezentované ako asociácie medzi entitami. Schéma zobrazená nižšie ilustruje diagram ER pomocou zápisu UML.
Prečo používať model ER?
Teraz si možno myslíte, prečo používať modelovanie ER, keď môžeme jednoducho vytvoriť databázu a všetky jej objekty bez modelovania ER? Jednou z výziev, ktorým čelia pri navrhovaní databázy, je skutočnosť, že dizajnéri, vývojári a koncoví používatelia majú tendenciu pozerať sa na dáta a ich využitie odlišne. Ak táto situácia nebude ponechaná bez kontroly, môžeme skončiť s výrobou databázového systému, ktorý nespĺňa požiadavky používateľov.
Komunikačné nástroje, ktorým rozumejú všetky zainteresované strany (technickí aj netechnickí používatelia), sú rozhodujúce pri výrobe databázových systémov, ktoré zodpovedajú požiadavkám používateľov. Príkladmi takýchto nástrojov sú modely ER.
Schémy ER tiež zvyšujú produktivitu používateľov, pretože sa dajú ľahko preložiť do relačných tabuliek.
Prípadová štúdia: Schéma ER pre videotéku „MyFlix“
Poďme teraz pracovať s databázovým systémom MyFlix Video Library, aby sme pochopili koncept ER diagramov. Túto databázu budeme ďalej používať v zostávajúcej časti tohto tutoriálu
MyFlix je podnikateľský subjekt, ktorý svojim členom prenajíma filmy. MyFlix svoje záznamy ukladal manuálne. Vedenie chce teraz prejsť na systém DBMS
Pozrime sa na kroky na vývoj diagramu EER pre túto databázu
- Identifikujte entity a určte vzťahy, ktoré medzi nimi existujú.
- Každá entita, atribút a vzťah by mali mať príslušné názvy, ktoré ľahko pochopia aj technici.
- Vzťahy by nemali byť priamo spojené. Vzťahy by mali spájať entity.
- Každý atribút v danej entite by mal mať jedinečný názov.
Subjekty v knižnici „MyFlix“
Subjekty, ktoré sa majú zahrnúť do nášho diagramu ER, sú;
- Členovia - tento subjekt bude uchovávať informácie o členoch.
- Filmy - táto entita bude uchovávať informácie týkajúce sa filmov
- Kategórie - táto entita bude obsahovať informácie, ktoré zaraďujú filmy do rôznych kategórií, ako napríklad „Dráma“, „Akcia“ a „Epos“ atď.
- Výpožičky filmov - tento subjekt bude uchovávať informácie o filmoch prenajatých členom.
- Platby - tento subjekt bude uchovávať informácie o platbách uskutočňovaných členmi.
Definovanie vzťahov medzi entitami
Členovia a filmy
Pokiaľ ide o interakcie medzi týmito dvoma entitami, platí nasledujúce.
- Člen si môže v danom období požičať viac ako jeden film.
- Film si v danom období môže požičať viac ako jeden člen.
Z vyššie uvedeného scenára vidíme, že povaha vzťahu je veľa k mnohým. Relačné databázy nepodporujú vzťahy medzi mnohými. Musíme predstaviť spojovaciu entitu . Toto je rola, ktorú hrá entita MovieRentals. Má vzťah typu jedna s mnohými k tabuľke členov a ďalší vzťah typu jedna k mnohým s tabuľkou filmov.
Subjekty filmov a kategórií
O filmoch a kategóriách platí toto.
- Film môže patriť iba do jednej kategórie, ale kategória môže obsahovať viac ako jeden film.
Z toho môžeme odvodiť, že povaha vzťahu medzi kategóriami a tabuľkou filmov je jedna k mnohým.
Členovia a platobné subjekty
O členoch a platbách platí toto
- Člen môže mať iba jeden účet, ale môže uskutočňovať niekoľko platieb.
Z toho môžeme odvodiť, že povaha vzťahu medzi členmi a platobnými subjektmi je jedna k mnohým.
Teraz umožníme vytvoriť EER model pomocou MySQL Workbench
Na pracovnom stole MySQL kliknite na tlačidlo - „+“
Dvojitým kliknutím na tlačidlo Pridať diagram otvoríte pracovný priestor pre diagramy ER.
Zobrazí sa nasledujúce okno
Pozrime sa na dva objekty, s ktorými budeme pracovať.
Objekt tabuľky nám umožňuje vytvárať entity a definovať atribúty spojené s konkrétnou entitou.
Tlačidlo vzťahu miesta nám umožňuje definovať vzťahy medzi entitami.
Subjekt člena bude mať nasledujúce atribúty
- Členské číslo
- Celé mená
- rod
- Dátum narodenia
- Fyzická adresa
- Poštová adresa
Poďme teraz vytvoriť tabuľku členov
1. Presuňte objekt tabuľky z panela nástrojov
2. Presuňte ju do oblasti pracovného priestoru. Zobrazí sa entita s názvom tabuľka 1
3. Dvakrát kliknite na ňu. Zobrazí sa okno vlastností zobrazené nižšie
Ďalšie ,
- Zmeňte tabuľku 1 na Členovia
- Upravte predvolený idtable1 na číslo_členstva
- Kliknutím na nasledujúci riadok pridáte ďalšie pole
- To isté urobte pre všetky atribúty identifikované v entite členov.
Okno s vlastnosťami by teraz malo vyzerať takto.
Vyššie uvedené kroky zopakujte pre všetky identifikované entity.
Pracovný priestor vášho diagramu by mal teraz vyzerať ako ten, ktorý je uvedený nižšie.
Vytvorme vzťah medzi členmi a výpožičkami filmov
- Vyberte vzťah k miestu aj pomocou existujúcich stĺpcov
- V tabuľke Členovia kliknite na číslo_členstva
- Kliknite na referenčné číslo v tabuľke MovieRentals
Vyššie uvedené kroky opakujte pre ďalšie vzťahy. Váš ER diagram by mal teraz vyzerať takto -
Zhrnutie
- Plnou formou ER sú diagramy entít a vzťahov. Zohrávajú veľmi dôležitú úlohu v procese navrhovania databázy. Slúžia ako netechnický komunikačný nástroj pre technických a netechnických ľudí.
- Subjekty predstavujú veci zo skutočného sveta; môžu byť koncepčné ako zákazka odberateľa alebo fyzické ako zákazník.
- Všetky entity musia mať jedinečné názvy.
- Modely ER tiež umožňujú návrhárom databáz identifikovať a definovať vzťahy, ktoré existujú medzi entitami.
Celý model ER je uvedený nižšie. Môžete ich jednoducho importovať do MySQL Workbench
Kliknutím sem stiahnete model ER