转载 - PowerDesigner(CDM—PDM—SQL脚本的转换流程)
出处: http://jbeduhai.iteye.com/blog/338579
由于图片复制上去不显示,如想看内容及图片详情,请下载附件
PowerDesigner数据模型(CDM—PDM—SQL脚本的转换流程)
在开发的过程中会经常遇到 做一个模块功能,首先让你根据需要先画一个E-R图出来,
很多的朋友对 E-R图 都不是很熟悉,或者说有的朋友在开发的项目过程中,根本就没有用到E-R图,因为对于有些对E-R图不是很熟悉的朋友感觉画E-R图无从下手:
我个人根据一些资料整理了一下关于E-R图的 描述 及用法 示例:希望对,对E-R图并不是很熟悉的朋友有所帮助吧….
概念数据模型也称信息模型,它以实体-联系(Entity-RelationShip,简称E-R)理论为基础,并对这
一理论进行了扩充。它从用户的观点出发对信息进行建模,主要用于数据库的概念级设计。
通常人们先将现实世界抽象为概念世界,然后再将概念世界转为机器世界。换句话说,就是先将
现实世界中的客观对象抽象为实体(Entity)和联系(Relationship),它并不依赖于具体的计算机系统
或某个DBMS系统,这种模型就是我们所说的CDM;然后再将CDM转换为计算机上某个DBMS
所支持的数据模型,这样的模型就是物理数据模型,即PDM,
详细的关于E-R图 理论方面的描述,还请了解一些相关资料
以下是我个人对E-R图 的一个简单的用法整理,
如有不同意见,请提出….
(1).打开PowerDesigner file — new 弹出如下窗口

上图是 PowerDesigner CDM(概念数据模型—Conceptual Data Model)
(2).添加实体类:如下图

<1>.在CDM的图形窗口中,单击工具选项版上的Entity工具,再单击图形窗口的空白处,在单
击的位置就出现一个实体符号。点击Pointer工具或右击鼠标,释放Entitiy工具。如图所示

<2>.双击刚创建的实体符号,打开下列图标窗口,在此窗口“General”标签中可以输入实体的名
称、代码、描述等信息。
添加实体属性
1) 在上述窗口的“Attribute”选项标签上可以添加属性,如下图所示。
2)
添加Entity如下图:

实体属性为:


关于实体属于的具体配置信息,请查看关于这方面的入门资料,在这里我就不详细的说明了..
建立联系
联系(Relationship)是指实体集这间或实体集内部实例之间的连接。
实体之间可以通过联系来相互关联。与实体和实体集对应,联系也可以分为联系和联系集,联
系集是实体集之间的联系,联系是实体之间的联系,联系是具有方向性的。联系和联系集在含义
明确的情况之下均可称为联系。
按照实体类型中实例之间的数量对应关系,通常可将联系分为4类,即一对一(ONE TO ONE)
联系、一对多(ONE TO MANY)联系、多对一(MANY TO ONE)联系和多对多联系(MANY
TO MANY)。
在CDM工具选项板中除了公共的工具外,还包括如下图所示的其它对象产生工具。

在图形窗口中创建两个实体后,单击“实体间建立联系”工具,单击一个实体,在按下鼠标左键
的同时把光标拖至别一个实体上并释放鼠标左键,这样就在两个实体间创建了联系,右键单击图
形窗口,释放Relationship工具。如下图所示
|
建立关系图标 |

在两个实体间建立了联系后,双击联系线,打开联系特性窗口,如图所示。
“员工”与“联系方式”两个实体之间的联系是一对多联系,换句话说“联系方式”和“员工”之间的联系是多对一联
系。而且一个联系方式必须属于一个员工,并且只能属于一个员工,不能属于零个员工,所以从“联系方式”实体
至“员工”实体的基数为“1,1”,从联系的另一方向考虑,一个员工可以拥有多个联系方式,也可以没有任何联系方式,即零个联系方式,所以该方向联系的基数就为“0,n”,如图所示

在两个实体间建立了联系后,双击联系线,打开联系特性窗口,如图所示。

“员工”与“联系方式”两个实体之间的联系是一对多联系,换句话说“联系方式”和“员工”之间的联系是多对一联
系。而且一个联系方式必须属于一个员工,并且只能属于一个员工,不能属于零个员工,所以从“联系方式”实体
至“员工”实体的基数为“1,1”,从联系的另一方向考虑,一个员工可以拥有多个联系方式,也可以没有任何联系方式,即零个联系方式,所以该方向联系的基数就为“0,n”,如图所示

到此:CMD已经建成;
下面说明如何生成:PDM ->点击: Tools->Generate Physical Data Model 如下图:

或者:按Ctrl+G 键
弹出下图窗口:

生成如下图PDM

