使用Powerdesigner的逆向工程生成PDM(主要是注释可以放进去)
生活随笔
收集整理的這篇文章主要介紹了
使用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標簽,?
點擊Add按鈕,選數據庫類型Oracle,點擊完成。顯示如下:輸入DataSource Name“PDMTest”;輸入ServerName“Database”, 配置完成。?
點擊“Test Connect”輸入ServerName“Database”,用戶名和密碼,若連接成功,顯示如下:?
以后每次連接,選擇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”?
點擊確定后,顯示此數據庫中所有表、視圖、用戶。根據需要選擇后,轉換成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如下所示:?
下面是表名的中文及字段的name和comment的替換問題?
PowerDesigner中name和comment互換?
PowerDesigner中逆向工程將數據庫中comment腳本賦值到PDM的name?
執行方法:Open PDM -- Tools -- Execute Commands -- Run Script?
Vb script代碼?
Option Explicit???
ValidationMode = True???
InteractiveMode = im_Batch???
??
Dim mdl 'the current model???
??
'get the current active model???
Set mdl = ActiveModel???
If (mdl Is Nothing) Then???
MsgBox "There is no current Model"??
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then???
MsgBox "The current model is not an Physical Data model."??
Else???
ProcessFolder mdl???
End If???
??
'This routine copy name into code for each table, each column and each view???
'of the current folder???
Private sub ProcessFolder(folder)???
??
Dim Tab 'running table???
for each Tab in folder.tables???
if not tab.isShortcut then???
if len(tab.comment) <> 0 then???
tab.name = tab.comment???
end if???
On Error Resume Next???
Dim col 'running column???
for each col in tab.columns???
if len(col.comment) <>0 then???
col.name =col.comment???
end if???
On Error Resume Next???
next???
end if???
next???
end sub ?
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標簽,?
點擊Add按鈕,選數據庫類型Oracle,點擊完成。顯示如下:輸入DataSource Name“PDMTest”;輸入ServerName“Database”, 配置完成。?
點擊“Test Connect”輸入ServerName“Database”,用戶名和密碼,若連接成功,顯示如下:?
以后每次連接,選擇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”?
點擊確定后,顯示此數據庫中所有表、視圖、用戶。根據需要選擇后,轉換成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如下所示:?
下面是表名的中文及字段的name和comment的替換問題?
PowerDesigner中name和comment互換?
PowerDesigner中逆向工程將數據庫中comment腳本賦值到PDM的name?
執行方法:Open PDM -- Tools -- Execute Commands -- Run Script?
Vb script代碼?
Option Explicit???
ValidationMode = True???
InteractiveMode = im_Batch???
??
Dim mdl 'the current model???
??
'get the current active model???
Set mdl = ActiveModel???
If (mdl Is Nothing) Then???
MsgBox "There is no current Model"??
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then???
MsgBox "The current model is not an Physical Data model."??
Else???
ProcessFolder mdl???
End If???
??
'This routine copy name into code for each table, each column and each view???
'of the current folder???
Private sub ProcessFolder(folder)???
??
Dim Tab 'running table???
for each Tab in folder.tables???
if not tab.isShortcut then???
if len(tab.comment) <> 0 then???
tab.name = tab.comment???
end if???
On Error Resume Next???
Dim col 'running column???
for each col in tab.columns???
if len(col.comment) <>0 then???
col.name =col.comment???
end if???
On Error Resume Next???
next???
end if???
next???
end sub ?
總結
以上是生活随笔為你收集整理的使用Powerdesigner的逆向工程生成PDM(主要是注释可以放进去)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringContextUtil
- 下一篇: 更改eclipse tomcat jvm