- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
确定属性的原则 作为属性,不能再具有需要描述的性质。即属性必须是不可分的数据项,不能包含其他属性。 属性不能与其他实体具有联系,即E-R图中所表示的联系是实体之间的联系。 例如: 确定属性的原则 例如:在医院中,一个病人只能住一个病房,病房号可以作为病人实体的一个属性;但是如果病房还要与医生实体发生联系,即一个医生负责几个病房的病人的医疗工作,则应根据准则2把病房作为一个实体。 使用对象资源管理器创建索引 例6 数据库设计 三个或三个以上实体的联系(续) 教师 课程 讲授 教师号 课程号 姓名 课程名 m n 教材 教材ISBN号 教材名称 p 讲授(教师号,课程号,教材ISBN号) 5、同一实体集的实体间联系 同一实体集的实体间的联系,即自联系,也 可按上述1:1、1:n和m:n三种情况分别处理。 例7 如果教师实体集内部存在领导与被领导 的1:n自联系,可以将该联系与教师实体合并, 这时主码教师号将多次出现,但作用不同,可用 不同的属性名加以区分: 教师(教师号, 姓名, 性别, 职称, 系主任) 数据库设计 实体间联系的转换(续) 6、具有相同码的关系模式 具有相同码的关系模式可合并。 目的:减少系统中的关系个数。 合并方法:将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性的次序。 数据库设计 实体间联系的转换(续) 例8 “住宿”关系模式: 住宿(学号,宿舍号) “学生”关系模式: 学生(学号,姓名,性别,出生日期,专业) 合并为一个关系模式: 学生(学号,姓名,性别,出生日期,专业, 宿舍号) 数据库设计 具有相同码的关系模式(续) 二、 数据模型的优化 得到初步数据模型后,还应该适当地修改、调整数据模型的结构,以进一步提高数据库应用系统的性能,这就是数据模型的优化。 关系数据模型的优化通常以规范化理论为指导。 数据模型优化的方法 确定数据依赖 消除冗余的联系 确定所属的范式 分解或合并 数据库设计 1、确定数据依赖 根据需求分析阶段得到的语义,确定各关系 模式属性之间的数据依赖以及不同关系模式属性 间的数据依赖。 例9 Product关系中 ProductID →ProductName ProductID →UnitPrice Orders’关系中 (EmployeeID,CustomerID,ProductID) →OrderDate Product关系中的CategoryID与Categories关系中的 CategoryID存在数据依赖: Categories.CategoryID →Products.CategoryID 数据模型的优化方法(续) 数据库设计 2、对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。 例10 数据库设计 数据模型的优化方法(续) 学生 班级 教师 组成 教学 管理 1 n p m 1 1 课程名 管理 n 1 消除冗余联系(续) 找到描述实体间联系的函数依赖集F: 学生→班级; 班级 教师; (学生,教师) →课程名; 学生→教师 找到F的最小函数依赖集F’: 学生→班级; 班级 教师; (学生,教师) →课程名; F-F’={学生→教师},因此学生与教师的管理联系是冗余联系。 数据库设计 消除冗余联系(续) 消除冗余联系的E-R图 数据库设计 学生 班级 教师 组成 教学 管理 1 n p m 1 课程名 1 3、确定所属的范式 按照数据依赖的理论对关系模式逐一进行 分析,考查是否存在部分函数依赖、传递函数 依赖、多值依赖等,确定各关系模式分别属于 第几范式。 数据库设计 数据模型的优化方法(续) 数据模型的优化(续) 4、分解或合并 按照需求分析阶段得到的各种应用对数据处 理 的要求,对关系模式进行必要的分解或合并, 以提高数据操作的效率和存储空间的利用率。 常用分解方法 水平分解 垂直分解 数据库设计 分解或合并(续) (1)水平分解 把(基本)关系的元组分为若干子集合,定义每个子集合为一个子关系,以提高系统的效率。 水平分解的适用范围 满足“80/20原则”的应用 并发事务经常存取不相交的数据 数据库设计 分解或合并(续) (2)垂直分解 把关系模式R的属性分解为若干子集合,形成若干子关系模式。 垂直分解的原则 经常在一起使用的属性从R中分解出来形成一个子关系模式。 数据库设计 分解或合并(续)
文档评论(0)