您的位置:首页 > 数据库

IDEF1x语义建模方法及其在数据库设计中的应用2----例子:选课系统

2012-04-18 16:56 615 查看
2009-05-27 16:34
方角矩形的图表示它是独立实体,不依赖于其他实体而单独存在;圆角矩形的图表示它是依赖实体,它的存在依赖于其他实体。

使用IDEF1X方法创建E-R模型的步骤如下:

(1)初始化工程

这个阶段的任务是从目的描述和范围描述开始,确定建模目标,开发建模计划,组织建模队伍,收集源材料,制定约束和规范。收集源材料是这阶段的重点。通过调查和观察结果,业务流程,原有系统的输入输出,各种报表,收集原始数据,形成了基本数据资料表。本例中我们必须了解学生选课的过程以及收集此过程中产生的文档和原始数据。

(2)定义实体

实体集成员都有一个共同的特征和属性集,可以从收集的源材料—基本数据资料表中直接或间接标识出大部分实体。根据源材料名字表中表示物的术语以及具有“代码”结尾的术语,如客户代码、代理商代码、产品代码等将其名词部分代表的实体标识出来,从而初步找出潜在的实体,形成初步实体表。在学生选课模型中我们可以初步确定的实体包括学生、单位、教研室、教师和课程。

(3)定义联系

IDEF1X模型中只允许二元联系,n元联系必须定义为n个二元联系。根据实际的业务需求和规则,使用实体联系矩阵来标识实体间的二元关系,然后根据实际情况确定出连接关系的势、关系名和说明,确定关系类型,是标识关系、非标识关系(强制的或可选的)还是非确定关系、分类关系。如果子实体的每个实例都需要通过和父实体的关系来标识,则为标识关系,否则为非标识关系。非标识关系中,如果每个子实体的实例都与而且只与一个父实体关联,则为强制的,否则为非强制的。如果父实体与子实体代表的是同一现实对象,那么它们为分类关系。在学生选课模型中,教研室实体的每个实例都必须依赖单位实体来唯一确定,所以它们之间是标识关系,教研室是依赖实体;而学生和单位、教师和教研室之间是非标识关系;学生和课程、教师和课程之间都是多对多的非确定关系。

(4)定义码

通过引入交叉实体除去上一阶段产生的非确定关系,然后从非交叉实体和独立实体开始标识侯选码属性,以便唯一识别每个实体的实例,再从侯选码中确定主码。为了确定主码和关系的有效性,通过非空规则和非多值规则来保证,即一个实体实例的一个属性不能是空值,也不能在同一个时刻有一个以上的值。找出误认的确定关系,将实体进一步分解,最后构造出IDEF1X模型的键基视图(KB图)。在本例中,学生和课程实体在传统的E-R模型中是多对多关系,也就是IDEF1x中的非确定关系,我们引入交叉实体学生选课,将其转化为两个一对多的关系,教师和课程的关系也是如此处理的。其中学生选课和教师教课两个实体分别需要引入学生实体、教师实体以及课程实体的键属性才能唯一确定,所以这两个实体是依赖实体,其上的关系就是标识关系。

(5)定义属性
从源数据表中抽取说明性的名词开发出属性表,确定属性的所有者。定义非主码属性,检查属性的非空及非多值规则。此外,还要检查完全依赖函数规则和非传递依赖规则,保证一个非主码属性必须依赖于主码、整个主码、仅仅是主码。以此得到了至少符合关系理论第三范式的改进的IDEF1X模型的全属性视图。

(6)第五步——定义其他对象和规则

定义属性的数据类型、长度、精度、非空、缺省值、约束规则等。定义触发器、存储过程、视图、角色、同义词、序列等对象信息。

在图4的学生选课模型图中,表示联系的连线上的D:R、U:R等符号表示设置的关系的规则:D:删除;U:更新;I:插入;R:限制;C:级联;SN:设置为空。如D:C 就表示删除级联规则,D:R表示删除限制规则。若定义父删除限制就是指如果子实体中有对应与父实体键值的某条记录时,当删除父实体的这条记录时,不允许删除。而定义父删除级联就是指如果子实体中有对应与父实体键值的某条记录时,当删除父实体的这条记录时,允许删除并将子实体中的相应的记录也删除。 存在对应的记录就是指相应的外键字段值相等。

建模工具可以根据这些规则自动生成物理数据库中更新、插入和删除的触发器。

转自:http://hi.baidu.com/liuxf1988/blog/item/f1c44fd5175e5209a08bb761.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: