快速上手,使用PowerDesigner做数据库设计(一)

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

为了能够炉火纯青地使用PowerDesigner,还特意买了一本从入门到精通的书,作为参考,最近又把这本书翻了一遍,果真是本参考书,把PowerDesigner里面的菜单全都翻译了一遍,好好地详细地翻译了一遍。如果PowerDesigner使用的不熟练,只有两方面原因,第一:英文不好,第二:使用的少。本人是两者都占到了。

图-1


作为一名使用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就是实体中的主键


                                                            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之间的一对一、一对多关系的关联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到了吗?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,200评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,526评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,321评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,601评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,446评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,345评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,753评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,405评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,712评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,743评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,529评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,369评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,770评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,026评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,301评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,732评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,927评论 2 336

推荐阅读更多精彩内容