




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
管理学院信息管理系肖洁 数据库原理及应用 第4章关系数据库规范化理论 本章要点 函数依赖范式及其类型关系模式分解关系模式规范化步骤 一 问题的提出 不合理的关系模式到底存在什么问题 下面举一个实例讨论一下 首先给出一个关系模式 学生S 学号 姓名 性别 年龄系名 系主任姓名 课程名 成绩 具体问题描述如下 1 一个系有若干名学生 但一名学生只属于一个系 2 一个系只有一名系主任 正职 3 一名学生可以选修多门课程 每门课程有若干学生选修 4 每名学生学习一门课程有一个成绩 学生关系 在对数据库操作的时候 会出现以下问题 1 冗余太大 2 更新异常 3 插入异常 4 删除异常由于该关系模式存在如上毛病 因此它是一个 不好 的关系模式 一个 好 的关系模式应该不会产生插入异常和删除异常 冗余度应尽可能的小 该关系模式之所以会产生上述问题 是因为这个关系模式中的函数依赖存在某些不好的性质 如果把它改造一下 分成三个关系模式 S1 学号 姓名 年龄 性别 系名 学号为主键 S2 系名 系主任姓名 系名为主键 S3 学号 课程名 成绩 学号 课程名 为主键 这样就不会产生上述问题 如何改造一个 不好 的关系模式 使之成为一个 好的 合理的关系模式 就是下面要讨论的问题 关系规范化 数据依赖 通过一个关系中属性间值的相等与否体现出来的数据间的相互关系 1 函数依赖假设R U 是属性集U上的关系模式 X Y是U的子集 若对于R U 的任意一个可能的关系r r中不可能存在两个元组在X上的属性值相等 而在Y上的属性值不等 则称 X函数确定Y 或 Y函数依赖于X 记作 X Y 二 函数依赖 几点说明 1 注意函数依赖不是指关系模式R的某个或某些关系满足的约束条件 而是指R的一切关系均要满足的约束条件 2 若X Y 则称X为这个函数依赖的决定因素 Determinant 3 若X Y 并且Y X 则记为X Y 4 若Y不函数依赖于X 则记为X Y 2 平凡函数依赖与非平凡函数依赖在关系模式R U 中 对于U的子集X和Y 如果X Y 但Y不包含于X 则称X Y是非平凡函数依赖 若Y包含于X 则称X Y为平凡函数依赖 若不特别说明 讨论的都是非平凡的函数依赖 3 完全函数依赖与部分函数依赖 1 如果X Y 并且对于X的任何一个真子集X 都有fX Y 则称Y完全函数依赖于X 记作X Y 2 如果X Y 但Y不完全函数依赖于X 则称Y部分函数p依赖于X 记作X Y 4 传递函数依赖在关系模式R U 中 如果X Y Y Z 且Y不包含于X Z不包含于Y Y X 则称Z传递函数依赖于X 例如 在上面提出的学生关系 学生 学号 姓名 系名 系主任姓名 课程名 成绩 中存在以下函数依赖 学号 姓名学号 系名系名 系主任姓名 学号 课程名 成绩传递学号 系主任姓名 规范化 通过分解把属于低级范式的关系模式转换为几个属于高级范式的关系模式的集合 这一过程称为规范化 Normalization 三 范式与规范化 1 第一范式如果关系模式R的所有属性都是不可分的基本数据项 则这个关系属于第一范式 1NF 注 不满足第一范式的数据库模式 不能称为关系数据库 三 范式与规范化 2 第二范式如果关系模式R属于第一范式 且每个非主属性都完全函数依赖于主关键字 则这个关系属于第二范式 2NF 注 第二范式不允许部分函数依赖 例 关系模式学生 学号 姓名 系名 系主任姓名 课程名 成绩 存在以下部分函数依赖 p 学号 课程名 姓名 系名 系主任姓名 2NF模式分解 1 把R的属性分开 以构成两个新的关系模式 2 通过对R的元组进行投影而产生两个新的关系 模式分解后 学生关系分解成S1和S2 S1 学号 姓名 系名 系主任姓名 2NF学号 姓名 系名 系主任姓名系名 系主任姓名S2 学号 课程名 成绩 2NF 学号 课程名 成绩 3 第三范式若关系模式R属于第一范式 且每个非主属性都不传递依赖于主关键字 则R属于第三范式 3NF 注 属于第三范式的关系模式 必然属于第二范式 因为可以证明部分函数依赖中含有传递依赖 举例 S1 学号 姓名 系名 系主任姓名 3NF模式分解后 学生关系分解成S11和S12 S11 学号 姓名 系名 3NF学号 姓名 系名 S12 系名 系主任姓名 3NF系名 系主任姓名 4 BC范式若关系模式R属于第一范式 且每个属性都不传递依赖于主关键字 则R属于BC范式 BCNF 注 任何满足BC范式的关系模式都必然满足第三范式 BCNF条件每个非平凡依赖的左边必须包含主关键字 等价于每个决定因素必须包含主关键字 举例 S11 学号 姓名 系名 BCNF学号 姓名 系名 S12 系名 系主任姓名 BCNF系名 系主任姓名S2 学号 课程名 成绩 BCNF 学号 课程名 成绩 1 无损连接如果对新的关系进行自然连接得到的元组的集合与原关系完全一致 则称为无损连接 它反映了模式分解的数据等价原则 2 保持依赖如果分解后总的函数依赖集与原函数依赖集保持一致 则称为保持依赖 它反映了模式分解的依赖等价原则 依赖等价原则保证了分解后的模式与原有的模式在数据语义上的一致性 四 关系分解原则 关系模式规范化的步骤可以分为如下几步 1 对1NF关系进行投影 消除原关系中非主属性对主关键字的部分函数依赖 将其转换为若干个2NF关系 2 对2NF关系进行投影 消除原关系中非主属性对主关键字的传递函数依赖 将其转换为若干个3NF关系 3 对3NF关系进行投影 消除原关系中主属性对主关键字的部分函数依赖和传递函数依赖 即为使决定因素都包含候选关键字 将其转换为若干个BCNF关系 五 关系模式规范化步骤 练习题 一 设有关系模式R 职工编号 日期 日营业额 部门名 部门经理 该模式统计商店里每个职工的日营业额 以及职工所在的部门和经理信息 如果规定 每个职工每天只有一个营业额 每个职工只在一个部门工作 每个部门只有一个经理 1 试根据上述规定 写出关系模式R的基本函数依赖和主关键字 2 说明R不是2NF模式的理由 并把R分解成2NF模式集 3 进而把R分解成3NF模式集 并说明理由 参考答案 1 R的基本FD有3个 职工编号 日期 日营业额职工编号 部门名部门名 部门经理关键码为 职工编号 日期 2 根据 1 R中存在下列两个FD 职工编号 日期 部门名 部门经理 职工编号 部门名 部门经理 其中前一个FD是一个部分依赖 因此R不是2NF模式 R应分解成两个模式 R1 职工编号 部门名 部门经理 2NFR2 职工编号 日期 日营业额 2NF 练习题 3 R2已经是3NF模式 在R1中 由于存在两个FD 职工编号 部门名部门名 部门经理即存在一个传递依赖 因此R1不是3NF模式 对R1应分解成两个模式 R11 职工编号 部门名 3NFR12 部门名 部门经理 3NF因此 R分解成3NF模式集时 R11 R12 R2 练习题 练习题 二 设有一个记录各个球队队员每场比赛进球数的关系模式R 队员编号 比赛场次 进球数 球队名 队长号 如果规定每个队员只能属于一个球队 每个球队只有一个队长 要求 1 试根据上述规定 写出关系模式R的基本函数依赖和主关键字 2 说明R不是2NF模式的理由 并把R分解成2NF模式集 3 进而把R分解成3NF模式集 并说明理由 练习题 三 设有关系模式R 职工名 项目名 工资 部门号 部门经理 如果规定每个职工可参加多个项目 各领一份工资 每个项目只属于一个部门管理 每个部门只有一个经理 要求 1 试根据上述规定 写出关系模式R的基本函数依赖和主关键字 2 说明R不是2NF模式的理由 并把R分解成2NF模式集 3 进而把R分解成3NF模式集 并说明理由 练习题 四 已知某书店销售订单的屏幕输出格式如下图所示 书店的业务描述 1 每一个订单有唯一的订单编号 2 一个订单可以订购多种图书 且每一种图书可以在多个订单中出现 3 一个订单对应一个客户 且一个客户可以有多个订单 4 每一个客户有唯一的客户编号 5 每一种图书有唯一的图书编号 根据上述业务描述和订单格式得到关系模式R R 订单编号 日期 客户编号 客户名称 客户电话 地址 图书编号 书名 定价 数量 试回答下列问题 1 写出R的基本函数依赖集和关键码 2 说明R不是2NF模式的理由 并把R分解成2NF模式集 3 进而把R分解成3NF模式集 并说明理由 练习题 练习题 五 假设某公司销售业务中使用的订单格式如下 订单号 1145订货日期 09 15 2008客户名称 ABC客户电话 84141763总金额 12000 00公司的业务规定 1 订单号是唯一的 每张订单对应一个订单号 2 一张订单可以订购多种产品 每一种产品可以在多个订单中出现 3 一张订单有一个客户 且一个客户可以有多张订单 4 每一个产品编号对应一种产品的品名和价格 5 每一个客户有一个确定的名称和电话号码 根据上述表格和业务规则设计关系模式 R 订单号 订货日期 客户名称 客户电话 产品编号 品名 价格 数量 试回答下列问题 1 写出R的基本函数依赖集和关键码 2 说明R不是2NF模式的理由 并把R分解成2NF模式集 3 进而把R分解成3NF模式集 并说明理由 练习题 练习题 六 某小区的物业管理系统关系数据库有如下几个关系模式 描述楼房的属性有 楼号 开发单位 施工单位 完工时间 描述每一套住房的属性有 楼号 房号 户型 建筑面积 户主姓名 身份证号 工作单位 联系电话 家庭人口数 入住时间 描述物业管理缴费记录的属性有 房号 费用种类 缴费时间 金额
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广西促销活动方案策划公司
- 平台网络安全应急预案方案
- 策划餐饮行业活动方案
- 亚运游园活动方案策划
- 班级活动策划方案公司问题
- 舟山建筑沙盘大赛方案设计
- 骨髓穿刺术的护理
- 统计工作年底工作总结
- 项目咨询方案报价明细
- 全民健身中心活动策划方案
- 公安援疆工作总结
- 湖南省益阳市2026届高三9月教学质量监测数学试题(含答案)
- 第8课《网络新世界》第一课时-统编版《道德与法治》四年级上册教学课件
- 2025秋人教版美术七年级第一单元 峥嵘岁月第1课 情感表达2
- 2025年审计部招聘考试模拟题及答案详解
- 2025年招聘市场年中洞察报告-瀚纳仕
- Bowtie安全分析培训课件
- 2025年大学生英语六级必考词汇表全部汇编(带音标)
- DL∕T 1867-2018 电力需求响应信息交换规范
- 版良性前列腺增生诊疗指南PPT
- 【EHS领导力培训】安全领导力与执行力培训(86页)
评论
0/150
提交评论