PowerDesigner 物理数据模型(PDM)
一. 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 创建视图
http://blog.csdn.net/tianlesoftware/article/details/5530618
在工具面板选中视图后,创建一个视图。双击视图,打开配置。

在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.
整理自网络
-------------------------------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
Weibo: http://weibo.com/tianlesoftware
Email: dvd.dba@gmail.com
DBA1 群:62697716(满); DBA2 群:62697977(满) DBA3 群:62697850(满)
DBA 超级群:63306533(满); DBA4 群:83829929(满) DBA5群: 142216823(满)
DBA6 群:158654907(满) DBA7 群:69087192(满) DBA8 群:172855474
DBA 超级群2:151508914 DBA9群:102954821 聊天 群:40132017(满)
--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请
PowerDesigner 物理数据模型(PDM)的更多相关文章
- PowerDesigner(六)-物理数据模型(PDM逆向工程)(转)
物理数据模型PDM 物理数据模型(Physical Data Model,PDM):在数据库的逻辑结构设计好之后,就需要完成其物理设计,PDM就是为实现这一目的而设计的. 物理数据模型是以常用的DBM ...
- 物理数据模型(PDM)->概念数据模型 (CDM)->面向对象模型 (OOM):适用于已经设计好数据库表结构了。
物理数据模型(PDM)->概念数据模型 (CDM)->面向对象模型 (OOM):适用于已经设计好数据库表结构了. 步骤如下: 一.反向生成物理数据模型PDM 开发环境 PowerDes ...
- 六、物理数据模型(PDM逆向工程)
物理数据模型PDM 物理数据模型(Physical Data Model,PDM):在数据库的逻辑结构设计好之后,就需要完成其物理设计,PDM就是为实现这一目的而设计的. 物理数据模型是以常用的D ...
- PowerDesigner 物理数据模型(PDM) 说明
ref: https://blog.csdn.net/tianlesoftware/article/details/6874067 一. PDM 介绍 物理数据模型(Physical Data ...
- powerdesigner 实体关系模型CDM与物理数据模型PDM互转
1.创建CDM 2.CDM转换PDM 3.PDM转CDM 环境 powerdesigner15.1 1.创建CDM File --> new Model-->Conceptual data ...
- 在powerdesigner中创建物理数据模型
物理数据模型(PDM)是以常用的DBMS(数据库管理系统)理论为基础,将CDM/LDM中所建立的现实世界模型生成相应的DBMS的SQL语言脚本.PDM叙述数据库的物理实现,是对真实数据库的描述 PDM ...
- PowerDesigner 16.5 使用VBScript脚本从Excel导入物理数据模型
本文使用的数据库类型是Oracle 11g 最近在工作中遇到一个问题:数据的设计以表格的形式保存在Excel文件中.(由于保密原因,我只能看到数据库设计文档,无法访问数据库.=_=!) 其中包括Nam ...
- PowerDesigner数据库设计PDM基于Excel的导入导出总结
经常用到pdm来管理代码,一两张表,手写一下还凑合,一旦表多了,就慌了.于是,开始学习用vbs进行Excel的来快速导入导出操作PDM就变得很紧急了,搜罗了网络上的很多vbs脚本,各有各的优点,但对于 ...
- PowerDesigner反向生成物理数据模型
什么是PowerDesigner Power Designer 是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程.利用Power De ...
随机推荐
- 游戏中VIP会员模块的简单实现
哈哈 今天周末有时间,再整理一篇博文上来,虽然已经不做游戏老长时间了,但还是要把以前做过的东西总结一下,借此可以回顾以前的东西,也可以分享给大家. 今天说一下游戏中VIP会员模块的实现思路.每款游戏 ...
- C#.Net 如何动态加载与卸载程序集(.dll或者.exe)5-----Assembly.Unload
http://www.blogcn.com/user8/flier_lu/index.html?id=2164751&run=.04005F8 CLR 产品单元经理(Unit Manager) ...
- 【开源推荐】AllJoyn:打造全球物联网的通用开源框架
摘要:随着智能设备的发展,物联网逐渐进入了人们的生活.据预测,未来几乎一切东西(超过500亿台设备)都可以互联.高通公司发布了开源项目AllJoyn,这是一个能够使连接设备间进行互操作的通用软件框架和 ...
- 【HDOJ】4652 Dice
1. 题目描述对于m面的骰子.有两种查询,查询0表示求最后n次摇骰子点数相同的期望:查询1表示最后n次摇骰子点数均不相同的期望. 2. 基本思路由期望DP推导,求得最终表达式.(1) 查询0 不 ...
- 【HDOJ】2459 Maximum repetition substring
后缀数组+RMQ. /* 2459 */ #include <iostream> #include <sstream> #include <string> #inc ...
- Java面试题-多线程
1. java中有几种方法可以实现一个线程? 多线程有两种实现方法,分别是继承Thread类与实现Runnable接口. 这两种方法的区别是,如果你的类已经继承了其它的类,那么你只能选择实现Runna ...
- 最小生成树(kruskal模版 模板)
题目:http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2144&cid=1186 #include<stdio.h> #incl ...
- C#编程让Outlook乖乖交出帐户密码
许多人习惯于让Outlook记住密码,收邮件时便不必每次都输入邮箱密码,一切让Outlook代劳.但时间一长,马虎的人会把自己的邮箱密码忘记,这样就无法重新设置或者登录Web界面收取邮件了.Outlo ...
- Java [leetcode 35]Search Insert Position
题目描述: Given a sorted array and a target value, return the index if the target is found. If not, retu ...
- (一)学习CSS之z-index属性
参考:http://www.w3school.com.cn/cssref/pr_pos_z-index.asp z-index 属性设置元素的堆叠顺序.拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元 ...