联系方式表:Fk 外键关系是由于 建立关系以后,自动生成的
生成sql 脚本:Ctrl +G键
总结:CDMàCtrl+G = PDMàCtrl+G = SQL脚本
如果要生成 OOM --> 点击工具-->Generage Object-Oriented Model
- PowerDesigner数据模型转换.rar (723.7 KB)
- 下载次数: 1075
转载 - PowerDesigner(CDM—PDM—SQL脚本的转换流程)的更多相关文章
- PowerDesigner数据模型(CDM—PDM—SQL脚本的转换流程)
原文地址:PowerDesigner数据模型(CDM-PDM-SQL脚本的转换流程)作者:zzenglish 有图片的参考http://blog.sina.com.cn/s/blog_64742675 ...
- PowerDesigner:导出SQL脚本以及问题解决
在PowerDesigner中点击DataBase -----------> Generate Datebase -----(可以点击Preview预览sql语句)------->设置 ...
- Oracle使用超大SQL脚本文件恢复数据问题记录
在以前获取的Oracle数据库备份一般都是dmp文件,创建表空间和用户就直接使用imp或者impdp导入即可. 这一次遇到的情况比较特殊,对方提供数据时给我的是使用SQLPlus导出的SQL脚本文件, ...
- PD 15.1 安装 破解 , 简单使用 (一对多,多对多关系生成sql脚本) , CDM 和 PDM 的区别;PD15.1 生成sql2008 无FK外键约束的解决方法
CDM是概念模型,在概念模型上没有具体数据库产品的概念,反映的是实体和联系.PDM是物理模型,是依赖具体数据库产品的模型,比如可以指定具体的数据类型和约束等等.在PowerDesigner中两个模型之 ...
- PowerDesigner PDM生成sql脚本时:表的名称和表里面的字段名称都有引号解决。。。
PowerDesigner PDM生成sql脚本时:表的名称和表里面的字段名称都有引号解决... 1.当你的PowerDesigner 是新安装时,你得设置可能就会出现一些问题,在这里比如:PDM生成 ...
- PowerDesigner在PDM转换为sql脚本时报错Generation aborted due to errors detected during the verification of the mod
在设计概念数据模型(CDM)之后,转换为物理数据模型(PDM),之后转换为sql脚本时报错Generation aborted due to errors detected during the ve ...
- powerDesigner根据sql脚本来逆向生成pdm等模型
一.问题概述 网上一般的博文都是说要建立数据源的方式来逆向或者正向. 我这人比较懒得折腾,更喜欢通过sql脚本的方式来做. 二.步骤 File-->New Model--> 然后: 注意上 ...
- powerdesigner中物理模型与sql脚本的以及与数据库的连接设置
使用JDBC连接失败的解决方案: http://blog.csdn.net/t37240/article/details/51595097 使用powerdesigner工具我们可以方便的根据需求分析 ...
- 运用PowerDesigner的反向工程,可以导入SQL脚本,从而生成物理模型
运用PowerDesigner的反向工程,可以导入SQL脚本,从而生成物理模型.方法/步骤 首先打开PowerDesigner,点击左上角“File”—>"Reverse Engine ...
随机推荐
- LOGO免费在线设计
http://www.logomaker.com.cn/ 藏经阁技术资料分享群二维码
- Linux学习之路2 Bash的基本操作
一.SHELL的介绍 shell分为两种:CLI(command Line Interface)和GUI(Graphical User Interface) 操作系统中的shell: GUI:GNOM ...
- ACM_N皇后问题
N皇后问题 Time Limit: 2000/1000ms (Java/Others) Problem Description: 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不 ...
- 每天学点Linux命令:倒叙打印文件第二行的前100个大写字母
sed -n | rev 处理第二行 grep:提取大写字母 o: 不显示非结果 tr:删除换行 Cut:截取1-100个字符 rev:逆序 断断续续搞了好长时间. ...
- [ POI 2012 ] Letters
\(\\\) \(Description\) 给出两个长度为 \(N\) 的字符串\(S_1,S_2\),且保证两个字符串中每一个字符出现次数相同. 现在一次操作可以交换相邻的两个字符,问将 \(S_ ...
- leetcode464 Can I Win
思路: 博弈. 实现: class Solution { public: bool dfs(int cur, int len, int sum, int des, vector<int>& ...
- Docker在Ubuntu16.04上安装
转自:http://blog.51cto.com/collen7788/2047800 1.添加Docker源 sudo apt-get update 2.增加CA证书 sudo apt-get in ...
- mongo 3.4分片集群系列之一:浅谈分片集群
这篇为理论篇,稍后会有实践篇. 这个系列大致想跟大家分享以下篇章: 1.mongo 3.4分片集群系列之一:浅谈分片集群 2.mongo 3.4分片集群系列之二:搭建分片集群--哈希分片 3.mong ...
- Layui数据表单的编辑
使用layui对单元格进行编辑并保存 先是要引入layui的JS和CSS 然后创建一个表格 而重要的是edit这个属性,只有使用了这个属性的一列数据表格才可以编辑,其余的都不可以进行编辑 然后使用la ...
- Mybatis学习总结三(动态SQL)
通过mybatis提供的各种标签方法实现动态拼接sql. 一.if 和 where <select id="findUserList" parameterType=" ...