4第01章_(7.8).ppt_第1页
4第01章_(7.8).ppt_第2页
4第01章_(7.8).ppt_第3页
4第01章_(7.8).ppt_第4页
4第01章_(7.8).ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

转换过程示意图 E R图 关系模型 DBMS 上讲复习 关系代数 传统的集合操作关系代数专门的关系操作 软件公司商品表 编号软件名称盘数单价开发单位0001KV30007100 00金山公司0002金山词霸528 00金山公司0003金山快译228 00金山公司0004虚拟人生138 00清华大学0005教学软件9300 00清华大学0006超级解霸638 00清华大学 选择和投影举例 设有关系数据库 它由三个关系组成 它们的模式是 S S SN SD SA 学号姓名系名年龄C C CN PC 课程号课程名先修课程号SC S C G 成绩1 检索先修课程号为001的课程号 C PC 001 C 选择 投影和连接举例 2 检索课程号为001 成绩为A的所有学生姓名 SN C 001 G A SC S 3 检索姓名为王辉的学生修读的所有课程名及先修课程号 CN PC SN 王辉 S SC C 4 检索至少修读课程号为学生李枚所修的一门课的学生姓名 SN S C SN 李枚 S SC SC S 设有关系数据库 它由三个关系组成 它们的模式是 病区 病区号 名称 所在位置 病房号 医生姓名 医生 医生职编 医生姓名 年龄 职称 管辖病房号 病人 病人编号 病人姓名 患何病科 病房号 请用关系代数语言作如下查询 1 找出外科病区的所有医生姓名 2 找出管辖13号病房的医生所在病区 3 找出管辖病员李维德的医生姓名 4 找出内科病区患冠心病病人的姓名 作业 6 关系数据库设计理论 数据库设计是建立数据库应用系统的核心问题 设计的关键是如何使设计的数据库能合理地存储用户的数据 方便用户进行数据处理 1 数据库设计中的问题2 函数依赖3 关系模式的规范化 1 数据库设计中的问题 开发一个具体的数据库应用系统的核心问题是设计数据库结构 如何根据设计的对象去构造一个好的关系数据库结构 每个关系由哪些属性组成 好坏如何评价 例如 某学校要建立一个学生管理数据库 有如下属性 学号 系名 系主任 成绩 课程可以组成一个关系名为UN的关系模式 UN 学号 课程 成绩 系名 系主任 一个系有若干学生 但一个学生只属于一个系 一个系只有一名系主任 一个学生可以选修多门课程 每门课程可有若干学生选修 每个学生学习每门课程有一个成绩 学号课程成绩系名系主任9914001C语言85管理系张盟9914001数据库90管理系张盟9914001管理信息系统88管理系张盟9914002C语言70管理系张盟9914002数据库75管理系张盟9914002管理信息系统80管理系张盟9909011C语言83计算机系王宏9909011数据库95计算机系王宏9909011软件工程76计算机系王宏9909021C语言77计算机系王宏9909021数据结构90计算机系王宏9909021软件工程85计算机系王宏 数据冗余每个系主任的姓名和系名与该系每个学生所选修的每一门课程的成绩出现的次数一样多 将造成存储空间的浪费和维护代价太高 例如 该系有100名学生 每个学生平均选30门课 则该系名和系主任名要重复100 30 3000次 数据重复存放造成空间浪费称为 数据冗余 修改异常修改过程中的疏忽会造成数据的不一致性 从而破坏了数据的完整性 这称为 修改异常 插入异常实体完整性要求 主键的特性不能为空或部分为空 若为空 则元组不能存入数据库中 否则就会因为失去标识而使关系中存在相同的元组 例如 如果一个系刚成立 尚无学生 或者有了学生但还未选课 就无法将该系的系名和系主任插入到数据库中 删除异常例如 若某个系的学生全部毕业了 在删除该系学生及其选课信息的同时 会把系名和系主任的信息同时删除 问题的解决办法 因为关系中属性之间存在不好的联系 若将上例关系模式分解为SD DM SG三个关系模式 可以解决上述问题 SD 学号 系名 DM 系名 系主任 SG 学号 课程 成绩 用几个简单的关系去取代原来结构复杂的关系 这种分解过程叫关系的规范化 学号课程成绩9914001C语言859914001数据库909914001管理信息系统889914002C语言709914002数据库759914002管理信息系统809909011C语言839909011数据库959909011软件工程769909021C语言779909021数据结构909909021软件工程85 SG 学号系名9914001管理系9914002管理系9909011计算机系9909021计算机系 SD 系名系主任管理系张盟计算机系王宏 DM 2 函数依赖 FunctionalDependency FD 在信息世界中 在实体内部属性值之间存在着相互依赖 相互制约的联系 对于属性值之间的这种联系 称为数据依赖 最重要的数据依赖有两种 函数依赖和多值依赖 例如 关系S 学号 姓名 年龄 性别 当学号确定后 其姓名 年龄和性别的属性值也就随之确定 因此称 学号 为决定因素 学号 函数决定了姓名 年龄和性别属性的内容 而姓名 年龄和性别属性函数依赖 学号 记为 学号 姓名 年龄 性别 定义 假设有一关系R R中有若干个属性 R中的关系键 一个或多个属性组成 用X代表 用Y来代表除X之外其他任意的属性或属性组 即Y代表的属性不包括在X中 那么该关系记为R X Y 如果X是由多个属性组成 则用X 代表组成关系键的属性值中任意的属性 当X函数决定Y 或Y函数依赖X 记作X Y 当X函数不决定Y 或Y不函数依赖X 记作X Y 完全函数依赖 完全FD 定义 若X Y X Y 则XY其中 表示完全函数依赖例如 关系SG 学号 课程 成绩 中 学号 成绩课程 成绩 学号 课程 成绩 部分函数依赖 部分FD 定义 若X Y 一个X Y X Y 则XY其中 表示部分函数依赖例如 UN 学号 课程 成绩 系名 系主任 学号 系名 学号 课程 系名 传递函数依赖 传递FD 定义 Y1 Y2 Y 若X Y1 Y1 Y2 但Y2 X 则XY2 其中 表示传递函数依赖例如 G 工号 姓名 工种 定额 工号 姓名 工种工种 定额而定额 工号 工号定额 3 关系模式的规范化 范式 NormalForm NF 1NF 定义 若关系模式R的每一个分量是不可再分的数据项 即称R满足第一范式 记为R 1NF一般将满足第一范式的关系称为规范化关系 不满足1NF的关系只要去掉组项 将其分成数个属性即可 第一规范式 如果一个关系模式中的属性都是单纯的 即不可再分为更小的属性 则称该模式是属于第一规范式 FirstNormalForm 即1NF 2NF 定义 若关系模式R 1NF 而且每个非主属性完全函数依赖于关系键 则称R满足第二范式 记为R 2NF即R中不存在非主属性对关系键的部分函数依赖 例如 R 职工编号 姓名 设备编号 设备名 熟练程度 职工编号 姓名设备编号 设备名 职工编号 设备编号 熟练程度 职工编号 设备编号 姓名 职工编号 设备编号 设备名非主属性 姓名 和 设备名 部分函数依赖关系键 R 2NF 第二规范式 如果一个关系模式属于1NF 并且所有的非关键字都完全地依赖于关键字 即不存在部分依赖 则称该关系模式属于第二规范式 即2NF 例如 UN 学号 课程 成绩 系名 系主任 学号 系名系名 系主任 学号 课程 成绩 学号 课程 系名即非主属性 系名 部分函数依赖关系键 UN 2NF当1NF的关系消除了非主属性对关系键的部分函数依赖 即可成为满足2NF的关系 当R 2NF 插入异常 删除异常和修改复杂的问题会有所改善 定义 若关系模式R 2NF 而且在R中不存在对关系键的传递函数依赖 则称R满足第三范式 记为R 3NF例如 G 工号 姓名 工种 定额 工号 姓名 工种工种 定额而定额 工号 工号定额 G 3NF满足3NF的关系中的所有属性不但要能够唯一地被主关系键所标识 而且它们之间还必须相互独立 不存在部分函数依赖和传递函数依赖 3NF关系可以从满足2NF的关系中消除非主属性对关系键的传递函数依赖后获得 当R 3NF 插入异常 删除异常和修改复杂等问题可以得到有效解决 3NF 第三规范式 如果一个关系模式属于2NF 并且不存在非关键字传递地依赖于关键字 则称该关系模式属于第三规范式 3NF 规范化程度越高 数据冗余 更新异常 连接运算时间 查询时间 效率 规范化和模式分解 规范化 定义 把一个低一级范式的关系模式转换为若干个高一级范式的关系模式的过程叫做规范化 模式分解把一个关系模式分解为n个关系模式 称为关系模式的分解 例如 求关系UN 学号 课程 成绩 系名 系主任 的范式等级 同时分解使之达到3NF UN 学号 课程 成绩 系名 系主任 分析A 各属性都是不可分的数据项 存在部分函数依赖 例如 学号 课程 系名结论A UN 1NF UN 2NF解决A 采用投影运算使UN由1NF规范化为2NF 即将UN中属性间的部分函数依赖分解为SG和SDM SG 学号 课程 成绩 SDM 学号 系名 系主任 分析B SG不存在部分函数依赖和传递函数依赖 SDM不存在部分函数依赖 但存在传递函数依赖 学号 系名 系名 学号 系名 系主任结论B SG 3NF SDM 2NF SDM 3NF SDM 3NF带来的问题 系主任仍要重复存储 若要更换系主任 仍需要修改较多的记录当某系没有招生或学生全部毕业 系主任和系名信息将丢失 所以仍有插入 删除和修改异常解决B 将SDM分解成SD和DM SD 学号 系名 DM 系名 系主任 最终结论 SG 3NF SD 3NF DM 3NFSG SD DM均用一个关系模式表示单个实体 即选课实体 学生实体和系实体 模式分解准则 分解必须是无损的 即不应在分解中丢失信息 分解要保持原有的函数依赖例如 SDM 学号 系名 系主任 的分解有如下三种结果 SD 学号 系名 DM 系名 系主任 SD 学号 系名 SM 学号 系主任 SM 学号 系主任 DM 系名 系主任 关系模式规范化过程就是用一组小关系框架等价地代替原有框架的过程 这一过程可用如下流程图表示 非规范化关系 消去组项1NF 消去部分函数依赖2NF 消去传递函数依赖3NF 例2 假设某单位有订货合同一览表 该表中的零件单价在订货时根据双方谈判时决定 这种表规范程度低 其中包含有合同清单表 表的主键是 合同号 零件号 存在部分函数依赖 例如主键中的合同号 订货日期 合同号厂名订货日期发货日期零件号单价数量01001Aaa2001 5 192001 5 24100110000301001Aaa2001 5 192001 5 24100215000201001Aaa2001 5 192001 5 24200120000101002Bbb2001 6 202001 6 251001150001 作业 某书店有关购图书的汇总登记表用关系表示如下 请对上述购书的汇总登记表进行分析 写出属性间存在的函数依赖 用规范化理论将该表进行分解 使之满足3NF的规范化

温馨提示

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

评论

0/150

提交评论