PowerDesigner反向匯入表+PowerDesigner的ER圖設計+PowerDesigner連線外來鍵的線(版本16.5)

2023-07-05 15:01:22

使用PowerDesigner匯入表+PowerDesigner畫ER圖+PowerDesigner設定外來鍵

ps:

①ER圖:就是PD中的 Physical Diagram


一、匯入表,並設定備註為PD中的顯示名稱

1、新建資料庫模型

2、匯入表——見參考

  • 最好每張表都把生成主鍵的名字修改了,不然會產生錯誤的欄位
-- 建表語句1_未修改前的
CREATE TABLE "TABLE_1"
(
"COLUMN_11" CHAR(10),
"ID" CHAR(32) NOT NULL,
"AGE" NUMBER(22,6),
"C_2222" CHAR(10),
UNIQUE("AGE"),
NOT CLUSTER PRIMARY KEY("ID")
) STORAGE(ON "MAIN", CLUSTERBTR) ;

COMMENT ON COLUMN "TABLE_1"."AGE" IS 'CS_AA';
COMMENT ON COLUMN "TABLE_1"."COLUMN_11" IS 'CS_11';
COMMENT ON COLUMN "TABLE_1"."C_2222" IS 'CS_';
COMMENT ON COLUMN "TABLE_1"."ID" IS 'CS_DD';

-- 建表語句2_修改之後的
-- 主鍵的名字規則:PK_表名
CREATE TABLE "TABLE_1"
(
"COLUMN_11" CHAR(10),
"ID" CHAR(32) NOT NULL,
"AGE" NUMBER(22,6),
"C_2222" CHAR(10),
UNIQUE("AGE"),
constraint PK_CS1 PRIMARY KEY("ID")
) STORAGE(ON "MAIN", CLUSTERBTR) ;

COMMENT ON COLUMN "TABLE_1"."AGE" IS 'CS_AA';
COMMENT ON COLUMN "TABLE_1"."COLUMN_11" IS 'CS_11';
COMMENT ON COLUMN "TABLE_1"."C_2222" IS 'CS_';
COMMENT ON COLUMN "TABLE_1"."ID" IS 'CS_DD';

修改詳情:

  • 指令碼
    • 使用欄位備註當做pd中的顯示名的指令碼
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

Private sub ProcessFolder(folder)

On Error Resume Next

Dim Tab 'running table

for each Tab in folder.tables

if not tab.isShortcut then

tab.name = tab.comment

Dim col ' running column

for each col in tab.columns

if col.comment="" then

else

col.name= col.comment

end if

next

end if

next

Dim view 'running view

for each view in folder.Views

if not view.isShortcut then

view.name = view.comment

end if

next

' go into the sub-packages

Dim f ' running folder

For Each f In folder.Packages

if not f.IsShortcut then

ProcessFolder f

end if

Next

end sub

二、畫圖

1、參考——規範:

設計規範——有需要的私我。或者評論

2、新建ER圖

3、連線有外來鍵關係的兩張表(同一張表出現在不同的ER圖中的情況

①工具列中的這個圖示,可以把拖入ER圖的有外來鍵關聯的表連線起來

——這個功能適用於,同一張表出現在不同的ER圖中。

撥出介面:

②其他工具列:

4、繪製外來鍵的線

參考:https://www.somode.com/jiaocheng/36995.html

4.1、開啟面板

  • 找到 References

4.2、外來鍵設定

①、如Table_2(從表) 中的 TABLE_IDTABLE_1(主表) 的 ID 的外來鍵。

②、雙擊連線,設定如下:

  • 設定外來鍵名字

  • 設定是否在生成sql的時候生成外來鍵。(不生成表示:只有ER圖展示,sql中不會有)

  • 設定欄位:選擇子表、父表的欄位

  • 驗證

見①。子表的外來鍵欄位出現 <FK> 就是對的

4.3、顯示外來鍵線上的名字

參考:https://www.cnblogs.com/EasonJim/p/4715282.html

①結果

②操作


5、格式設定

5.1、把table1的格式弄到table2上。

5.2、給外來鍵的線賦予格式

5.3、獲取格式、應用格式

①結果:

②操作步奏:

1)表:

2)線: