Co je datové modelování?
Datové modelování je proces vytváření diagramu (tj. ERD) vztahů mezi různými typy informací, které mají být uloženy v databázi, který nám pomáhá systematicky přemýšlet o klíčových datových bodech, které mají být uloženy a vyhledávány, a o tom, jak by měly být seskupeny a propojeny, je to, co
Datový model popisuje informace systematickým způsobem, který umožňuje jejich efektivní ukládání a vyhledávání v relačním databázovém systému, což si lze představit jako způsob převodu logiky přesného popisu věcí v reálném světě a vztahů mezi nimi do pravidel, která lze dodržovat a vynucovat počítačovým kódem. Jedním z cílů datového modelování je vytvořit co nejefektivnější způsob ukládání informací a zároveň zajistit úplný přístup a podávání zpráv.
Diagram vztahů entit pro datové modelování
Diagram vztahů entit (ERD), původně navržený Peterem Chenem v roce 1976, je vizuální reprezentace datového modelování pomocí symbolů a notace, která popisuje, jak spolu tato data souvisejí. Mohou jej přímo používat vývojáři databází jako plán pro implementaci dat v konkrétních softwarových aplikacích. Pomocí diagramu ER lze charakterizovat jakýkoli objekt, například entity, atributy entity, množiny vztahů a další atributy vztahů.
Diagram ERD umožňuje čtenářům efektivně pochopit vztahy mezi různými poli. Symboly se využívají k efektivnímu znázornění informací a pomáhají také pochopit fungování databáze. ER diagramy představují velmi užitečnou techniku modelování dat, která zahrnuje:
- ER diagramy jsou snadno pochopitelné a nevyžadují rozsáhlé školení, aby s nimi člověk dokázal efektivně a přesně pracovat. To znamená, že návrháři mohou pomocí ER diagramů snadno komunikovat s vývojáři, zákazníky a koncovými uživateli bez ohledu na jejich znalosti IT.
- ER diagramy jsou snadno převoditelné do relačních tabulek, které lze použít k rychlému vytvoření databází.
- Diagramy ER lze použít i v jiných souvislostech, například při popisu různých vztahů a operací v organizaci.
Prvky ERD
Modelování ER je struktura návrhu databáze shora dolů, která začíná identifikací důležitých dat nazývaných entity a vztahy v kombinaci s daty, která musí být v modelu charakterizována. Poté mohou návrháři databázového modelu přidat další podrobnosti, například informace, které chtějí o entitách a vztazích uchovávat, což jsou atributy, a případná omezení entit, vztahů a atributů. Modelování ER je důležitá technika, kterou musí zvládnout každý návrhář databáze, a tvoří základ metodiky.
Typ entit: Je to skupina objektů se stejnými vlastnostmi, které podnik identifikuje jako objekty s nezávislou existencí. Základním pojmem modelu ER je typ entity, který se používá k reprezentaci skupiny „objektů“ v „reálném světě“ se stejnými vlastnostmi. Typ entity má v rámci databáze nezávislou existenci.
Atributy jsou vlastnosti entit, které jsou reprezentovány pomocí elipsovitých obrazců. Každá elipsovitá figura představuje jeden atribut a je přímo spojena se svou entitou (která je reprezentována jako obdélník).
Typ vztahu je soubor asociací mezi jedním nebo více zúčastněnými typy entit. Každému typu vztahu je přiřazen název, který popisuje jeho funkci. Existují čtyři typy vztahů. Jsou to:
- Vztah jeden k jednomu: Pokud je se vztahem spojena pouze jedna instance entity, označuje se jako „1:1“.
- One-to-many: Když je se vztahem spojena více než jedna instance entity, označuje se jako „1:N“.
- Many-to-one:
- Many-to-many: Když je více než jedna instance entity spojena se vztahem, označuje se jako „N:1“.
- Many-to-many: Když se vztahem může být spojena více než jedna instance entity na levé straně a více než jedna instance entity na pravé straně, pak se označuje jako vztah „N:N“.
Několik příkladů:
Jedna k jedné
Jedna k mnoha
Mnoho na mnoho
Jeden na nulu nebo mnoho
Datové modely: Konceptuální / logický a fyzický návrh
ModelováníER rozeznává tři různé úrovně abstrakce, na kterých se modely vyvíjejí. Jedná se o tři úrovně datového modelování, konceptuální datový model, logický datový model a fyzický datový model.
Konceptuální, logický a fyzický model neboli ERD jsou tři různé způsoby modelování dat v doméně. Všechny sice obsahují entity a vztahy, ale liší se účelem, pro který jsou vytvářeny, a publikem, kterému jsou určeny. Obecné chápání těchto tří modelů je takové, že obchodní analytik používá konceptuální a logický model pro modelování dat požadovaných a vytvářených systémem z obchodního hlediska, zatímco databázový designér zpřesňuje počáteční návrh a vytváří fyzický model pro prezentaci fyzické struktury databáze připravené pro konstrukci databáze.
Podíváme se na srovnání těchto tří typů datových modelů. V následující tabulce jsou porovnány jednotlivé vlastnosti:
Konceptuální: Konceptuální model by měl být zaměřen na věci související s podnikáním a jeho požadavky. Shromažďuje se z obchodních požadavků. Entity a vztahy modelované v takovém ERD jsou definovány kolem potřeb podniku. Potřeba uspokojení návrhu databáze se zatím nezohledňuje. Konceptuální ERD je nejjednodušší model ze všech.
Logický: Logický model by měl být zaměřen na návrh dat o těchto věcech, ale bez odkazu na konkrétní fyzickou realizaci. Je složitější než konceptuální model v tom, že jsou stanoveny typy sloupců. Všimněte si, že nastavení typů sloupců je nepovinné, a pokud tak činíte, měli byste tak činit na podporu obchodní analýzy. S vytvářením databáze to zatím nemá nic společného.
Fyzický: Fyzický model by měl být zaměřen na to, jak mají být logická data reprezentována a uložena v konkrétní fyzické databázi. Představuje skutečný návrhový plán relační databáze. Představuje, jak by měla být data strukturována a propojena v konkrétním DBMS, proto je důležité při návrhu fyzického ERD zohlednit konvence a omezení používaného DBMS. To znamená, že u sloupců entit je třeba přesně používat datový typ a při pojmenovávání entit a sloupců se vyhnout používání vyhrazených slov. Kromě toho mohou návrháři databází do návrhu přidávat také primární klíče, cizí klíče a omezení.
Příklad – Zápis studentů
Všeobecný výklad k těmto třem datovým modelům je takový, že obchodní analytik používá konceptuální a logický model k modelování obchodních objektů existujících v systému, zatímco návrhář databáze nebo databázový inženýr rozpracovává konceptuální a logický model ER k vytvoření fyzického modelu, který představuje fyzickou strukturu databáze připravenou k vytvoření databáze. Zde je další příklad pro ilustraci 3 různých úrovní datového modelu.
Konceptuální datový model
Logický datový model
Fyzický datový model
Comparing Conceptual / Logical and Physical ER Model
While all the three levels of an ER model contain entities with attributes and relationships, they differ in the purposes they are created for and the audiences they are meant to target. The table below shows the difference between the three data models.
ERD features | Conceptual | Logical | Physical |
Entity (Name) | Yes | Yes | Yes |
Relationship | Yes | Yes | Yes |
Columns | Yes | Yes | |
Column’s Types | Optional | Yes | |
Primary Key | Yes | ||
Foreign Key | Yes |