1、1、在 powerdesigner 中进行数据库的概念设计(一)一、概念数据模型概述数据模型是现实世界中数据特征的抽象。数据模型应该满足三个方面的要求:1)能够比较真实地模拟现实世界2)容易为人所理解3)便于计算机实现概念数据模型也称信息模型,它以实体联系(Entity-RelationShip,简称 E-R)理论为基础,并对这一理论进行了扩充。它从用户的观点出发对信息进行建模,主要用于数据库的概念级设计。通常人们先将现实世界抽象为概念世界,然后再将概念世界转为机器世界。换句话说,就是先将现实世界中的客观对象抽象为实体(Entity)和联系(Relationship),它并不依赖于具体的计算机
2、系统或某个 DBMS 系统,这种模型就是我们所说的 CDM;然后再将 CDM 转换为计算机上某个 DBMS 所支持的数据模型,这样的模型就是物理数据模型,即 PDM。CDM 是一组严格定义的模型元素的集合,这些模型元素精确地描述了系统的静态特性、动态特性以及完整性约束条件等,其中包括了数据结构、数据操作和完整性约束三部分。1)数据结构表达为实体和属性;2)数据操作表达为实体中的记录的插入、删除、修改、查询等操作;3)完整性约束表达为数据的自身完整性约束(如数据类型、检查、规则等)和数据间的参照完整性约束(如联系、继承联系等);二、实体、属性及标识符的定义实体(Entity),也称为实例,对应现
3、实世界中可区别于其他对象的“事件”或“事物”。例如,学校中的每个学生,医院中的每个手术。每个实体都有用来描述实体特征的一组性质,称之为属性,一个实体由若干个属性来描述。如学生实体可由学号、姓名、性别、出生年月、所在系别、入学年份等属性组成。实体集(Entity Set)是具体相同类型及相同性质实体的集合。例如学校所有学生的集合可定义为“学生”实体集,“学生”实体集中的每个实体均具有学号、姓名、性别、出生年月、所在系别、入学年份等性质。实体类型(Entity Type)是实体集中每个实体所具有的共同性质的集合,例如“患者”实体类型为:患者门诊号,姓名,性别,年龄,身份证号.。实体是实体类型的一个
4、实例,在含义明确的情况下,实体、实体类型通常互换使用。实体类型中的每个实体包含唯一标识它的一个或一组属性,这些属性称为实体类型的标识符(Identifier),如“学号”是学生实体类型的标识符,“姓名”、“出生日期”、“信址”共同组成“公民”实体类型的标识符。有些实体类型可以有几组属性充当标识符,选定其中一组属性作为实体类型的主标识符,其他的作为次标识符。三、实体、属性及标识符的表达介绍 PowerDesigner 概念数据模型以及实体、属性创建。一、新建概念数据模型1)选择 FileNew,弹出如图所示对话框,选择 CDM 模型(即概念数据模型)建立模型。2)完成概念数据模型的创建。以下图示
5、,对当前的工作空间进行简单介绍。(以后再更详细说明)3)选择新增的 CDM 模型,右击,在弹出的菜单中选择“Properties”属性项,弹出如图所示对话框。在“General”标签里可以输入所建模型的名称、代码、描述、创建者、版本以及默认的图表等等信息。在“Notes”标签里可以输入相关描述及说明信息。当然再有更多的标签,可以点击 “More“按钮,这里就不再进行详细解释。二、创建新实体1)在 CDM 的图形窗口中,单击工具选项版上的 Entity 工具,再单击图形窗口的空白处,在单击的位置就出现一个实体符号。点击 Pointer 工具或右击鼠标,释放 Entitiy 工具。如图所示2)双击
6、刚创建的实体符号,打开下列图标窗口,在此窗口“General”标签中可以输入实体的名称、代码、描述等信息。三、添加实体属性1)在上述窗口的“Attribute”选项标签上可以添加属性,如下图所示。注意:数据项中的“添加属性”和“重用已有数据项”这两项功能与模型中 Data Item 的 Unique code 和 Allow reuse 选项有关。P 列表示该属性是否为主标识符;D 列表示该属性是否在图形窗口中显示;M 列表示该属性是否为强制的,即该列是否为空值。如果一个实体属性为强制的,那么,这个属性在每条记录中都必须被赋值,不能为空。2)在上图所示窗口中,点击插入属性按钮,弹出属性对话框,
7、如下图所示。注意:这里涉及到域的概念,即一种标准的数据结构,它可应用至数据项或实体的属性上一、定义属性的标准检查约束标准检查约束是一组确保属性有效的表达式。在实体属性的特性窗口,打开如图所示的检查选项卡。在这个选项卡可以定义属性的标准检查约束,窗口中每项的参数的含义,如下参数说明 Minimum 属性可接受的最小数 Maximum 属性可接受的最大数 Default 属性不赋值时,系统提供的默认值 Unit 单位,如公里、吨、元 Format 属性的数据显示格式Lowercase 属性的赋值全部变为小写字母 Uppercase 属性的赋值全部变为大写字母 Cannot modify 该属性一旦
8、赋值不能再修改 List Of Values 属性赋值列表,除列表中的值,不能有其他的值 Label 属性列表值的标签二、定义属性的附加检查当 Standard checks 或 Rules 不能满足检查的要求时,可以在 Additional Checks 选项卡的 Server 子页上,通过 SQL 语句中使用%MINMAX%、%LISTVAL%、%RULES%、%UPPER%、%LOWER%几个变量来定义 Standard 和 Rule,如图所示%MINMAX%、%LISTVAL%、%UPPER%、%LOWER%在 Standard Check 中定义的 Minimum 和 Maximum
9、、List values 、uppervalues、lowervalues%RULES%在 Rules 特性窗口 Expression 选项卡中定义的有效性规则表达式一、标识符标识符是实体中一个或多个属性的集合,可用来唯一标识实体中的一个实例。要强调的是,CDM 中的标识符等价于 PDM 中的主键或候选键。每个实体都必须至少有一个标识符。如果实体只有一个标识符,则它为实体的主标识符。如果实体有多个标识符,则其中一个被指定为主标识符,其余的标识符就是次标识符了。二、如果定义主、次标识符1)选择某个实体双击弹出实体的属性对话框。在 Identifiers 选项卡上可以进行实体标识符的定义。如下图所示2)选择第一行“主标识符”,点击属性按钮或双击第一行“主标识符”,弹出属性对话框,如图所示