出处: 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. codevs1669(dfs)子集和目标值

    1692 子集和的目标值  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond   题目描述 Description 给定n个整数in和目标值T,求某一非空子集 ...

  2. python自动化测试学习笔记-8单元测试unittest模块

    官方参考文档:http://docs.python.org/2.7/library/unittest.html unittest是一个python版本的junit,junit是java中的单元测试框架 ...

  3. 递推DP Codeforces Round #260 (Div. 1) A. Boredom

    题目传送门 /* DP:从1到最大值,dp[i][1/0] 选或不选,递推更新最大值 */ #include <cstdio> #include <algorithm> #in ...

  4. hbase优化小结

    目录: 1,背景 2,GC 3,hbase cache 4,compaction 5,其他 1,背景 项目组中,hbase主要用来备份mysql数据库中的表.主要通过接入mysql binlog,经s ...

  5. Windows下重置MySQL密码【MYSQL】

    使用环境:win10 x64企业版 关闭正在运行的MySQL服务. 打开DOS窗口,转到mysqlbin目录. 输入mysqld --skip-grant-tables回车.如果没有出现提示信息,那就 ...

  6. Android RecyclerView嵌套EditView实时更新Item数据

    一.场景(例如:购物车) 1.当我们需要以列表样式管理某些数据时,可能需要列表项的某个字段可编辑 2.编辑Item上的某个字段后可能还要更新相关字段的值 二.可能遇到的问题 1.列表滑动导致输入框中的 ...

  7. springboot运行模式

    1.springboot项目常见的运行方式:  2.说明: idea:在开发环境中跑项目,也就是我们在编码过程中的用的做多的方式 jar.war:线上.服务器上执行jar.war包的方式 maven插 ...

  8. Android基础TOP6_3:Gally和ImageSwitcher实现画廊

    结构: Activity: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ...

  9. dede其他栏目页的logo没有完整显示怎么办?

    在首页完全没有问题,可是点击关于我们.联系我们.加入我们的时候logo图标是缺失的,这时候怎么办? 其实这个是css样式的问题,只要找到相对应页面的css,改一下他们的宽就可以了,如果高不够就自己调整 ...

  10. 使用libpqxx访问PostgreSQL数据库(mingw编译libpqxx)

    编译前准备    1. 安装mingw 安装mingw(不管是直接安装mingw还是其他如code::blocks附带安装的mingw),输入:gcc -v可显示如下图的版本信息,我的版本是mingw ...