|
DM /
Power Designer – Jak vygenerovat fyzický model a co v něm udělat dalšího
Jestliže jsme navrhli konceptuální model, můžeme Power Designer požádat o vygenerování fyzického modelu volbou v menu Tools, Generate Physical Data Model. Dostaneme dialog, který nám nabídne možnost vygenerovat zcela nový fyzický model nebo změnit nějaký fyzický model již dříve vygenerovaný. Pokud jde o volbu zcela nového fyzického modelu, musíme vybrat, pro jaký cílový DBMS bude model vygenerován (pokud volbu DBMS chceme odložit, můžeme vybrat neutrální <Logical Model> ): Vepište Name a Code nového modelu, abyste se v tom později vyznali: Tlačítko Configure Model Options zavolá dialog, kde můžeme nastvit různá pokročilá nastvení. Za povšimnutí stojí možnost nastavit defaultní generování Code například na Uppercase, a tím se zbavíme potíží s nutností psát v SQL příkazech názvy objektů v uvozovkách – to se nastaví: (Po eventuálním návratu do dialogu PDM model options nakonec potvrdíme svůj požadavek tlačítem OK.) Může se stát toto, když byla v konceptuálním modelu nějaká chyba: Kde ta chyba je, se dozvíte z Result List (červená kruhová ikonka s přešktnutím znamená chybu, žlutá trojúhelníkovitá ikonka s vykřičníkem znamená varování). Možných chyb je příliš mnoho na to, aby byly zde všechny vyjmenovány a vysvětleny, musíte v Result List přečíst všechny související informace, a zjistit, o co jde. Když odstraníte chyby v CDM, požádejte o generování fyzického modelu znovu (nezapomeňte na případnou volbu Uppercase pro Code): Výsledný Result List neobsahující žádné chyby může vypadat takto: A konečně dostáváte fyzický model. Co je nutno upravit ve fyzickém modeluVe fyzickém modelu máte základní objekty: tabulky a šipky představující reference cizích klíčů (ty vznikly ze vztahů nebo z asociací nebo z dědičnosti v CDM). Některé "nové" vygenerované sloupce s cizími klíči bude vhodné přejmenovat (Columns v dialogu vlastností objektu tabulky), aby bylo databázové schéma pokud možno srozumitelné: Teprve zde ve fyzickém modelu je možno rozhodnout u vztahů referenčních integrit o variantě Restrict, Set Null nebo Cascade (někdy některá z nich není dosupná, v závislosti na ostatních okolnostech). Poklepáním na šipku představující vztah referenční integrity upravujeme její vlastnosti: Generuje PD tvrdošíjně chybný fyzický model?Může se stát, že jste v CDM měli nějaké závažné chyby, které však nezabránily vygenerování fyzického modelu. I když tyto chyby v CDM opravíte, někdy PD generuje opakovaně nesprávný fyzický model (pamatuje si "požadavky" z minula). Pak nezbývá než začit nový konceptuální model, do něj zkopírovat vše z vašeho opraveného konceptuálního modelu, starý zahodit, a pokračovat s tímto novým modelem. Další objekty v PDMV paletě máte nástroje na vytvoření dalších objektů fyzického modelu. Speciálně view a novou referenci . ViewKdyž chceme definovat view, umístíme někam nový objekt view , a musíme
Výsledek pak může vypadat takto: Ruční vytvoření cizího klíčePro zajištění zvláštních integritních omezení se někdy dá využít konstrukce cizího klíče, jako například pro zajištění konzistence atributu v nadtypu definujícího podtyp a umístění příslušného řádku v tabulce správného podtypu. Jiný příklad může být požadavek, aby vedoucí oddělení byl zařazen na toto oddělení jako na pracoviště. Konceptuální model: Vygenerovaný fyzický model se základními úpravami: Definujeme další omezení cizího klíče: zvolíme a táhneme od oddělení k "pracuje v". Vznikne nová šipka, na kterou poklepeme, a nastavíme: Pro kontrolu se na kartě Preview můžete podívat na odpovídající SQL kód:
Jak získáme SQL kód z fyzického modeluVšechny objekty ve fyzickém modelu (s výjikou modelu generovaného pouze jako <Logical Model>) mají k nim příslušnou část SQL definice vidět na kartě Preview v dialogu vlastností objektu. Pokud chceme získat SQL kód definice všech objektů z modelu, volíme v menu Database - Generate Database. Dostaneme dialog, kde můžeme event. zvolit různá nastavení, a necháme si vytvořit textový soubor s SQL skriptem definice databáze. Můžete pak celý kód nebo jeho části zadávat databázovému systému v nějakém nástroji, který k tomu máte k dispozici (na VŠE např. SQL Worksheet, nebo SQL Developer). Dokud nemáte databázový návrh odladěný, nedoporučuji nechat proběhnout celý SQL skript najednou. Špatně se kontroluje, jak úspěšně jednotlivé příkazy proběhly, a kde se stala eventuální chyba. Lépe je zadávat jednotlivé příkazy postupně, a sledovat výsledek. |