出处: 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(CDM—PDM—SQL脚本的转换流程)的更多相关文章

  1. PowerDesigner数据模型(CDM—PDM—SQL脚本的转换流程)

    原文地址:PowerDesigner数据模型(CDM-PDM-SQL脚本的转换流程)作者:zzenglish 有图片的参考http://blog.sina.com.cn/s/blog_64742675 ...

  2. PowerDesigner:导出SQL脚本以及问题解决

    在PowerDesigner中点击DataBase  -----------> Generate Datebase  -----(可以点击Preview预览sql语句)------->设置 ...

  3. Oracle使用超大SQL脚本文件恢复数据问题记录

    在以前获取的Oracle数据库备份一般都是dmp文件,创建表空间和用户就直接使用imp或者impdp导入即可. 这一次遇到的情况比较特殊,对方提供数据时给我的是使用SQLPlus导出的SQL脚本文件, ...

  4. PD 15.1 安装 破解 , 简单使用 (一对多,多对多关系生成sql脚本) , CDM 和 PDM 的区别;PD15.1 生成sql2008 无FK外键约束的解决方法

    CDM是概念模型,在概念模型上没有具体数据库产品的概念,反映的是实体和联系.PDM是物理模型,是依赖具体数据库产品的模型,比如可以指定具体的数据类型和约束等等.在PowerDesigner中两个模型之 ...

  5. PowerDesigner PDM生成sql脚本时:表的名称和表里面的字段名称都有引号解决。。。

    PowerDesigner PDM生成sql脚本时:表的名称和表里面的字段名称都有引号解决... 1.当你的PowerDesigner 是新安装时,你得设置可能就会出现一些问题,在这里比如:PDM生成 ...

  6. 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 ...

  7. powerDesigner根据sql脚本来逆向生成pdm等模型

    一.问题概述 网上一般的博文都是说要建立数据源的方式来逆向或者正向. 我这人比较懒得折腾,更喜欢通过sql脚本的方式来做. 二.步骤 File-->New Model--> 然后: 注意上 ...

  8. powerdesigner中物理模型与sql脚本的以及与数据库的连接设置

    使用JDBC连接失败的解决方案: http://blog.csdn.net/t37240/article/details/51595097 使用powerdesigner工具我们可以方便的根据需求分析 ...

  9. 运用PowerDesigner的反向工程,可以导入SQL脚本,从而生成物理模型

    运用PowerDesigner的反向工程,可以导入SQL脚本,从而生成物理模型.方法/步骤 首先打开PowerDesigner,点击左上角“File”—>"Reverse Engine ...

随机推荐

  1. LOGO免费在线设计

    http://www.logomaker.com.cn/ 藏经阁技术资料分享群二维码

  2. Linux学习之路2 Bash的基本操作

    一.SHELL的介绍 shell分为两种:CLI(command Line Interface)和GUI(Graphical User Interface) 操作系统中的shell: GUI:GNOM ...

  3. ACM_N皇后问题

    N皇后问题 Time Limit: 2000/1000ms (Java/Others) Problem Description: 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不 ...

  4. 每天学点Linux命令:倒叙打印文件第二行的前100个大写字母

    sed -n | rev 处理第二行             grep:提取大写字母   o: 不显示非结果  tr:删除换行   Cut:截取1-100个字符  rev:逆序 断断续续搞了好长时间. ...

  5. [ POI 2012 ] Letters

    \(\\\) \(Description\) 给出两个长度为 \(N\) 的字符串\(S_1,S_2\),且保证两个字符串中每一个字符出现次数相同. 现在一次操作可以交换相邻的两个字符,问将 \(S_ ...

  6. leetcode464 Can I Win

    思路: 博弈. 实现: class Solution { public: bool dfs(int cur, int len, int sum, int des, vector<int>& ...

  7. Docker在Ubuntu16.04上安装

    转自:http://blog.51cto.com/collen7788/2047800 1.添加Docker源 sudo apt-get update 2.增加CA证书 sudo apt-get in ...

  8. mongo 3.4分片集群系列之一:浅谈分片集群

    这篇为理论篇,稍后会有实践篇. 这个系列大致想跟大家分享以下篇章: 1.mongo 3.4分片集群系列之一:浅谈分片集群 2.mongo 3.4分片集群系列之二:搭建分片集群--哈希分片 3.mong ...

  9. Layui数据表单的编辑

    使用layui对单元格进行编辑并保存 先是要引入layui的JS和CSS 然后创建一个表格 而重要的是edit这个属性,只有使用了这个属性的一列数据表格才可以编辑,其余的都不可以进行编辑 然后使用la ...

  10. Mybatis学习总结三(动态SQL)

    通过mybatis提供的各种标签方法实现动态拼接sql. 一.if 和 where <select id="findUserList" parameterType=" ...