PowerDesigner设计数据库使用规范

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PowerDesigner设计数据库使用步骤及规范

使用PowerDesigner可以方便地对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程。它可以制作多种数据模型,也能对团队设计模型进行控制。还可以与许多流行的软件开发工具,例如PowerBuilder、Delphi、VB等相配合使系统设计更优化并缩短开发时间。

并不是每个设计都需要用到PD,对于比较大型的项目,它是很好的,对于短平快类型的项目,例如时间要求一周左右的系统,没有必要使用,直接维护数据库即可,对于表的数量超过10个的系统,建议使用PD进行设计和交流。1.创建概念数据模型(CDM)

1.1创建CDM步骤

选择文件 建立新模型,弹出如图所示对话框,选择ConceptualDataModel 模型(即概念数据模型),单击OK,即确认创建。

双击资源浏览窗口中新创建的CDM 名称图标,打开CDM 模型属性窗口,进

行相关属性信息设置。如下图:

1.2对象命名通用规范

以下三种规范属于基本规范,适用于本文所有数据库对象命名规范。

1、长度规范:凡是需要命名的对象其标识符均不能超过3个英文单词长度(30个字符),也即:Oracle中的表名、字段名,函数名,过程名,触发器名,序列名,视图名的长度均不能超过3个英文单词长度(30个字符);

2、构成规范:数据库各种名称必须以字母开头,但严禁使用SYS开头;名称只能含有字母,数字和下划线“_”三类字符,“_”用于间隔名称中的各语义字段;不要使用DUAL作表名;

3、大小写规范:构成Oracle数据库中的各种名称(表明,字段名,过程名,视图名等等)的所有字符,必须使用大写,也就是不能在脚本中,对任何名称添加双引号“”来设定字符的大小写形式,只要不采用“”限制,Oracle自动会将各名称转化成大写。

2.进行ER设计的准备工作

2.1实体命名不相同检查

PowerDesigner默认不能存在相同名称的实体属性,这也是考虑到可能产生的一些如主键外键等名称冲突问题,但当进行实际数据库设计时,可能会多次使用相同数据项(DataItem)便于理解各实体。为此需要对更改PowerDesigner相关设置。软件默认DataItem不能重复使用,需要进行以下操作:选择工具 Model Options,在Model Setting 设置目录中,将Data Item下的Unique Code取消选中即可,系统默认将Unique Code和Allow Reuse均选中。

同时该设置均是面向特定模型的,即针对当前模型有效,若希望在其它模型中也有此命名设置,则需要重新进行设置。不过在Check Model 时,如果选择全部Check,则依旧会报DataItem重名的错误信息,这时需要我们在人为检查确认数据项无误时,可以在选择不对DataItem不检查,如下图示:

3.定义实体

3.1创建entity

3.1.1 创建entity步骤

1、在CDM的图形窗口中,单击工具选项版上的Entity工具,再单击图形窗口的空白处,在单击的位置就出现一个实体符号。点击Pointer工具或右击鼠标,释放Entity工具。如图所示:

2、双击刚创建的实体符号,打开下列图标窗口,在此窗口“General”标签中可以输入实体的名称、代码、描述等信息。

Name:是用来在模型中标识一个实体,一般用于模型在界面中的显示(这个可以通过更改选项设置进行改变)。在一个模型当中,实体的名字不能重复。

Code:在模型转化时一般作为对象的物理名称,比如把实体属性的Code转化为数据库中的列名,一般采取与Name一致。

Generate:默认是选择状态,如果取消,则在转化为其他模型时,会忽略这个实体。

3.1.2entity命名规范

CDM中的实体等价于PDM中的表。

1、表的命名只能使用英文字母,数字和下划线。

2、命名以是名词的复数形式,如cities,categories,friends等。

3、命名名尽量用全名。

4、若库中有多个系统,表名采用系统名称+单词或多个单词,系统名是开发系统的缩写,系统名称全部采用小写英文字符,如bbs_title,bbs_torum_type。若库中只含有一个系统,那么表名仅用一个单词或多个单词。

5、单词选择能够概括表内容的一个或多个英文单词,单词间用下划线"_"分割,如user_info,user_type。

6、关连表命名规则为“表A_表B”,如:user_articletype,user_formtype。

3.2 添加entity属性

3.2.1 添加entity属性步骤

1)在上述窗口的“Attribute”选项标签上可以添加属性,如下图所示。

注意:

数据项中的“添加属性”和“重用已有数据项”这两项功能与模型中Data Item 的Unique code 和Allow reuse选项有关。

P列表示该属性是否为主标识符;D列表示该属性是否在图形窗口中显示;M列表示该属性是否为强制的,即该列是否为空值。

如果一个实体属性为强制的,那这个属性在每条记录中都必须被赋值,不能为空。

按“Crtl+U”呼出“定制列过滤器”的窗口,可以根据自己的喜好和实际需要选择那些列出现在窗口中,那些隐藏。使用快捷键“Crtl+E”可以允许或者禁止当前过滤器。

2)在上图所示窗口中,点击属性按钮,弹出属性对话框,如下图所示。

3.2.2 添加entity属性规范

3.1.2.1 字段设计规范

1、表名的name为汉字,code为字母;表中字段的name为汉字,并与备注是相同的;code为字母;

2、一个表中的字段不要太多,理论上不要超过80个。

3、一个表中的各字段的访问频繁度应该基本一致。

4、一个表中的所有字段,应当能存储在一个数据块中(BLOCK),也即:表的单行字段总长度

5、每个字段必须有注释,说明其含义,对于冗余字段还要特别说明其维护方法,外键字段说明参照与哪个表。

6、字段尽可能有默认值,字符型的默认值为一个空字符值串,数字型的默认值为数值0。

7、存储图片,视频,音频,文件,500字节以上文本等占用太多空间的字段(大对象字段),不能和其他字段存储在一个表中。

相关文档
最新文档