用Powerdesigner的PDM生成資料庫及逆向生成

qqmengxue發表於2010-08-23

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

[@more@]1.確認當前Powerdesigner設定的dbms是否正確,即是否是我們要生成的資料庫型別,我在這裡使用的是sqlserver2000:
Powerdesigner->資料庫->更改當前dbms,選擇您的資料庫型別。

2.配置Powerdesigner與資料來源的連線
Powerdesigner->資料庫->配置連線->使用者dsn(或系統dsn)->選擇、新增您的資料來源
3.連線
Powerdesigner->資料庫->連線->設定好您剛才建立的dsn確定。
OK,設定好連線後我們就可以將pdm生成sql語句了。
4.資料庫生成
Powerdesigner->資料庫->生成資料庫->配置好(預設就可以)後選擇確定就好了。
拿到sql指令碼語句,大家都知道應當如何做了吧,放到sql查詢分析器裡執行吧。

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----&gtnew------&gtphysical 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---&gtReverse Engineer Database,選擇Using files。


3、 看到由指令碼自動生成相關的PDM如下所示:

四,生成模型後要匯出資料庫建庫指令碼

導好的模型,當然是用來修改和匯出建庫指令碼的,操作方法如下

1,選擇database---&gtgenerate database彈出如下視窗

在使用者的none中選擇資料庫使用者,同時可選要匯出的表,最後點選確定,如果不能正常生成指令碼提示模型錯誤,則在上圖中的options中將check modle 的選項去掉,點選確定,生成sql指令碼,

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

如何用Powerdesigner的PDM生成資料庫及逆向生成

http://blog.csai.cn/user2/51269/archives/2009/40912.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10130206/viewspace-1037254/,如需轉載,請註明出處,否則將追究法律責任。

相關文章