使用PowerDesigner作数据库设计(一)

使用PowerDesigner作数据库设计(一)sql

使用PowerDesigner进行数据库设计,去年是第一次使用,使用它完成了一次小型的数据库设计。今年是第二次使用,中间间隔了几个月,再次打开PowerDesigner时,已经把使用步骤忘记个差很少了,有些还须要再去查找一下资料。为了可以把PowerDesigner使用步骤刻在脑子里,此次对PowerDesigner的常规使用步骤作一些记录,来加深印象,往后忘记时,有的查找,毕竟本身写过的东西可以再现出使用场景来。

E-R:实体关系模型--》到不一样的数据库,数据库开发人员能够根据ER图,设计出不一样数据库的表。数据库

需求分析 概要设计 详细设计 数据库设计dom

PowerDesigner:做用,用来作数据库建模,设计概念模型 物理模型 ,最终都反映到数据库,以及设计的正向和逆向工程导入使用。数据库设计

Sybase公司的工具集。ide

做为一名使用PowerDesigner的小白,如何快速上手呢,为什么强调快速上手,主要由于用不到的时候不肯意主动学习,用到的时候多半是任务紧迫,要在有限的时间内作出设计来。恐怕这时,连翻书都没有耐心翻下去了。工具

初识PowerDesigner学习

使用PowerDesigner作数据库设计,主要用到两个大的模型,第一个是CDM,第二个是PDM。使用步骤大抵以下,先建立CDM,而后把CDM转化成PDM,最后把PDM转化成数据库sql执行语句,还能够把PDM转化成word可视化数据库文档。可执行的sql语句和可视化word文档是作设计的最终成果,sql语句用于建立数据库,可视化word文档用于团队成员的沟通、开发及后期维护。PowerDesigner工具的亮点就是生成可执行的sql语句、可视化的word数据库文档。能不能快速高效地作出一份数据库设计,关键在于CDM的设计。编码

概念数据模型CDM介绍设计

CDM是ConceptualDataMode的英文简称,概念数据模型的意思。在CDM中,有几个要素须要熟识一下,第一个是实体entity,第二个是实体entity中的属性attributes,也就是列。第三个是域domains,域是对属性attributes的归类,能够提早建立域。在设置实体entity中的属性attributes时,先建立好属性的名称name和编码code,而后选择合适的域domains,就能够设定属性的数据类型datatype和长度length。第四个是关系relationship,也就是两个实体之间的关联关系,是一对一的关系,仍是一对多的关系,仍是多对多的关系。第五个是关联association,关联是实体的多对多关系,在作数据设计时,一对多时,能够把一存储在多的表中作外键,多对多时,须要另外建一个表进行关联,这就是关联association。在CDM中表现为关联association,用于区别通常的实体。还漏掉了一个就是标识符identifier就是实体中的主键。code

CDM建立,手把手实际操做

第一步,建立概念数据模型CDM,并对其命名。

打开PowerDesigner工具,在工具栏点击文件,在打开的菜单栏中,选择第一个选项->创建新模型,在创建新模型的窗口,选择第二个模型,在modelname中对模型从新命名,最后点击OK按钮。

图-2

第二步,建立域domains,也能够从其余现成的地方拷贝过来。

1) 在 CDM模型 数据库设计 上点击鼠标右键,选中list of,在出现的列表中选中domains,出现以下窗口:

图-3

2) 在此窗口,添加name、code,code能够不填,让其自动填充,并设置数据类型datatype和长度length,设置数据类型和长度是关键,后面的实体属性会继承这里的数据类型和长度,最后点击ok按钮进行保存,以下图所示:

图-4

第三步,建立实体entity。

1) 在窗口的右上角有一个悬浮框palette,有一个四方形的图表,鼠标移上去时会有一个entity的标识,没错,就是它了,点击这个图表,在空白的地方,点击一下就绘出实体entity的图表

图-5

图-6

2) 点击悬浮框palette中的箭头pointer图表,让鼠标恢复状态,而后双击其中的一个实体,便可对实体进行name和code的命名,命名以后点击应用。点击应用不会关闭当前窗口,点击肯定会关闭当前窗口。

图-7

第四步,建立实体entity中的属性attribute。

1) 接着上一个窗口,在entity窗口中,点击属性attribute,在这一栏目里可进行属性的name和code建立,name对应的是中文描述,code对应的数据库字段名称。

图-8

2) 接着为每一个字段选择对应的domain,点击domain下的None区域时,会出现下拉列表,从下拉列表选择合适的domain,domain不存在时,能够再次新增,新增后从新打开窗口再次选择对应的domain。

图-9

3) 若是此时想添加备注,可是列表中并无备注,可点击菜单栏下,漏斗下带笔的小图标勾选出备注comment,这时就能够看到备注一栏了。

图-10

图-11

4) 在上图中有一个细节,就是在备注comment以前,有三个字母,每一个字母下面有个复选框,这是什么意思呢,P是PrimaryIdentifier是否为主键表述的缩写,勾选了P就表明当前被勾选字段是该表的主键。M是Mandatory的缩写,属性值是否容许为空的意思。D是displayed的缩写,表示是否在实体图形符号中显示该属性。

5) 还有一个Identifiers标识符,能够把主键的code拷贝过去,设置这个的好处是,能够在关系图中,一会儿就能清楚地看到某个表的主键是哪一个,是否有设置。

图-12

第五步,建立实体entity之间的一对1、一对多关系的关联relationship。

几种关系:一对一 一对多 多对一 多对多

1) 如今有两个实体,一个是班级,一个是学生,一个班级存在多名学生,一个学生只能在一个班级上课,这就是一对多的关系,在右边悬浮框palette中有一个提示文字为Raletionship的图标,就是关系的映射,点击这个图标,按住鼠标的左键,从一个实体拖往另外一个实体,一般是从一对多的关系开始拖这个图标,到多的实体中止这个图标。

图-13

2) 鼠标拖过以后,再次点击箭头pointer图标,恢复鼠标状态,而后双击关系这条线,对关系进行编辑,对关系的name和code进行命名。

图-14

3) 点击cardinalities栏目,能够对关系从新设置,设置班级和学生的关系是0对N关系,仍是1对N关系,最后点击OK按钮保存。

图-15

第六步,建立实体entity之间的多对多关联association。

1) 在实际场景中,一个学生能够选择多个课程,一个课程也能够被多个学生选择,这就是多对多的关系,在右边悬浮框palette中选择association图表,在空白区域建立一个association,association能够看作是关系变造成的实体,对association极其属性进行命名。

图-16

图-17

2) 接着绘制学生和这张关系的关联,在右边悬浮框中,有一个association link图标,这个图标就是代码实体域关联关系之间的链接,点击这个图标,从实体拖向association,便可创建关系。

至此,概念数据模型cdm的建立已经告一个段落了,你get到了吗?

相关文章
相关标签/搜索