第3章_关系数据库设计.ppt
文本预览下载声明
3.2.3 局部视图的集成(续) 合并分E-R图,生成初步E-R图 由于各个局部应用面向的问题不同,设计人员通常也不同,因此,各个分E-R图可能会存在许多不一致的地方,称之为冲突。 在合并分E-R图的时候,必须解决这些冲突。 冲突的种类 结构冲突 命名冲突 属性冲突 3.2.3 局部视图的集成(续) 消除不必要的冗余,生成基本E-R图 在初步E-R图中,虽然解决了冲突,但还可能存在一些冗余数据和冗余联系。 冗余数据和冗余联系容易破坏数据的完整性,给数据库的更新和维护增加困难,应当予以消除。 例如,在下图中,学生和专业之间的“属于3”联系就是一个冗余联系,专业人数ns是一个冗余数据。 并不是所有的冗余数据和冗余联系都必须予以消除的。有时为了提高查询效率,不得不以数据冗余作为代价。 3.2.3 局部视图的集成(续) 集成后的基本E-R图(省略了各个实体的属性) 3.2.3 局部视图的集成(续) 将局部视图集成为一个全局概念模型之后,还需要对这个全局概念模型作进一步的验证,以确保它能满足以下三个条件: 全局概念模型内部具有一致性,不存在相互矛盾的表达; 全局概念模型应能准确反映原来的每一个局部视图; 全局概念模型应能满足需求分析阶段确定的所有用户需求。 第3章 关系数据库设计 3.1 数据库设计概述 3.2 概念结构设计 3.3 逻辑结构设计 3.4 本章小结 3.3 逻辑结构设计 概念模型是独立于任何一种数据库管理系统的、更加抽象的模型,若要实现数据库,还需选择一种具体的数据库管理系统,将概念模型(即概念结构设计阶段得到的基本E-R图)转换为数据库赖以计算机实现的、由该数据库管理系统支持的数据模型(即逻辑模型,如关系模型),这一过程就是逻辑结构设计。 由于目前设计的数据库应用系统大都采用关系数据库管理系统,因此,这里只讨论E-R图向关系模型的转换。 3.3.1 E-R图向关系模型的转换 E-R图向关系模型的转换,实际上就是要将E-R图中的实体以及实体之间的联系转换为若干个关系模式,并确定其中的属性和码。 E-R图向关系模型的转换需要遵循以下原则: 实体的转换 一个实体(型)转换为一个关系模式,关系模式的属性就是实体的属性,关系模式的码就是实体的码。 本例中的六个实体分别转换为以下六个关系模式(其中,关系模式的码用下划线标明): 学生(学号,姓名,性别,年龄,班级) 课程(课程号,课程名,学分,课程简介) 老师(老师编号,姓名,性别,年龄,职称,学历) 图书(书号,书名,作者,出版社,出版时间) 图书类型(类型名,借阅期限) 图书管理员(职工号,姓名,性别,职称) 3.3.1 E-R图向关系模型的转换(续) 二元联系的转换 一对一联系有以下两种转换方法 转换为一个独立的关系模式,关系模式的属性包括与该联系相连的两端实体的码以及联系本身的属性,关系模式的码可以是任何一端实体的码。 可以和任何一端实体转换得到的关系模式合并,即在被合并的关系模式中增加与该联系相连的另一端实体的码以及联系本身的属性,合并后的关系模式的码保持不变。 3.3.1 E-R图向关系模型的转换(续) 例如,班主任和班级之间具有一对一的管理联系。 可以转换为以下三个关系模式: 班主任(职工号,姓名,性别,年龄,职称) 班级(班级号,班级人数,所属专业) 管理(班级号,职工号,开始时间) 或 管理(职工号,班级号,开始时间) 或两个关系模式: 班主任(职工号,姓名,性别,年龄,职称,班级号,开始时间) 班级(班级号,班级人数,所属专业) 或 班主任(职工号,姓名,性别,年龄,职称) 班级(班级号,班级人数,所属专业,职工号,开始时间) 和哪一端的关系模式合并会更好一些呢? 3.3.1 E-R图向关系模型的转换(续) 二元联系的转换(续) 一对多联系有以下两种转换方法 转换为一个独立的关系模式,关系模式的属性包括与该联系相连的两端实体的码以及联系本身的属性,关系模式的码就是n端实体的码 。 可以和n端实体转换得到的关系模式合并,即在n端实体转换得到的关系模式中增加与该联系相连的另一端实体(即1端实体)的码(该属性在合并后的关系模式中还是一个外码)以及联系本身的属性,合并后的关系模式的码保持不变。 3.3.1 E-R图向关系模型的转换(续) 例如,图书类型和图书之间具有一对多的属于联系。 可以转换为以下三个关系模式(其中,外码用斜体标明): 图书(书号,书名,作者,出版社,出版时间) 图书类型(类型名,借阅期限) 属于(书号,类型名) 或两个关系模式: 图书(书号,书名,作者,出版社,出版时间,类型名) 图书类型(类型名,借阅期限) 3.3.1 E-R图向关系模型的转换(续) 二元联系的转换(续) 多对多联系的转换方法 转换为一个独立的关系模式,关系
显示全部