Poslední úpravy - Vyhledat:

SQL

O modelování

Power Designer

Oracle Data Modeler

Krátká videa DM

Zdroje...

edit SideBar

DM /

Entity

< Atributy entit a vztahù | Tutoriál informaèní analýzy | Dvoutváøné entity >

Entita nebo atribut?

Nìkdy bývá obtí¾né rozhodnout, zda nìjakou vìc modelovat jako entitu nebo atribut. Kdo je více orientován do objektového programování, má tendenci modelovat èastìji jako objektové typy – entity, kdo je více orientován databázovì, má opaènou tendenci. Pøíkladem mù¾e být "adresa" – modelovat ji jako slo¾ený atribut, èi jako samostanou entitu?
Vodítkem mù¾e být, zda o uva¾ované vìci mù¾eme sdìlit více, ne¾ jen uva¾ovaný obsah. Pokud nemù¾eme, jedná se o hodnotu. Hodnoty je lépe modelovat jako atributy. A co entity? Na entity se obvykle odkazujeme pomocí jejich identifiktorù, napøíklad "student Vonásek" nebo "zbo¾í B251" – v ¾ádném pøípadì se nepøedpokládá, ¾e identifikátorem vyjádøíme o entitì v¹e. Oproti tomu, pokud sdìlíme hodnotu (napøíklad "13 kg"), vyjáøili jsme v¹e.
Podle tohoto vodítka, adresu bychom ve vìt¹inì pøípadù modelovali jako atribut. Pokud by se v¹ak k adrese vázaly dal¹í informace, proto¾e by na té adrese bylo sídlo nìjaké èínnosti dùle¾ité v oblasti zájmu, mohli bychom ji modelovat jako entitu. Dost pravdìpodobnì bychom pro tuto entitu na¹li vhodnìj¹í název, napøíklad "sídlo", "poboèka", "dílna","sklad". Mo¾ná by taková entita mìla i jiný identifikátor, ne¾ jen adresu, napøíklad "poboèka Vojtì¹kova".

Slabé entitní typy

Pøi dekompozici problematiky nìkdy vytváøíme entitní typy, které samy o sobì nemají smysl, ale jsou souèástí celku daného souvislostí s nìjakým jiným entitním typem. Pøíkladem mohou být polo¾ky objednávky, které jistì mají smysl jen jako nále¾itosti k objednávce, nebo výpùjèky knihy, opìt mající smysl jen v souvislosti s tou knihou, její¾ výpùjèky to jsou. Lze si pøedstavit i jinou konceptualizaci, ve které takové entitní typy vùbec nebudeme vytváøet, ale "polo¾ky objednávky" èi "výpùjèky" jsou pojmy, které lidé v daných aplikaèních oblastech bì¾nì pou¾ívají a rozumìjí jim. Obsah tìchto pojmù sice vìt¹inou není vìt¹í ne¾ nìjaký souhrn dat a vztahù k jiným objektùm (polo¾ka objednávky kromì toho, ¾e je souèástí nìjaké objednávky, má vztah k nìjaké polo¾ce katalogu zbo¾í, výpùjèka kromì vypùjèené knihy i k výpùjèiteli...) ale právì tyto jiné vztahy posouvají pøedstavu takových slabých pojmù smìrem k chápání jich jako entity.
Takovýmto pøípadùm entitních typù se øíká slabé entitní typy. Poznáme je tak, ¾e z vlastních atributù tìchto entit nelze slo¾it jejich identifikátor, k identifikaci je potøeba znát je¹tì entitu nebo entity, se kterými jsou spojeny – napøíklad k identifikaci polo¾ky objednávky je potøeba znát, ke které objednávce patøí.
Vztah, který pro slabý entitní typ slou¾í k jeho identifikaci, je nositelem identifikaèní závislosti této slabé entity na té jiné entitì.

Pojmenování

Pro vyjádøení podstaty, pro pochopení a pro srozumitelnost modelu je dùle¾ité najít výsti¾né názvy entit. Nìkdy s tím jsou v¹ak problémy, napøíklad proto, ¾e zvolený název má jiný obecný význam, ne¾ v jakém je v modelu pou¾it. Pak je namístì doplnit vysvìtlující popis. Nìkdy dobøe poslou¾í, kdy¾ uvedeme nìkolik konkrétních pøíkladù. Pokud exitují zvlá¹tní pøípady, mezi pøíklady uvedeme i tyto zvlá¹tní pøípady.
Napøíklad jako "uèitel" na vysoké ¹kole mù¾e pracovat zamìstnanec ¹koly s pedagogickým úvazkem, externista èi hostující vyuèující. Mù¾e jít i o zamìstnance, který poskytuje ¹kole nìjaké provozní slu¾by a pøíle¾itostnì poskytuje ¹kolení v oboru tìchto slu¾eb.

Synonyma

Rùzní u¾ivatelé mohou pro stejný entitní typ pou¾ívat rùzné názvy. Napøíklad "uèitelùm" nìkteøí administrativní pracovníci vysoké ¹koly mohou øíkat "pedagogové". Analýza má podchytit, jak u¾ivatelé v dané oblasti zájmu entitám øíkají – pokud jim rùzní u¾ivatelé øíkají rùznì, je potøeba tuto skuteènost respektovat. Potom pro název nìjakého entitního typu máme synonyma. Je v¹ak tøeba dát pozor, aby se jednalo o skuteènì stejný význam, proto¾e èastìj¹í jsou pøípady, kdy jde sice o významy pøekrývající se, ale ne úplnì shodné. Zde je vidìt, jak dùle¾itá je definice pøipojená k názvu typu.

Nevhodná pojmenování

Pojmenování má vyjadøovat jaké objekty entita pøestavuje, a nikoli formu, jakou se o nich vedou záznamy. Vyhýbejte se nic- nebo málo-øíkajícím názvùm. Podezøelé jsou v¾dy názvy "polo¾ka", "øádek", "záznam", "zpráva", "výsledek"... Napøíklad "polo¾ka" mù¾e být "skladová polo¾ka", "polo¾ka objednávky", "polo¾ka menu". "Záznam" mù¾e být "záznam o kontrole", a entita, kterou takto nevhodnì nazýváme, je vlastnì "kontrola". Zde uvedený seznam rozhodnì nelze pova¾ovat za úplný výèet nevhodných názvù.

Dvoutváøné entity

Zvlá¹tní kapitolu vìnujeme otázce tzv. dvoutváøných entit (nazývám je tak podle Richarda Veryarda). Jde o pøípady, kdy je obtí¾né rozeznat, ¾e pod tímté¾ názvem se skrývají dva entitní typy, spojené specifickým vztahem.

< Atributy entit a vztahù | Tutoriál informaèní analýzy | Dvoutváøné entity >

Upravit - Historie - Tisk - Poslední úpravy - Vyhledat
Poslední úprava stránky: 01.06.2011, 08:05