项目一补充三范式--by anita_第1页
项目一补充三范式--by anita_第2页
项目一补充三范式--by anita_第3页
项目一补充三范式--by anita_第4页
项目一补充三范式--by anita_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关系范式理论 成都东软学院 信息管理教研室 李姗办公室 A4201Email LiShan PhoneNo 028 82878195 表的优化 一个关系模式由五部分组成关系名关系中的属性名 也就是列名属性所属的域名属性向域的映射数据间的相互依赖关系根据对关系的不同数据依赖程度 分为第一范式 第二范式 第三范式 BCNF 第四范式和第五范式范式就是对关系的不同数据依赖程度的要求 各范式的关系 4NF BCNF 3NF 2NF 1NF FirstNormalForm 第一范式 第一范式 1NF 是指数据库表的每一列都是不可分割的基本数据项 同一列中不能有多个值 即实体中的某个属性不能有多个值或者不能有重复的属性 FirstNormalForm 第一范式 例如 如下的数据库表是符合第一范式的 字段1字段2字段3字段4而这样的数据库表是不符合第一范式的 字段1字段2字段3字段4字段3 1字段3 2 FirstNormalForm 第一范式 续 相关概念第一范式就是所设计表的每一个分量必须是不可分的数据项 即每一列不许是集合 序列等非原子属性非第一范式转化成第一范式的方法把非原子属性的列变为原子属性的列分解表 关系数据库规范化 关系数据库设计中存在的问题示例 考虑为管理职工的工资信息而设计一个关系模式 思考 存在什么问题 问题 插入异常 如果有职工具有8级工资 则8级工资的工资数额就难以插入 删除异常 如果仅有职工赵明具有4级工资 如果将赵明删除 则有关4级工资的工资数额信息也随之删除了 数据冗余 职工很多 工资级别有限 每一级别的工资数额反复存储多次 更新异常 如果将5级工资的工资数额调为620 则需要找到每个具有5级工资的职工 逐一修改 解决之道 分解 SecondNormalForm 第二范式 第二范式 数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖 部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况 也即所有非关键字段都完全依赖于任意一组候选关键字 SecondNormalForm 第二范式 续 假定选课关系表为SelectCourse 学号 姓名 年龄 课程名称 成绩 学分 关键字为组合关键字 学号 课程名称 因为存在如下决定关系 学号 课程名称 姓名 年龄 成绩 学分 SecondNormalForm 第二范式 续 这个数据库表不满足第二范式 因为存在如下决定关系 课程名称 学分 学号 姓名 年龄 不符合第二范式引发的问题 1 数据冗余 2 更新异常 3 插入异常 4 删除异常 解决方法 把选课关系表SelectCourse改为如下三个表 学生 Student 学号 姓名 年龄 课程 Course 课程名称 学分 选课关系 SelectCourse 学号 课程名称 成绩 第三范式 第三范式 3NF 在第二范式的基础上 数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式 所谓传递函数依赖 指的是如果存在 A B C 的决定关系 则C传递函数依赖于A 第三范式 假定学生关系表为Student 学号 姓名 年龄 所在学院 学院地点 学院电话 关键字为单一关键字 学号 因为存在如下决定关系 学号 姓名 年龄 所在学院 学院地点 学院电话 第三范式 学号 姓名 年龄 所在学院 学院地点 学院电话 这个数据库是符合2NF的 但是不符合3NF 因为存在如下决定关系 学号 所在学院 学院地点 学院电话 引起的问题 数据冗余更新异常插入异常删除异常 解决办法 把学生关系表分为如下两个表 学生 学号 姓名 年龄 所在学院 学院 学院 地点 电话 鲍依斯 科得范式 BCNF 在第三范式的基础上 数据库表中如果不存在任何字段对任一候选关键字段的传递函数依赖则符合第三范式 假设仓库管理关系表为StorehouseManage 仓库ID 存储物品ID 管理员ID 数量 且有一个管理员只在一个仓库工作 一个仓库可以存储多种物品 这个数据库表中存在如下决定关系 仓库ID 存储物品ID 管理员ID 数量 管理员ID 存储物品ID 仓库ID 数量 所以 仓库ID 存储物品ID 和 管理员ID 存储物品ID 都是StorehouseManage的候选关键字 表中的唯一非关键字段为数量 它是符合第三范式的 但是 由于存在如下决定关系 仓库ID 管理员ID 管理员ID 仓库ID 产生的问题 1 删除异常 当仓库被清空后 所有 存储物品ID 和 数量 信息被删除的同时 仓库ID 和 管理员ID 信息也被删除了 2 插入异常 当仓库没有存储任何物品时 无法给仓库分配管理员 3 更新异常 如果仓库换了管

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论