数据库原理与应用(第1章)课件.ppt

  1. 1、本文档共120页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 方案1会带来如下问题: 1、数据冗余 学生基本信息被重复保存。 2、修改异常或潜在的数据不一致性 修改学生班级,只修改一部分元组,造成了数据的不一致性。 3、插入异常 如果一个班刚成立,尚无学生;或者有了学生但是尚未安排课程,那么就无法把这个班级及其班主任的信息存入数据库,因为该表的主键是(学号、课程ID) * 3、删除异常 如果某个班级的学生全部毕业了,在删除该班级全体学生信息的同时,把这个班级及其班主任等的信息也一同删去了,这显然不是我们所期望的。 造成以上原因的是关系模式中函数部分依赖和传递依赖。 * 1.6.2 函数依赖的基本概念 函数依赖的定义: 设有关系模式R(U),U是属性集,X和Y是U的子集,r是R(U)的任一个关系。如果r中不可能存在两个元组在X上的属性值相等,而Y上的属性值不等,即任意的两个元组t1和t2,若t1(X)=t2(X),必有t1(Y)=t2(Y),那么我们称属性组X函数确定属性组Y,或者说Y函数依赖于X。记为X? Y,其中X叫决定因素,Y叫依赖因素。 * 简单地说,对于任意两个元组,如果它们的X属性组值相同,则它们的Y属性组值也相同,我们就说X函数确定Y,或者说Y函数依赖于X。 更简单的表达:对于每一个确定的X,Y的值就被唯一地确定,则说X函数确定Y,或者说Y函数依赖于X。 ? 如关系:公民(身份证号,姓名,地址,工作单位) 身份证号一确定,则其地址就唯一确定,因此身份证号函数确定地址。 而姓名一确定,不一定能确定地址。 例:说出下列关系模式中的一些函数依赖。 学生(学号,姓名,年龄,性别) 选课(学号,课程号,成绩) 函数依赖的几种特例 1、平凡函数依赖与非平凡函数依赖 由于Y X 时,一定有X→Y,平凡函数依赖必然成立,没有意义,所以一般所说的函数依赖总是指非平凡函数依赖。 若Y X ,则称X→Y为平凡函数依赖。 如果X→Y,且Y X,则X→Y 称为非平凡函数依赖。 推论:如果X→Y ,且X是单个属性,则X Y 2、完全函数依赖与部分函数依赖 如果X→Y ,且对于任何X’ X,都有X’ Y,则称y完全依赖于x,记作X Y 如果X→Y,但Y不完全依赖于X,则称Y部分函数依赖于X,记作X Y 如:选课(学号,课程号,课程名,成绩) (学号,课程号) 成绩 (学号,课程号) 课程名 因为 课程号→ 课程名 3、传递函数依赖 如果X→Y , Y→Z,且Y X, Y X,则称Z传递函数依赖于X。记作X 传递→Z 如:学生(学号,姓名,系名,系主任) 显然系主任传递函数依赖于学号, 因为学号→系名,系名→系主任 思考题:已知关系模式R(学生学号,课程名,学生专业号,专业名,成绩),说出下面是什么关系? (学生学号,课程名,学生专业号) 成绩 学生学号 专业名 (学生学号,专业名) 成绩 (学生学号,课程名) 成绩 (课程名,专业名,成绩) (课程名,成绩) (函数依赖,部分函数依赖) (函数依赖,传递函数依赖) (不是函数依赖) (完全函数依赖) (平凡函数依赖) 练习 : 1.6.3 关系的规范化 范式:关系模式满足的约束条件称为范式。根据满足规范化的程度不同,范式由低到高分为1NF,2NF,3NF,BCNF,4NF,5NF 关系模式的规范化:把一个低一级的关系模式分解为高一级关系模式的过程。 如果关系模式R,其所有属性都是不可再分的基本数据项,则称R属于第一范式,R∈1NF 例1:R(姓名,身份,年龄) 姓名 身份 年龄 ---------------------------------------- 张三 男学生 17 李四 女教师 27 林林 女作家 29 R不属于1NF 一、第一范式(1NF) 第一范式是作为一个关系模式的最起码要求,是一定要满足的。 第一范式仅是关系模式的最低要求,仅仅满足第一范式是不够的。 如前面所讲的关系模式: 如:学生(学号,姓名,年龄,班级,班主任,课程名,成绩) 它满足第一范式,但存在较大数据冗余和插入、删除、修改异常。 一、第一范式(1NF) 二、第二范式(2NF) 例1:判断R(教师编号,教师地址,课程号,课程名)是否属于第二范式。

文档评论(0)

daoxbiviy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档