第7章数据库课件讲述.ppt
文本预览下载声明
第七章 数据库设计 (续1) 7.4 逻辑结构设计 7.4.1 E-R图向关系模型的转换 7.4.2 数据模型的优化 7.4.3 设计用户子模式 逻辑结构设计 逻辑结构设计就是把概念模型转换成某个具体的数据库管理系统所支持的数据模型 目的:为了能够用某一DBMS实现用户需求 概念结构是各种数据模型的共同基础 逻辑结构设计 逻辑结构设计的步骤 将概念结构转化为一般的关系、网状、层次模型 将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换 对数据模型进行优化 7.4.1 E-R图向关系模型的转换 转换内容 转换原则 E-R图向关系模型的转换(续) E-R图向关系模型的转换要解决的问题 如何将实体型和实体间的联系转换为关系模式 如何确定这些关系模式的属性和码 转换内容 将E-R图转换为关系模型:将实体、实体的属性和实体之间的联系转换为关系模式。 E-R图向关系模型的转换(续) 注意: 从理论上讲,1:1联系可以与任意一端对应的关系模式合并。 但与不同的关系模式合并效率会大不一样。 一般应以尽量减少连接操作为目标。 E-R图向关系模型的转换(续) 三个或三个以上实体间的一个多元联系转换为一个关系模式。 关系的属性:与该多元联系相连的各实体的码以及联系本身的属性 关系的码:各实体码的组合 E-R图向关系模型的转换(续) 三个或三个以上实体间的一个多元联系转换为一个关系模式。 E-R图向关系模型的转换(续) 同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。 例:如果教师实体集内部存在领导与被领导的1:n自联系 教师:{职工号,姓名,性别,职称,系主任} E-R图向关系模型的转换(续) 具有相同码的关系模式可合并。 目的:减少系统中的关系个数。 合并方法:将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性,并适当调整属性的次序。 E-R图向关系模型的转换(例) [例1]有E-R图如下所示,请将其转换为关系模式 E-R图向关系模型的转换(例1续) [例1续]超类和子类的转换 超类、子类实体都可转换为一个关系 并将超类实体的主码加到子类实体中 E-R图向关系模型的转换(例1续) 该E-R图可转换为 职员(职工号,姓名,性别,年龄,入伍时间) 飞行员(职工号,飞行小时,健康检查,飞机型号) 机械师(职工号,学历,级别,专业职称) 管理员(职工号,职务,职称) E-R图向关系模型的转换(例2) [例2]有下图所示E-R图,请转换为关系模式 E-R图向关系模型的转换(例3) E-R图向关系模型的转换(例3续) 两个以上实体的m:n联系 必须为联系单独建立一个关系,该关系至少应包含被它所联系的各实体的“主码”,若联系有属性,也要纳入这个关系中 E-R图向关系模型的转换(例3续) 转换为如下关系模式 供应商(供应商号,供应商名,地址) 零件(零件号,零件名,重量) 项目(项目编号,项目名称,开工日期) 供应(供应商号,项目编号,零件号,零件数) 7.4.3 数据模型的优化 数据库逻辑设计的结果不是唯一的。 得到初步数据模型后,还应该适当地修改、调整数据模型的结构,以进一步提高数据库应用系统的性能,这就是数据模型的优化。 关系数据模型的优化通常以规范化理论为指导。 数据模型的优化(续) 优化数据模型的方法 确定数据依赖 消除冗余的联系 分析关系模式,确定其各属于第几范式 分析这些模式是否适合应用环境,确定是否进行合并或分解 按照应用对数据处理的要求,对关系模式进行必要的分解或合并 ----并不是规范化程度越高的关系就越优 数据模型的优化(续) 并不是规范化程度越高的关系就越优。 对于一个具体应用来说,到底规范化进行到什么程度,需要权衡相应时间和潜在问题两者的利弊才能决定。一般说来,第三范式就足够了。 数据模型的优化(续) 常用的关系模式分解方法 水平分解:把(基本)关系的元组分为若干子集合 ----适用于并发事务经常存取不相交的数据 学生选课系统关系模式 7.4 逻辑结构设计 7.4.1 E-R图向关系模型的转换 7.4.2 数据模型的优化 7.4.3 设计用户子模式 7.4.3 设计用户子模式 结合具体DBMS特点,设计用户的外模式 可利用View功能设计更符合局部用户需要的外模式 定义用户的外模式可注重考虑用户的习惯与方面 使用更符合用户习惯的别名 针对不同级别的用户定义不同的View,以满足安全性要求 简化用户对系统的使用 逻辑结构设计小结 任务 将概念结构转化为具体的数据模型 逻辑结构设计的步骤 将概念结构转化为一般的关系、网状、层次模型 将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换 对数据模型进行优化 设计用户子模式 7.
显示全部