PowerDesigner 反向工程,生成ER圖

在數據建模過程中,我們建立概念數據模型,通過正向工程生成物理數據模型,生成數據庫建庫腳本,最後將物理數據模型生成關係數據庫,現在反過來,通過逆向工程將關係數據庫,生成物理數據模型。
優點:

在丟失數據模型或者數據庫模型同現有的數據庫不一致,可以通過該方法生成使用中數據庫的模型

缺點:

還原回的模型中,可能會沒有中文註釋,沒有表外鍵對應關係(字段還有,索引關係沒了)

前提:

1,確認要生成模型的數據庫是最新的,並且可以使用

2,安裝Powerdesigner軟件

具體操作步驟:

一,建立ODBC數據源

1, 打開系統ODBC數據源,位置「控制面板--管理工具--數據源(ODBC)

2,選擇系統DSN,點擊添加按鈕,會彈出如下界面,選擇與數據庫相匹配的驅動程序

3,點擊完成,彈出數據源名稱(自定),和選擇你要連接的數據庫,如下圖所示

4,選擇確定後,該數據源建立成功,可以雙擊該數據源名稱進行連接測試,如下圖所示

5,至此數據源建立完成,當然這些也可以不用在這裏建立,在powerdesigner裏也可以建立,建立方法爲

選擇Database->configure connections,轉到system dsn標籤,點擊Add按鈕,選數據庫類型DB2,點擊完成。顯 示如下:輸入DataSource Name「PDMTest」;輸入ServerName「Database」, 配置完成。如下所示:


二,在Powerdesigner中逆向生成

1,打開Powerdesigner工具,創建一個PDM文件,選擇與之匹配的數據庫類型「ibm db2 udb 8.x common server」。創建方法爲:右鍵點擊左側面板中的WorkSpace---->new------>physical data nodel ,在DBMS中選擇你要的數據類型,選擇好後點擊確定,則新建立了一個工作空間。

2,選擇Database菜單下的Reverse Engineer Database,彈出Database Reverse Engineering對話框,選Using an ODBC data source選ODBC數據源「s2ms」,如下圖所示:


3,點擊確定後,顯示此數據庫中所有表、視圖、用戶(這個選擇一下該數據庫的用戶)。根據需要選擇後,轉換成pdm。圖示如下


4,選擇好後,點擊OK,則生成模型。


三,利用腳本生成模型

如果你不光有個正在使有的數據庫,你還有一下建立庫的腳本,那你發財了!因爲用.sql的腳本生成的模型,就不存在用數據庫生成的缺點了,具體操作如下:


二、通過SQL腳本逆向工程生成PDM

1、數據庫SQL腳本文件crebas.sql。下爲腳本實例:

create table "class" (
"classID" NUMBER(2) not null,
"className" VARCHAR2(24),
constraint PK_CLASS primary key ("classID")
)
/

create table "student" (
"studentID" NUMBER(10) not null,
"studentName" VARCHAR2(4),
"classID" NUMBER(2),
constraint PK_STUDENT primary key ("studentID")
)
/
alter table "student"
add constraint FK_STUDENT_REFERENCE_CLASS foreign key ("classID")
references "class" ("classID")
/

2、還是創建一個pdm,選擇Database--->Reverse Engineer Database,選擇Using script files。


3、 看到由腳本自動生成相關的PDM如下所示:


四,生成模型後要導出數據庫建庫腳本

導好的模型,當然是用來修改和導出建庫腳本的,操作方法如下

1,選擇database--->generate database彈出如下窗口


在用戶的none中選擇數據庫用戶,同時可選要導出的表,最後點擊確定,如果不能正常生成腳本提示模型錯誤,則在上圖中的options中將check modle 的選項去掉,點擊確定,生成sql腳本,

這時生成的腳本不要着急去用,因爲可能是有問題,用記事本或其它工具打開這個腳本,你會發現在所屬名上也就是s2ms上都會加上""號,用Ctrl+H,將所有"替換爲空,就大功告成了!

2、通過sql腳本導入反向生成ER圖

原文地址:http://hi.baidu.com/china8jie/blog/item/fbd7d75cb583b447faf2c0da.html

想起來Sybase 的Power designer, 反向工程生成ER圖, 這樣看的就清楚了.

記錄一下:
1. In PowerDesigner, chooseFile | Reverse Engineer | Database....
The New Physical Data Model Dialog box, shown next, appears.
DBMS要選成Oracle 10G, 然後點"OK"

PowerDesigner<wbr>反向工程,生成ER圖

2.在出來的database reverse engineering窗口裏, 點上"Using script files", 再點那個"新建"的圖標, 會出來個選擇文件的對話框,選擇script file的位置.
then press "OK".
PowerDesigner<wbr>反向工程,生成ER圖
3. 就生成了ER diagram.