- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.2.4 BC范式(BCNF) 说明:该关系模式的关键字是W仓库号和P设备号 存在的函数依赖是: 职工号→仓库号(条件1和2的语义关系) (仓库号,设备号)→职工号)(条件3语义关系) (仓库号,设备号)→数量(条件3语义关系) 完全函数依赖 主属性对非主属性的函数依赖 是一个3NF,但不是一个BCNF 3.2.4 BC范式(BCNF) 问题的解决: 进行分解,消除主属性对非主属性的函数依赖 但分解后会破坏第3条语义,即不能保持函数依赖:(仓库号,设备号)→职工号 得出的关系为职工(职工号,仓库号),管理(设备号,职工号,数量) 不分解,保持3NF,但警惕主属性对非主属性的函数依赖带来的操作异常。 利用关系的用户定义完整性——触发器来拒绝操作异常的现象。 方法1 方法2 3.2.4 BC范式(BCNF) 例:关系模式STJ(学号,教师号,课程名),假设: (1)每个教师只教一门课程 (2)每门课程可以有多一位教师教学 (3)某一学生选定某门课程,就确定了一个固定的教师。 分析函数依赖: (学号,课程) →教师号 教师号→课程 或(学号,教师号) →课程 学号 教师号 课程 学号 课程 教师号 3.2.4 BC范式(BCNF) 例:关系模式STJ(学号,教师号,课程名) 学号 课程 教师号 关系模式STJ(学号,课程名,教师号) 任何模式都对存在非主属性对主属性的函数依赖 关系模式STJ(学号,教师号,课程名,) 3.2.4 BC范式(BCNF) 解决方法: 关系模式STJ(学号,) ST(学号,教师号) TJ(教师号,课程名) ST关系中存储尚未选修课程的学生,TJ关系中可以存储所开课程尚未有学生选修的教师信息。 选修过某门课程的学生全部毕业了,只是删除ST关系中的相应元组,不会影响TJ关系中相应教师开设该门课程的信息 关于每个教师开设课程的信息只在TJ关系中存储一次 某个教师开设的某门课程改名后,只需修改TJ关系中的一个相应元组即可 3.2.5 第四范式与多值依赖 例如:设学校某门课程由多个教师讲授,他们使用相同的一套参考书。则关系模式TCB(课程名C,教师名T,参考书B)。 数学 张军李寺 数学分析高等代数微分方程 物理 王平何强程明 光学原理物理学 课程C 教师名T 参考书B 数学 张军 数学分析 数学 张军 高等代数 数学 张军 微分方程 数学 李寺 数学分析 数学 李寺 高等代数 数学 李寺 微分方程 物理 王平 光学原理 物理 王平 物理学 物理 何强 光学原理 物理 何强 物理学 3.2.5 第四范式与多值依赖 TCB关系具有唯一的侯选码,即是全码,因而 TCB ∈BC3NF,但该模式中会出现: 数据冗余大:每一门课程的参考书是固定的,但在该关系中,有多少名任课教师,参考书就要存储多少次。 数据修改复杂:某一门课程要修改参考书,该课程有多少名教师,就必须修改多少个元组。 数据插入复杂:当某一门课程增加一名教师时,该课程有多少本参考书,就必须插入多少个元组。 删除操作发展:某一门课程要去掉一本参考书,该课程有多少名教师,就必须擅长多少个元组。如数学课去掉《微分方程》,就需要删除两个元组(数学,张军,微分方程)和(数学,李寺,微分方程)。 3.2.5 第四范式与多值依赖 ?为什么 ----因为参考书的取值和教师的取值是彼此独立毫无关系,他们都只取决于课程名。 在TCB关系中存在一种叫多值依赖的数据依赖。 3.2.5 第四范式与多值依赖 多值依赖定义: 设R(U)是属性集U上的关系模式, X、Y、Z是U的子集, 并且Z=U-X-Y,多值依赖X → → Y成立当且仅当:对于R的任意可能关系r, 在(X,Z)上的每个值对应一组Y的值,这组值仅仅决定于X值而与Z值无关。 如X → → Y,而且Z=?(空),则称X → → Y为平凡的多值依赖,否则称X → → Y为非平凡的多值依赖。 多值依赖的特性: 具有对称性。如X→→Y,则X→→Z,其中Z=U-X-Y 具有传递性。如X→→Y,Y→→Z,则X→→Y→→Z 3.2.5 第四范式与多值依赖 如TCB(课程名C,教师名T,参考书B) 每个(C,B)的值对应一组T值,而这种对应与B无关。如(数学,数学分析)对应一组T值{张军,李寺},该T值仅仅决定于课程C上的值,即对于(C,B)上另一组(数学,高等代数),她对应的一组T值仍然是{张军,李寺},尽管此时参考书B的值已经改变了。 因此T多值依赖于C,即课程C→ →教师T 3.2.5 第四范式与多值依赖 第4范式定义:如果R∈3NF,所有主属性之间都不存在非平凡的多值依赖,则R∈4NF。 例如:TCB(课程名C,教师名T,参考书B),
文档评论(0)