天天看點

PowerDesigner逆向工程生成PDM模型及資料庫

在資料模組化過程中,我們建立概念資料模型,通過正向工程生成實體資料模型,生成資料庫建 庫腳本,最後将實體資料模型生成關系資料庫。系統資料庫設計人員希望能夠将資料庫設計和關系資料庫生成無縫地內建起來,如何保證實體資料模型與其對應資料 庫之間的雙向同步成為資料模組化非常關鍵的一點。

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已安裝完成。

一、 通過資料源連接配接資料庫逆向工程生成PDM

1、 配置使用者資料庫連接配接參數

選擇Database->configure connections,轉到system dsn标簽,

PowerDesigner逆向工程生成PDM模型及資料庫

點選Add按鈕,選資料庫類型Oracle,點選完成。顯示如下:輸入DataSource Name“PDMTest”;輸入ServerName“Database”, 配置完成。

PowerDesigner逆向工程生成PDM模型及資料庫

點選“Test Connect”輸入ServerName“Database”,使用者名和密碼,若連接配接成功,顯示如下:

PowerDesigner逆向工程生成PDM模型及資料庫

以後每次連接配接,選擇Database?connect,選擇odbc資料源,輸入ServerName“Database”,使用者名和密碼。若無提示,則說明連接配接成功。同時,可以通過Database?Connection Information 檢視連接配接資訊。

2、 設定逆向工程選項,生成pdm

建立一個PDM檔案,選擇與之比對的資料庫類型“oracle9i”。

選擇Database?Reverse Engineer Database,彈出Database Reverse Engineering對話框,選Using an ODBC data source選ODBC資料源“PDMTest”

PowerDesigner逆向工程生成PDM模型及資料庫

點選确定後,顯示此資料庫中所有表、視圖、使用者。根據需要選擇後,轉換成pdm。

PowerDesigner逆向工程生成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。

PowerDesigner逆向工程生成PDM模型及資料庫

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

PowerDesigner逆向工程生成PDM模型及資料庫

pdm做好後,最終是要将其轉化為資料庫實體的。

1.确認目前Powerdesigner設定的dbms是否正确,即是否是我們要生成的資料庫類型,我在這裡使用的是sqlserver2000:

Powerdesigner->資料庫->更改目前dbms,選擇您的資料庫類型。

PowerDesigner逆向工程生成PDM模型及資料庫

2.配置Powerdesigner與資料源的連接配接

Powerdesigner->資料庫->配置連接配接->使用者dsn(或系統dsn)->選擇、添加您的資料源

3.連接配接

Powerdesigner->資料庫->連接配接->設定好您剛才建立的dsn确定。

OK,設定好連接配接後我們就可以将pdm生成sql語句了。

4.資料庫生成

Powerdesigner->資料庫->生成資料庫->配置好(預設就可以)後選擇确定就好了。

拿到sql腳本語句,大家都知道應當如何做了吧,放到sql查詢分析器裡執行吧。