数据库系统概论 6 第六章 关系数据库理论.ppt

数据库系统概论 6 第六章 关系数据库理论.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库系统概论 6 第六章 关系数据库理论.ppt

范式的递进 非规范关系 1NF 2NF 3NF BCNF 消除重复组项 消除非主属性对码的部分依赖 消除非主属性对码的传递依赖 消除主属性对码的传递(部分)依赖 关系的分解方法 分解到高层范式(基于FD) 找出一个不符合范式要求的FD(X→Y),并使其右端的属性尽可能地多(求出X+) 创建新的模式,包含上述FD的所有(左右)属性(X+的所有属性) 创建另一模式,包含前述FD中的决定因素及剩余的所有属性((U-X+)∪X) 反复1~3,直至符合范式要求 R(U,F) U={SNO,SNM,DEPT,MN,CNAME,G} F={SNO → (SNM,DEPT),DEPT → MN, (SNO,CNAME) → G} 1、不满足第2NF要求,存在部分依赖 SNO → (SNM,DEPT) 2、确定X+,使右端尽可能多 SNO → (SNM,DEPT,MN) X+={SNO, SNM,DEPT,MN } 3、另表 ((U-X+)∪X) = {CNAME,G,SNO} 例子 E-R图 现实世界中的事物及事物之间的联系可以用E-R图描述 用带文字说明的长方块代表事物 用带文字的菱形块代表事物之间的联系 供销单位 供应 商品 供应 供应 仓库 合同 课程 编号、名称、教师 选课 学号、课程、成绩 学生 学号、姓名 录取 学号、系名 系 系名、负责人 E-R图 课程 编号、名称、教师 选课 学号、课程、成绩 学生 学号、姓名 录取 学号、系名 系 系名、负责人 课程 编号、名称、教师 选课 学号、课程、成绩 学生 学号、姓名 录取 学号、系名 系 系名、负责人 课程 编号、名称、教师 选课 学号、课程、成绩 学生 学号、姓名 录取 学号、系名 系 系名、负责人 课程 编号、名称、教师 选课 学号、课程、成绩 学生 学号、姓名 录取 学号、系名 系 系名、负责人 作业 1、设有关系模式R(O,I,S,Q,D,B),其中F={S→D,I→B,IS→Q,B→O}, 1)找出R所有的候选码及非主属性 2)把R分解为3NF 3)把R分解为BCNF 2、教材P195,题2。 说明:要求先自己画E-R图,然后给出相应的最优关系模式(表) * 数据库系统概论 An Introduction to Database System 第五讲 关系数据库理论 概念回顾 关系:描述实体、属性、实体间的联系。 从形式上看,它是一张二维表,是所涉及属性的笛卡尔积的一个子集。 关系模式:用来定义关系。 关系数据库:基于关系模型的数据库,利用关系来描述现实世界。 从形式上看,它由一组关系组成。 关系数据库的模式:定义这组关系的关系模式的全体。 学生 (学号、姓名) 课程 (编号、名称) 系别 (系名、负责人) 学生所学课程 (成绩) 学生所属系别 现实世界事物及联系 数据关系的设计例子 描述一个学生的关系,可以有学号(SNO), 姓名(SNAME),系名(SDEPT) ,系负责人(MN),课程名(CNAME) 和成绩(G)等几个属性。 需求情况: 一个系有若干学生,但一个学生只属于一个系 一个系只有一名(正职)负责人 一个学生可以选修多门课程,每门课程有若干学生选修 每个学生学习每一门课程有一个成绩 关系模式 学号 SNO 姓名 SNM 系名 DEPT 负责人 MN 课程名 CNAME 成绩 G 03001 李勇 数学 张主任 大学数学 78 03001 李勇 数学 张主任 大学物理 69 03001 李勇 数学 张主任 微分方程 77 03521 王敏 物理 胡主任 大学数学 88 03521 王敏 物理 胡主任 大学物理 57 03521 王敏 物理 胡主任 光学原理 67 学号 系名 姓名 负责人 课程 成绩 三个“毛病” 插入异常 -如果要增加一个新的系,还没有学生,则无法增加 删除异常 -要删除某个系的所有学生选课信息,则将系的相关信息丢失 冗余太大 -物理系换系主任,则要修改多条记录 这是一个不好的关系模式! WHY?HOW? 针对一个现实事物及联系,如何设计关系模式 构造几个关系模式? 构造什么样的关系模式,每一个关系模式包含什么样的属性? 什么是好的数据模式 体现客观世界的信息 无过度的冗余 无插入异常 无更新复杂 无删除异常 WHY?HOW? 异常的原因 数据依赖的约束 解决方法 数据库设计的规范化→分解 学号 SNO 姓名 SNM 系名 DEPT 03001 李勇 数学系 03002 赵明 数学系 03521 王敏 物理系 学号 SNO 课程名 CNAME 成绩 G 03001 大学数学 78 03001 大学物理 69 03001 微分方程 77 03521 大学数学 88

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档