Poslední úpravy - Vyhledat:

SQL

O modelování

Power Designer

Oracle Data Modeler

Krátká videa DM

Zdroje...

edit SideBar

DM /

Power Designer – Co udìlat s dìdièností

Jak udìlat dìdiènost

Máte entitní typ a nìjaké speciální podtypy tohoto entitního typu:


Proè je zde kód slu¾by souèástí primární identifikace, je odhaleno ní¾e.

Pro vyznaèení skuteènosti, ¾e jde o podtypy, pou¾ijeme nástroj Inheritance z palety:

Tímto nástrojem táhneme my¹í od podtypu k nadtypu,

v modelu se objeví tyto symboly:

Od dal¹ích podtypù táhneme nástrojem Inheritance ne ji¾ k nadtypu, ale k symbolu "kopeèku" v modelu.

Symbol "kopeèku" je uzel, který lze posouvat; pøedstavuje objekt pro nastavení vlastností dìdiènosti:

Poklepáním na objekt "kopeèku" dostaneme jeho dialog Properties. V nìm slou¾í Name, Code a Comment stejnì jako u v¹ech objektù v PD. Za¹krtnutí Mutually exclusive children a Complete znázorní tyto volby obrázky v symbolu "kopeèku" v modelu, nicménì Power Designer pro tyto volby do fyzického modelu nic nevygeneruje. Triky, kterými mù¾ete eventuelnì zajistit odpovídající omezení pro databázi, jsou popsány ní¾e.

Varianty mapování

Na kartì Generation musíte rozhodnout, která z variant mapování dìdiènosti bude pou¾ita. V pøípadì, ¾e generujete rodièe i dìti, je nutno nále¾itì pøepnout Inherit only primary attributes:

Kyd¾ generujete pouze rodièe (celý pøíklad je zde):

Kdy¾ generujete pouze dìti:

– pro tuto hierarchii:

Jak zajistit vzájemnou výluènost èi úplnost èlenìní

Mo¾ná vás zarazilo, proè v pøíkladu vý¹e uvádìném má entita Sluzba jako primary identifier oznaèeny dva atributy, kód slu¾by a je¹tì typ slu¾by. Dùvodem je zámìr zajistit vzájemnou výluènost podtypù.

Prvním krokem je tento, tj zahrnutí atributu, odli¹ujícího o jaký podtyp se jedná, do primary identikikace nadtypu. Pro tento atribut zároveò vymezíme povolené hodnoty – v tomto pøíkladu je tím odli¹ujícím atributem typ slu¾by, a vymezíme pro nìj hodnoty o a d:

Dal¹í kroky se provedou a¾ ve vygenerovaném fyzickém modelu. V nìm ve sloupcích vzniklých v podtypech z toho odli¹ujícího atributu, zdìdìného z nadtypu v rámci primární identifikáce, zú¾íme vymezení hodnot na jedinou povolenou hodnotu, odpovídající tomu kterému podtypu:

Tím je celý trik dokonèen. Jeho úèinek je zaji¹tìn referenèní integritou slo¾ených cizích klíèù:

Slu¾ba, která je v tabulce OPERACE, nemù¾e být v tabulce ND a obrácenì. Navíc jsou tyto pøípady konzistentnì oznaèeny kódem podtypu v tabulce SLUZBA.

Tento trik je mo¾no pou¾ít i v pøípadì "absorpce" podtypù do tabulky nadtypu (kdy¾ se generuje pouze rodiè) - viz Výluènost pøi absorpci do nadtypu .

U rozdìlení do podtypù (kdy¾ se generují pouze dìti) je tento trik nepou¾itelný.

Pokud by ¹lo o úplnost èi neúplnost èlenìní, èásteèné opatøení mù¾eme provést u nadtypu vyjmenováním èi nevyjmenováním dal¹ích pøípustných hodnot do atributu odli¹ujícího jednotlivé podtypy. Podmínku, aby ka¾dá slu¾ba v nìjaké z podøízených tabulek skuteènì byla, na SQL úrovni jednodu¹e nazajistíme (odùvodnìní ponechávám bystrému ètenáøi).

< Identifikaèní závislost | Power Designer postupnì | Alternativní klíèe >

Upravit - Historie - Tisk - Poslední úpravy - Vyhledat
Poslední úprava stránky: 29.02.2012, 18:21