PowerDesigner(六)-物理数据模型(PDM逆向工程)(转)
物理数据模型PDM
物理数据模型(Physical Data Model,PDM):在数据库的逻辑结构设计好之后,就需要完成其物理设计,PDM就是为实现这一目的而设计的。
物理数据模型是以常用的DBMS(数据库管理系统)理论为基础,将CDM/LDM中所建立的现实世界模型生成相应的DBMS的SQL语言脚本。利用该SQL脚本在数据库中产生现实世界信息的存储结构(表,约束等),并保证数据在数据库中的完整性和一致性。
1.基本概念
1.1表,列,视图,主键,候选键,外部键
1.2存储过程和触发器
1.3默认与规则
当用户没有为某一个列赋值是,数据库服务器为该列自动插入的值即为默认。规则就是在数据库的管理中指定的允许或不允许那些值插入某些列。默认和规则共同帮助系统维护数据的完整性。默认和规则能够与列和用户定义的数据联系在一起。
1.4 完整性检查约束(唯一性和主键约束,参照完整性约束,检查约束等)
完整性是指数据库中数据的正确性和一致性。通过对数据库插入,删除和修改数据值进行限制和约束来实现数据的完整性,数据库提供两种保持数据完整性的方法:一是在定义时定义完整性约束,二是定义规则,约束,索引和触发器。
1.5索引(组合索引,唯一索引,聚簇索引和非聚簇索引)
2.创建PDM
2.1建立PDM
建立PDM有4种方法:
- 使用设计环境直接建立PDM
- 从现存数据或数据库SQL脚本逆向工程建立PDM
- 从CDM采用内部模型生成方法建立PDM
- 从面向对象模型中类图采用模型的内部生成方法建立PDM
这里使用第一种方法。
(1)选择File-New Model命令,在打开的窗口左侧选择Physical Data Model选项,如图6.1所示。
图6-1
(2)在右侧输入模型名称,从DBMS下拉列表框中选择一个目标DBMS。
(3) 选择Extended Model Definitions选项卡,如果利用PowerBuilder来开发应用程序,当PowerBuilder连接数据库时将表和列的扩展属性保存到其Catalog表中,选中PowerBuilder复选框,生成PDM可以从Catalog表中获取表和列的扩展属性。如图6-2所示。
图6-2
(4)单击“确定”按钮,打开新建的PDM设计窗口,如图7-3所示。工作区包括左侧浏览器窗口,右侧的设计窗口,下侧的输出窗口和浮动的工具窗口,可以利用工具窗口中的图标在设计窗口中设计PDM
(5)利用工具栏中的Table图标创建表,利用Reference图标创建参照关系
,利用View图标创建视图,Proceduce图标创建存储过程
。其他工具与CDM中的工具栏使用方法一样。
(6)创建表,列,序列,参照及参照完整性,域,索引,视图,存储过程等。效果如图6-3所示(只创建了表和列)。
图6-3
3.PDM逆向工程
PowerDesigner的逆向工程包括从处理语言(Process Language)逆向生成业务处理模型,从对象语言(Object language)逆向生成面向对象模型,从数据库后数据库脚本逆向生成物理数据模型从XML定义(XML Difinition)逆向生成XML模型。这里介绍PDM逆向工程,从现有DBMS的用户数据库或现有数据库SQL脚本中生成PDM的过程,即实现由现有数据库的物理结构导出其物理设计的过程。
(1)选择File-Reverse Engineer-Database命令,打开New Physical Data Model窗口,输入模型名称并选择DBMS,单击“确定”按钮,如图6-4所示。
图6-4
(2)打开Database Reverse Engineering Options窗口,选择Options选项卡,如图6-5所示。
图6-5
(3)选择Selection选项卡,选择逆向工程的方式,Using script files(SQL脚本)或者Using a data source(ODBC中定义的数据源)。
(4)如果选中Using script files单选按钮,在图6-7所示窗口中单击Add Files图标,打开选择SQL文件窗口,选择一个或多个SQL文件即可。
图6-7
(5)如果选中Using a data source单选按钮,单击Database Reverse Engineering Options窗口右下角的Connect to a Data Source图标,打开Connect to a Data Source窗口如图6-8所示,在该窗口中选择一个ODBC数据源或选择
单击Configure进入Connection Profilre Definition窗口配置数据源并输入用户名和密码,单击Connect按钮,如图6-9所示。
图6-8
图6-9
(6)选择Target Models选项卡,单击Add Models图标选择已存在的PDM文件,则将逆向工程的结果与之合并为一个PDM。如果不选择PDM文件,则重新生成一个新的PDM。
(7)单击Database Reverse Engineering Options窗口中的“确定”按钮,打开如图如图6-10所示窗口,选择要逆向工程的数据库中的全部或部分对象。效果如图6-11所示。
图6-10
图6-11
注:在连接数据时,如果遇到com.mysql.jdbc.Driver clas not find错误时,请查看环境变量中是否配置了数据库连接jar的路径。如图6-12所示。
图6-12
小结: PMD逆向工程可以保证现有物理数据库与PDM同步,同时也为系统设计人员分析,改进现有数据库提供了方便,这也是PowerDesigner的精彩之处。
PowerDesigner(六)-物理数据模型(PDM逆向工程)(转)的更多相关文章
- 六、物理数据模型(PDM逆向工程)
物理数据模型PDM 物理数据模型(Physical Data Model,PDM):在数据库的逻辑结构设计好之后,就需要完成其物理设计,PDM就是为实现这一目的而设计的. 物理数据模型是以常用的D ...
- 物理数据模型(PDM)->概念数据模型 (CDM)->面向对象模型 (OOM):适用于已经设计好数据库表结构了。
物理数据模型(PDM)->概念数据模型 (CDM)->面向对象模型 (OOM):适用于已经设计好数据库表结构了. 步骤如下: 一.反向生成物理数据模型PDM 开发环境 PowerDes ...
- 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连接Oracle数据库(32位)反向生成物理数据模型
PowerDesigner可以连接Oracle数据库进行反向生成物理数据模型,本文演示操作过程. 环境说明: 1)Windows8.1,Oracle11R2 32位. 2)PowerDesigner1 ...
- PowerDesigner 物理数据模型(PDM)
PowerDesigner 物理数据模型(PDM) 说明 数据库脚本sqldatabasegeneration存储 目录(?)[+] 一. PDM 介绍 物理数据模型(Physical ...
- PowerDesigner 物理数据模型(PDM) 说明
ref: https://blog.csdn.net/tianlesoftware/article/details/6874067 一. PDM 介绍 物理数据模型(Physical Data ...
- PowerDesigner(五)-概念数据模型(CDM生成LDM,PDM和OOM)(转)
概念数据模型 概念数据模型(Conceptual Data Model,CDM):表达的是数据整体逻辑结构,该结构独立于任何软件和数据存储结构,即它只是系统分析人员,应用程序设计人员,维护人员和用户之 ...
- PowerDesigner(五)-概念数据模型(CDM生成LDM,PDM和OOM)
概念数据模型 概念数据模型(Conceptual Data Model,CDM):表达的是数据整体逻辑结构,该结构独立于任何软件和数据存储结构,即它只是系统分析人员,应用程序设计人员,维护人员和用户之 ...
随机推荐
- .NET软件汉化小实例
Author:KillerLegend Date:2014.6.18 From:http://www.cnblogs.com/killerlegend/p/3795577.html 好的,今天我们来汉 ...
- 倒水问题 (codevs 1226) 题解
[问题描述] 有两个无刻度标志的水壶,分别可装x升和y升 ( x,y 为整数且均不大于100)的水.设另有一水缸,可用来向水壶灌水或接从水壶中倒出的水, 两水壶间,水也可以相互倾倒.已知x升壶为空壶, ...
- asp.net解析请求报文
NameValueCollection myHeader = new NameValueCollection(); int i; string strKey; string result; myHea ...
- 【转载!】关于C#的RawSocket编程的问题
Q:你好! 看过了你在csdn上发表的<用C#下的Raw Socket编程实现网络封包监视>,觉得很感兴趣,而且对我的帮助很大.不过在调试的过程中遇到一些问题,特此向你请教一下.谢谢! 首 ...
- openstack的控制节点部署
openstack的控制节点部署 主要是使用了本地安装的那个镜像. 会出现几个问题, 1.重启服务无法启动. 2.环境变量无法正确配置可以自己配置
- C 封装一个csv 解析库
引言 最经关于基础C开发框架基本都搭建好了. 在研究githup,准备传上去. 可惜的是两会连githup 都登陆不进去. 三观很正的我也觉得, 这样不好. 双向标准, 共x党不是一个代表穷苦大众的党 ...
- PAT乙级真题1001. 害死人不偿命的(3n+1)猜想 (15)(解题)
卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去,最后一定在某一步得到n=1.卡拉兹在1950年的世界数 ...
- golang的内存模型与new()与make()
要彻底理解new()与make()的区别, 最好从内存模型入手. golang属于c family, 而c程序在unix的内在模型: |低地址|text|data|bss|heap-->|unu ...
- SQL Server 2008 表变量参数(表值参数)用法
表值参数是 SQL Server 2008 中的新参数类型.表值参数是使用用户定义的表类型来声明的.使用表值参数,可以不必创建临时表或许多参数,即可向 Transact-SQL 语句或例程(如存储过程 ...
- 历时八年,HTML5 标准终于完工了
万维网联盟(W3C)2014年10月29日泪流满面地宣布,经过几乎8年的艰辛努力,HTML5标准规范终于最终制定完成了,并已公开发布. 在此之前的几年时间里,已经有很多开发者陆续使用了HTML5的部分 ...