Power Designer是Sybase公司的CASE工具集,使用它可以方便地對(duì)
管理信息系統(tǒng)進(jìn)行分析設(shè)計(jì),它幾乎包括了
數(shù)據(jù)庫模型設(shè)計(jì)的全過程。利用Power Designer可以制作數(shù)據(jù)流程圖、概念數(shù)據(jù)模型、物理數(shù)據(jù)模型,可以生成多種客戶端
開發(fā)工具的應(yīng)用程序,還可為數(shù)據(jù)倉庫制作結(jié)構(gòu)模型,也能對(duì)團(tuán)隊(duì)設(shè)計(jì)模型進(jìn)行控制。
Power Designer的4種模型:概念數(shù)據(jù)模型 (CDM)物理數(shù)據(jù)模型 (PDM) 面向?qū)ο竽P?(OOM) 業(yè)務(wù)程序模型 (BPM) 我主要介紹一下PDM。
PDM 敘述數(shù)據(jù)庫的物理實(shí)現(xiàn),幫助你考慮真實(shí)的物理實(shí)現(xiàn)的細(xì)節(jié)。你能通過修正PDM來適合你的表現(xiàn)或物理約束。主要目的是把CDM中建立的現(xiàn)實(shí)世界模型生成特定的DBMS腳本,產(chǎn)生數(shù)據(jù)庫中保存信息的儲(chǔ)存結(jié)構(gòu),保證數(shù)據(jù)在數(shù)據(jù)庫中的完整性和一致性。
PDM是適合于系統(tǒng)設(shè)計(jì)階段的工具。簡單說:就是PDM可以自動(dòng)生成諸如'create table'之類的
sql腳本.在數(shù)據(jù)建模過程中,我們建立概念數(shù)據(jù)模型,通過正向工程生成物理數(shù)據(jù)模型,生成數(shù)據(jù)庫建庫腳本,最后將物理數(shù)據(jù)模型生成關(guān)系數(shù)據(jù)庫。
系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)人員希望能夠?qū)?shù)據(jù)庫設(shè)計(jì)和關(guān)系數(shù)據(jù)庫生成無縫地集成起來,如何保證物理數(shù)據(jù)模型與其對(duì)應(yīng)數(shù)據(jù)庫之間的雙向同步成為數(shù)據(jù)建模非常關(guān)鍵的一點(diǎn)。
Powerdesigner作為強(qiáng)大的Case工具,為我們提供了方便的逆向工程特性。可以將目前所有流行的后端數(shù)據(jù)庫(包括Sybase、DB2、
Oracle等)的結(jié)構(gòu)信息通過逆向工程加入到PowerDesigner的物理數(shù)據(jù)模型和概念數(shù)據(jù)模型中,包括表、索引、觸發(fā)器、視圖等。
下面說一下如何用PowerDesigner進(jìn)行逆向工程。
1.我用的數(shù)據(jù)庫是oracle9i,我為了訪問oracle數(shù)據(jù)庫,在我的機(jī)器上
安裝了oracle客戶端(提供了oracle客戶端的
驅(qū)動(dòng)程序,而精簡客戶端則不可以),配置一個(gè)名稱為mylcl的服務(wù):MYLCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.106)(PORT = 1521)) ) (CONNECT_DATA = (SID = pwsc) ) )用戶名為:testuser,密碼為test。
2.在pd中,新建一個(gè)pdm,選擇數(shù)據(jù)庫為oracle9i。
3.選擇Database->configure connections,轉(zhuǎn)到system dsn標(biāo)簽,點(diǎn)擊"添加",選擇驅(qū)動(dòng)程序,由于我的數(shù)據(jù)庫是oracle,所以我選擇"oracle in oraclient10g_home1"(安裝了oracle客戶端才有這個(gè)驅(qū)動(dòng),而精簡客戶端沒有此驅(qū)動(dòng))。
4.在
data source name 中,可以隨便命名一個(gè)"ora-test",在tns-server name中選擇第一步中的服務(wù)名稱:mylcl.點(diǎn)擊"test connection",輸入用戶名密碼,connection ok!
5.點(diǎn)擊database->reverse engineer database ,選擇odbc datasource:ora-test.然后點(diǎn)擊確定哈哈,看見什么了.我就不說了吧pdm的圖表如何?其實(shí)pd還可以通過sql來進(jìn)行反向工程,我就不說了特此存檔.同時(shí)也希望對(duì)大家有幫助。