四、物理数据模型PDM(Physical Data Model )
一.?????PDM 介紹
物理數(shù)據(jù)模型(Physical Data Model)PDM,提供了系統(tǒng)初始設(shè)計(jì)所需要的基礎(chǔ)元素,以及相關(guān)元素之間的關(guān)系;數(shù)據(jù)庫(kù)的物理設(shè)計(jì)階段必須在此基礎(chǔ)上進(jìn)行詳細(xì)的后臺(tái)設(shè)計(jì),包括數(shù)據(jù)庫(kù)的存儲(chǔ)過程、操作、觸發(fā)、視圖和索引表等;
?
PowerDesigner能夠用于創(chuàng)建多種不同類型的DBMS(數(shù)據(jù)庫(kù)管理系統(tǒng)),每種類型的DBMS都包含一個(gè)標(biāo)準(zhǔn)定義的文件用于在PD和DBMS中確定彼此的關(guān)聯(lián)而提供一套接口;創(chuàng)建不同的DBMS可以生成不同的數(shù)據(jù)庫(kù)腳本。
?
物理數(shù)據(jù)模型(PDM)的主要功能:
1、可以將數(shù)據(jù)庫(kù)的物理設(shè)計(jì)結(jié)果從一種數(shù)據(jù)庫(kù)移植到另一種數(shù)據(jù)庫(kù);
2、可以通過反向工程將已經(jīng)存在的數(shù)據(jù)庫(kù)物理結(jié)構(gòu)重新生成物理模型或概念模型;
3、可以定制生成標(biāo)準(zhǔn)的模型報(bào)告;
4、可以轉(zhuǎn)換為OOM;
5、完成多種數(shù)據(jù)庫(kù)的詳細(xì)物理設(shè)計(jì)(涵蓋常用的各種數(shù)據(jù)庫(kù)的DBMS),并生成數(shù)據(jù)庫(kù)對(duì)象的.sql腳本;
?
1.1 PDM中的基本概念:
1)??表
2)??列
3)??視圖
4)??主鍵
5)??候選鍵
6)??外鍵
7)??存儲(chǔ)過程
8)??觸發(fā)器
9)??索引
10)完整性檢查約束
?
1.2 創(chuàng)建PDM對(duì)象:
1)??創(chuàng)建表
2)??創(chuàng)建列
3)??創(chuàng)建創(chuàng)建域
4)??創(chuàng)建視圖
5)??創(chuàng)建主鍵
6)??創(chuàng)建候選鍵
7)??創(chuàng)建外鍵
8)??創(chuàng)建索引
9)??創(chuàng)建完整性檢查約束
10)創(chuàng)建存儲(chǔ)過程
11)創(chuàng)建觸發(fā)器
?
1.3 管理PDM對(duì)象:
1)??創(chuàng)建用戶
2)??設(shè)置表的用戶
3)??設(shè)置表的物理屬性
?
1.4 檢查PDM:
1)??檢查選項(xiàng)設(shè)置
(1)Package(包)
(2)Table(表)
(3)Column(列)
(4)Index(索引)
(5)Key(鍵)
(6)Domain(域)
(7)View(視圖)
(8)Reference(參照)
(9)Trigger(觸發(fā)器)
(10)????Procedure(存儲(chǔ)過程)
(11)????User(用戶)
(12)????File(文件)
2)更正錯(cuò)誤/警告
?
1.5 觸發(fā)器和存儲(chǔ)過程/函數(shù):
1)創(chuàng)建觸發(fā)器
設(shè)定觸發(fā)器類型(Insert、Update、Delete)
2)創(chuàng)建存儲(chǔ)過程/函數(shù)
?
1.6 生成數(shù)據(jù)庫(kù)
1)選擇Database→GenerateDatabase菜單項(xiàng)
2)選項(xiàng)設(shè)置
(1)數(shù)據(jù)庫(kù)
(2)用戶
(3)域
(4)表和列
主鍵、候選鍵
外鍵
索引
觸發(fā)器
(5)存儲(chǔ)過程
3)格式設(shè)置
4)選擇對(duì)象
(1)查看包
(2)全選/全部取消選擇
(3)使用圖中選中的對(duì)象
?
1.7 創(chuàng)建PDM:
1)新建PDM
(1)選擇File→New Model菜單項(xiàng)
(2)在左側(cè)模型類型列表中選擇Physical? Data Model
(3)在右側(cè)輸入模型名稱、在DBMS下拉列表中選擇DBMS類型、在First diagram下拉列表中選擇Physical Diagram
2)正向工程:從CDM/LDM生成PDM
3)逆向工程:從現(xiàn)有DB 逆向生成PDM
?
正向工程和逆向工程生成PDM會(huì)單獨(dú)整理成一片文章,這篇不做說明。
?
1.8 PDM 生成腳本:
?????? PDM我們最終是需要導(dǎo)入我們的數(shù)據(jù)庫(kù)中去。 PDM 可以生成不同數(shù)據(jù)庫(kù)對(duì)應(yīng)的sql語句,或者直接講腳本部署到數(shù)據(jù)庫(kù)中,這個(gè)在generate database 的時(shí)候可以進(jìn)行選擇。
?????? 一般是先生成sql 腳本,然后到數(shù)據(jù)庫(kù)里執(zhí)行sql腳本。
?
?
二.?????PDM 使用示例
2.1 創(chuàng)建新的PDM
2.2 設(shè)置PDM的顯示參數(shù)
Tools --> Display Preferences
?
2.3 設(shè)置PDM的模型屬性(一般在發(fā)布資源或者提交設(shè)計(jì)的時(shí)候需要設(shè)置)
Model –> Model Properties
?
2.4 設(shè)置PDM模型選項(xiàng)
Tools--> Model Options
?
2.5 創(chuàng)建表
使用PD 的工具面板,選中表后,在工作區(qū)創(chuàng)建一個(gè)表,右擊釋放表,在雙擊表,進(jìn)行編輯工作。
2.6 表列以及其設(shè)置
2.7 詳情設(shè)置
2.8 標(biāo)準(zhǔn)檢查約束
2.9 完成了一個(gè)表的設(shè)計(jì)
創(chuàng)建參照完整性(參照是父表和子表間的連接,定義了兩個(gè)表中對(duì)應(yīng)列間的參照完整性約束,外鍵聯(lián)系主鍵,兩者之間建立參照)
?
根據(jù)參照連接的對(duì)應(yīng)性質(zhì)的差別,可將連接分成鍵連接和用戶指定的列連接:
1)鍵連接:把父表中的主鍵或候選鍵連接到子表中的外鍵上;
2)用戶指定的列連接:把父表中的一個(gè)或多個(gè)列連接到子表中相應(yīng)的列上;(比較少用)
2.10 設(shè)置兩個(gè)表之間的關(guān)系(設(shè)置兩個(gè)表之間的參照)
2.11 連接主鍵、候選鍵和外鍵,或者在用戶指定的列之間建立連接
2.12 定義參照完整性
?
2.13 域設(shè)置(有助于識(shí)別信息的類型,使得不同表中列的山上特性標(biāo)準(zhǔn)化,通過域可以將數(shù)據(jù)類型、檢查規(guī)則、強(qiáng)制性等信息關(guān)聯(lián)到域上)
Model?--> Domains
?
?
2.14 重建表中的鍵
Tools --> Rebuild Objects
?
2.15 創(chuàng)建索引
雙擊表,打開編輯,選中對(duì)應(yīng)的列,在點(diǎn)屬性(第二步)。
?
2.16 創(chuàng)建視圖
Oracle 視圖(View) 說明
http://blog.csdn.net/tianlesoftware/article/details/5530618
?
在工具面板選中視圖后,創(chuàng)建一個(gè)視圖。雙擊視圖,打開配置。
?
在SQL Query頁(yè)面,定義視圖的SQL語句
1、Union合并兩個(gè)或多個(gè)Select語句,數(shù)據(jù)不重復(fù);
2、Union All合并兩個(gè)或多個(gè)Select語句,數(shù)據(jù)可重復(fù);
3、Intersect合并兩個(gè)或多個(gè)Select語句,數(shù)據(jù)顯示交集;
4、Minus合并兩個(gè)或多個(gè)Select語句,數(shù)據(jù)顯示補(bǔ)集;
單擊Query欄右邊Edit編輯SQL
完成實(shí)例
?
三.?????生成sql腳本
一般來說都是先畫出CDM的E-R,然后將CDM 轉(zhuǎn)成PDM。 PDM 中的對(duì)象與我們庫(kù)中的對(duì)象一致。
?????? 對(duì)于PDM 的部署有兩種方法:
(1)?生成SQL 腳本
(2)?直接將腳本部署到數(shù)據(jù)庫(kù)上,即直接在庫(kù)上把我們的對(duì)象創(chuàng)建好
?
Database --> Generate Database, 彈出如下窗口:
?
Script generation: 是生成SQL 腳本,one file on是否需要按照表生成許多個(gè)sql(默認(rèn)選上,即不需要)
Direct generation: 是直接在數(shù)據(jù)庫(kù)中執(zhí)行腳本,這2者只能選一個(gè)。 一般直接生成SQL 腳本。
Automatic archive:?? 生成sql同時(shí)生成apm文件。
Check model:powerdesigner有定義每種數(shù)據(jù)庫(kù)的表名、字段名等名字的最大長(zhǎng)度的,該長(zhǎng)度用于powerdesigner作check model的,但是該定義的長(zhǎng)度和數(shù)據(jù)庫(kù)實(shí)際允許的長(zhǎng)度不一定相同,如果你希望能通過pd的檢查,可以修改pd中的設(shè)置(pd對(duì)不同數(shù)據(jù)庫(kù)的這種約定實(shí)際是在保存在一個(gè)xml文件中,擴(kuò)展名為.xdb)!或者你可以直接在生成數(shù)據(jù)庫(kù)時(shí)選擇不check model.
轉(zhuǎn)載于:https://www.cnblogs.com/aaa6818162/archive/2012/08/06/2625727.html
總結(jié)
以上是生活随笔為你收集整理的四、物理数据模型PDM(Physical Data Model )的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 黑马程序员--数组与集合互相转变
- 下一篇: 使用下列 else-if 排列来处理多个