使用Powerdesigner的逆向工程生成PD
使用Powerdesigner的逆向工程生成PD
在資料建模過程中,我們建立概念資料模型,通過正向工程生成物理資料模型,生成資料庫建庫指令碼,最後將物理資料模型生成關係資料庫。系統資料庫設計人員希望能夠將資料庫設計和關係資料庫生成無縫地整合起來,如何保證物理資料模型與其對應資料庫之間的雙向同步成為資料建模非常關鍵的一點。
Powerdesigner作為強大的Case工具,為我們提供了方便的逆向工程特性。可以將目前所有流行的後端資料庫(包括Sybase、DB2、Oracle等)的結構資訊通過逆向工程加入到PowerDesigner的物理資料模型和概念資料模型中,包括表、索引、觸發器、檢視等。
本文介紹的內容僅涉及PDM(物理資料模型)的逆向工程。
PDM中的逆向工程是指從現有DBMS的使用者資料庫或現有資料庫SQL指令碼中生成PDM的過程。逆向工程有兩種物件:1)通過ODBC資料來源連線資料庫 2) 現有資料庫sql指令碼。
本文示例的系統環境如下:
1、資料庫已建立完畢,訪問使用者和密碼設定完成。資料庫為Oracle9i。
2、 ODBC資料來源已由oracle 的Net Configuration Assistant 建立,本地網路命名服務“Database”。
3、 sql指令碼示例crebas.sql。
4、 Powerdesigner9.5已安裝完成。一、
1、配置使用者資料庫連線引數
選擇Database->configure connections,轉到system dsn標籤,
點選Add按鈕,選資料庫型別Oracle,點選完成。顯示如下:輸入DataSource Name“PDMTest”;輸入ServerName“Database”,配置完成。
點選“Test Connect”輸入ServerName“Database”,使用者名稱和密碼,若連線成功,顯示如下:
以後每次連線,選擇Database?connect,選擇odbc資料來源,輸入ServerName“Database
2、設定逆向工程選項,生成pdm
建立一個PDM檔案,選擇與之匹配的資料庫型別“oracle9i”。
選擇Database?Reverse Engineer Database,彈出Database Reverse Engineering對話方塊,選Using an ODBC data source選ODBC資料來源“PDMTest”
點選確定後,顯示此資料庫中所有表、檢視、使用者。根據需要選擇後,轉換成pdm。
3、檢視資料
對於生成好的PDM,選擇一個表圖形符號,點選右鍵,選擇View Data,就可以訪問表中的資料了。
二、通過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如下所示: