物理数据模型(Physical Data Model)PDM,提供了系统初始设计所须要的基础元素,以及相关元素之间的关系;数据库的物理设计阶段必须在此基础上进行详细的后台设计,包括数据库的存储过程、操做、触发、视图和索引表等;html
PowerDesigner可以用于建立多种不一样类型的DBMS(数据库管理系统),每种类型的DBMS都包含一个标准定义的文件用于在PD和DBMS中肯定彼此的关联而提供一套接口;建立不一样的DBMS能够生成不一样的数据库脚本。java
物理数据模型(PDM)的主要功能:web
一、能够将数据库的物理设计结果从一种数据库移植到另外一种数据库;sql
二、能够经过反向工程将已经存在的数据库物理结构从新生成物理模型或概念模型;数据库
三、能够定制生成标准的模型报告;网络
四、能够转换为OOM;函数
五、完成多种数据库的详细物理设计(涵盖经常使用的各类数据库的DBMS),并生成数据库对象的.sql脚本;工具
1) 表ui
2) 列
3) 视图
4) 主键
5) 候选键
6) 外键
7) 存储过程
8) 触发器
9) 索引
10)完整性检查约束
1) 建立表
2) 建立列
3) 建立建立域
4) 建立视图
5) 建立主键
6) 建立候选键
7) 建立外键
8) 建立索引
9) 建立完整性检查约束
10)建立存储过程
11)建立触发器
1) 建立用户
2) 设置表的用户
3) 设置表的物理属性
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)建立触发器
设定触发器类型(Insert、Update、Delete)
2)建立存储过程/函数
1)选择Database→GenerateDatabase菜单项
2)选项设置
(1)数据库
(2)用户
(3)域
(4)表和列
主键、候选键
外键
索引
触发器
(5)存储过程
3)格式设置
4)选择对象
(1)查看包
(2)全选/所有取消选择
(3)使用图中选中的对象
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会单独整理成一片文章,这篇不作说明。
PDM咱们最终是须要导入咱们的数据库中去。 PDM 能够生成不一样数据库对应的sql语句,或者直接讲脚本部署到数据库中,这个在generate database 的时候能够进行选择。
通常是先生成sql 脚本,而后到数据库里执行sql脚本。
Tools --> Display Preferences
Model –> Model Properties
Tools--> Model Options
使用PD 的工具面板,选中表后,在工做区建立一个表,右击释放表,在双击表,进行编辑工做。
建立参照完整性(参照是父表和子表间的链接,定义了两个表中对应列间的参照完整性约束,外键联系主键,二者之间创建参照)
根据参照链接的对应性质的差异,可将链接分红键链接和用户指定的列链接:
1)键链接:把父表中的主键或候选键链接到子表中的外键上;
2)用户指定的列链接:把父表中的一个或多个列链接到子表中相应的列上;(比较少用)
Model --> Domains
Tools --> Rebuild Objects
双击表,打开编辑,选中对应的列,在点属性(第二步)。
http://blog.csdn.net/tianlesoftware/article/details/5530618
在工具面板选中视图后,建立一个视图。双击视图,打开配置。
在SQL Query页面,定义视图的SQL语句
一、Union合并两个或多个Select语句,数据不重复;
二、Union All合并两个或多个Select语句,数据可重复;
三、Intersect合并两个或多个Select语句,数据显示交集;
四、Minus合并两个或多个Select语句,数据显示补集;
单击Query栏右边Edit编辑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表空间和数据文件的关系,不然拒绝申请