一. PDM 介紹
實體資料模型(Physical Data Model)PDM,提供了系統初始設計所需要的基礎元素,以及相關元素之間的關系;資料庫的實體設計階段必須在此基礎上進行詳細的背景設計,包括資料庫的存儲過程、操作、觸發、視圖和索引表等;
PowerDesigner能夠用于建立多種不同類型的DBMS(資料庫管理系統),每種類型的DBMS都包含一個标準定義的檔案用于在PD和DBMS中确定彼此的關聯而提供一套接口;建立不同的DBMS可以生成不同的資料庫腳本。
實體資料模型(PDM)的主要功能:
1、可以将資料庫的實體設計結果從一種資料庫移植到另一種資料庫;
2、可以通過反向工程将已經存在的資料庫實體結構重新生成實體模型或概念模型;
3、可以定制生成标準的模型報告;
4、可以轉換為OOM;
5、完成多種資料庫的詳細實體設計(涵蓋常用的各種資料庫的DBMS),并生成資料庫對象的.sql腳本;
1.1 PDM中的基本概念:
1) 表
2) 列
3) 視圖
4) 主鍵
5) 候選鍵
6) 外鍵
7) 存儲過程
8) 觸發器
9) 索引
10)完整性檢查限制
1.2 建立PDM對象:
1) 建立表
2) 建立列
3) 建立建立域
4) 建立視圖
5) 建立主鍵
6) 建立候選鍵
7) 建立外鍵
8) 建立索引
9) 建立完整性檢查限制
10)建立存儲過程
11)建立觸發器
1.3 管理PDM對象:
1) 建立使用者
2) 設定表的使用者
3) 設定表的實體屬性
1.4 檢查PDM:
1) 檢查選項設定
(1)Package(包)
(2)Table(表)
(3)Column(列)
(4)Index(索引)
(5)Key(鍵)
(6)Domain(域)
(7)View(視圖)
(8)Reference(參照)
(9)Trigger(觸發器)
(10) Procedure(存儲過程)
(11) User(使用者)
(12) File(檔案)
2)更正錯誤/警告
1.5 觸發器和存儲過程/函數:
1)建立觸發器
設定觸發器類型(Insert、Update、Delete)
2)建立存儲過程/函數
1.6 生成資料庫
1)選擇Database→GenerateDatabase菜單項
2)選項設定
(1)資料庫
(2)使用者
(3)域
(4)表和列
主鍵、候選鍵
外鍵
索引
觸發器
(5)存儲過程
3)格式設定
4)選擇對象
(1)檢視包
(2)全選/全部取消選擇
(3)使用圖中選中的對象
1.7 建立PDM:
1)建立PDM
(1)選擇File→New Model菜單項
(2)在左側模型類型清單中選擇Physical Data Model
(3)在右側輸入模型名稱、在DBMS下拉清單中選擇DBMS類型、在First diagram下拉清單中選擇Physical Diagram
2)正向工程:從CDM/LDM生成PDM
3)逆向工程:從現有DB 逆向生成PDM
正向工程和逆向工程生成PDM會單獨整理成一片文章,這篇不做說明。
1.8 PDM 生成腳本:
PDM我們最終是需要導入我們的資料庫中去。 PDM 可以生成不同資料庫對應的sql語句,或者直接講腳本部署到資料庫中,這個在generate database 的時候可以進行選擇。
一般是先生成sql 腳本,然後到資料庫裡執行sql腳本。
二. PDM 使用示例
2.1 建立新的PDM
2.2 設定PDM的顯示參數
Tools --> Display Preferences
2.3 設定PDM的模型屬性(一般在釋出資源或者送出設計的時候需要設定)
Model –> Model Properties
2.4 設定PDM模型選項
Tools--> Model Options
2.5 建立表
使用PD 的工具面闆,選中表後,在工作區建立一個表,右擊釋放表,在輕按兩下表,進行編輯工作。
2.6 表列以及其設定
2.7 詳情設定
2.8 标準檢查限制
2.9 完成了一個表的設計
建立參照完整性(參照是父表和子表間的連接配接,定義了兩個表中對應列間的參照完整性限制,外鍵聯系主鍵,兩者之間建立參照)
根據參照連接配接的對應性質的差别,可将連接配接分成鍵連接配接和使用者指定的列連接配接:
1)鍵連接配接:把父表中的主鍵或候選鍵連接配接到子表中的外鍵上;
2)使用者指定的列連接配接:把父表中的一個或多個列連接配接到子表中相應的列上;(比較少用)
2.10 設定兩個表之間的關系(設定兩個表之間的參照)
2.11 連接配接主鍵、候選鍵和外鍵,或者在使用者指定的列之間建立連接配接
2.12 定義參照完整性
2.13 域設定(有助于識别資訊的類型,使得不同表中列的山上特性标準化,通過域可以将資料類型、檢查規則、強制性等資訊關聯到域上)
Model --> Domains
2.14 重建表中的鍵
Tools --> Rebuild Objects
2.15 建立索引
輕按兩下表,打開編輯,選中對應的列,在點屬性(第二步)。
2.16 建立視圖
Oracle 視圖(View) 說明
http://www.cndba.cn/Dave/article/1178
在工具面闆選中視圖後,建立一個視圖。輕按兩下視圖,打開配置。
在SQL Query頁面,定義視圖的SQL語句
1、Union合并兩個或多個Select語句,資料不重複;
2、Union All合并兩個或多個Select語句,資料可重複;
3、Intersect合并兩個或多個Select語句,資料顯示交集;
4、Minus合并兩個或多個Select語句,資料顯示補集;
單擊Query欄右邊Edit編輯SQL
完成執行個體
三. 生成sql腳本
一般來說都是先畫出CDM的E-R,然後将CDM 轉成PDM。 PDM 中的對象與我們庫中的對象一緻。
對于PDM 的部署有兩種方法:
(1) 生成SQL 腳本
(2) 直接将腳本部署到資料庫上,即直接在庫上把我們的對象建立好
Database --> Generate Database, 彈出如下視窗:
Script generation: 是生成SQL 腳本,one file on是否需要按照表生成許多個sql(預設選上,即不需要)
Direct generation: 是直接在資料庫中執行腳本,這2者隻能選一個。 一般直接生成SQL 腳本。
Automatic archive: 生成sql同時生成apm檔案。
Check model:powerdesigner有定義每種資料庫的表名、字段名等名字的最大長度的,該長度用于powerdesigner作check model的,但是該定義的長度和資料庫實際允許的長度不一定相同,如果你希望能通過pd的檢查,可以修改pd中的設定(pd對不同資料庫的這種約定實際是在儲存在一個xml檔案中,擴充名為.xdb)!或者你可以直接在生成資料庫時選擇不check model.