Powerdesigner逆向工程從現有數據庫生成PDM

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

優點:

 

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

 

缺點:

 

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

 

前提:

 

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。下爲腳本實例:

/*==============================================================*/

/* Database name: PhysicalDataModel_1 */

/* DBMS name: ORACLE Version 9i */

/* Created on: 2003-07-13 10:49:08 */

/*==============================================================*/

/*==============================================================*/

/* Table: "class" */

/*==============================================================*/

create table "class" (

"classID" NUMBER(2) not null,

"className" VARCHAR2(24),

constraint PK_CLASS primary key ("classID")

)

/

/*==============================================================*/

/* Table: "student" */

/*==============================================================*/

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,將所有"替換爲空,就大功告成了!

(責任編輯:盧兆林)

發佈了26 篇原創文章 · 獲贊 6 · 訪問量 45萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章