在开发的过程中会经常遇到 做一个模块功能,首先让你根据需要先画一个 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 model 弹出如下窗口
(2). 添加实体类:如下图
<1>. 在 CDM 的图形窗口中,单击工具选项版上的 Entity 工具,再单击图形窗口的空白处,在单击的位置就出现一个实体符号。点击 Pointer 工具或右击鼠标 ,释放 Entitiy 工具。如图所示
<2>. 双击刚创建的实体符号,打开下列图标窗口,在此窗口 “General” 标签中可以输入实体的名称、代码、描述等信息。
添加实体属性
1) 在上述窗口的 “Attribute” 选项标签上可以添加属性,如下图所示。
自增型 Serial
字符型 Variable multibyte
创建domain。 domain是什么东西呢,应该翻译成“域”吧,但实际是一种自定义类型。把常用到的数据类型定义成domain,所有的属性指定其domain,而不直接指定数据类型,会给以后的工作带来很大的方便。Data items下创建
2)添加 Entity 如下图 :
实体属性为 :
关于实体属于的具体配置信息,请查看关于这方面的入门资料,在这里我就不详细的说明了 ..
建立联系
联系( Relationship )是指实体集这间或实体集内部实例之间的连接。
实体之间可以通过联系来相互关联。与实体和实体集对应,联系也可以分为联系和联系集,联系集是实体集之间的联系,联系是实体之间的联系,联系是具有方向性的。联系和联系集在含义明确的情况之下均可称为联系。
按照实体类型中实例之间的数量对应关系,通常可将联系分为 4 类,即一对一( ONE TO ONE )联系、一对多(ONE TO MANY )联系、多对一( MANY TO ONE )联系和多对多联系( MANY TO MANY )。
在 CDM 工具选项板中除了公共的工具外,还包括如下图所示的其它对象产生工具。
在图形窗口中创建两个实体后,单击 “ 实体间建立联系 ” 工具,单击一个实体,在按下鼠标左键的同时把光标拖至别一个实体上并释放鼠标左键,这样就在两个实体间创建了联系,右键单击图形窗口,释放 Relationship 工具。如下图所示
建立关系图标
在两个实体间建立了联系后,双击联系线,打开联系特性窗口,如图所示。
“ 员工 ” 与 “ 联系方式 ” 两个实体之间的联系是一对多联系,换句话说 “ 联系方式 ” 和 “ 员工 ” 之间的联系是多对一联
系。而且一个联系方式必须属于一个员工,并且只能属于一个员工,不能属于零个员工,所以从 “ 联系方式 ” 实体至 “ 员工 ” 实体的基数为 “1,1” ,从联系的另一方向考虑,一个员工可以拥有多个联系方式,也可以没有任何联系方式,即零个联系方式,所以该方向联系的基数就为 “0,n”, 如图所示
到此 :CMD 已经建成 ;
下面说明如何生成 :PDM 点击 : Tools --> Generate Physical Data Model 如下图 :
或者 : 按 Ctrl+G 键 弹出下图窗口 :
生成如下图 PDM
联系方式表 :Fk 外键关系是由于 建立关系以后,自动生成的
生成 sql 脚本 :Ctrl +G 键 ,如果是生成MySQL脚本,options->foreign key ->create foreign key设为inside
总结 :CDM --> Ctrl+G = PDM --> Ctrl+G = SQL 脚本
如果要生成 OOM --> 点击工具-->Generage Object-Oriented Model
PowerDesigner生成数据库时取消域的生成
在PDM界面,选择菜单“database”—“generate database...”—“options”,在“all objects”中将Column的user data type勾选去掉: