关系数据库设计理论.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
1 函数依赖的基本概念 例 设:建立某数据库需要如下属性: 供应商号(sno)、供应商所在城市(city)、 邮编(zip)、零件号(pno),供应某种零件 的数量(qty)。 方案之一:用一个关系模式创建该数据库: FIRST(sno,city,zip,pno,qty ) KEY=(sno,pno) 一、问题提出---数据依赖及其影响 第七讲 关系数据库设计理论 存在问题: 1)数据冗余度太大。 2)修改异常。 3)插入异常。 4)删除异常。 实例:FIRST(sno, city, zip, pno, qty) s1 c1 z1 p1 100 s1 c1 z1 p2 200 s2 c2 z2 p1 160 s2 c2 z2 p3 320 方案之二:用两个关系模式,创建该数据库: 模式一:SECOND(sno,city,zip) KEY=(sno) 模式二:SP(sno,pno,qty) KEY=(sno,pno) 实例: SECOND(sno,city,zip) s1 c1 z1 s2 c2 z2 SP(sno,pno,qty) s1 p1 100 s1 p2 200 s2 p1 160 s2 p3 320 二、函数依赖基本概念 注:1)"X Y"必须对R(U)的任何一个关系 实例都成立。 2)若X Y, Y X,则记作X Y。若Y不 函数依赖X,则记作 X Y 。 1. 函数依赖定义 设:R(U)是属性集U 上的关系模式,X,Y U。 如果对于R(U)的任意一个关系r,以及r 的任意两个 元组t1,t2,不存在:t1[x]=t2[x],而t1[y] t2[y]。 则称X函数决定Y,或者说Y函数依赖于X。记为: X Y 实例:FIRST(sno, city, zip, pno, qty) s1 c1 z1 p1 100 s1 c1 z1 p2 200 s2 c2 z2 p1 160 s2 c2 z2 p3 320 分析: sno pno ? sno zip ? zip city ? sno city ? (sno, pno) qty ? (sno, pno) zip ? 3)函数依赖是现实世界数据约束的表示。 sno qty ? sno zip ? 不同?! b. 一个系只有一名负责人; 例 设某数据库需保存如下属性: U={ S#,SD,MN,CN,G }。 其中: 学生(S#)、系(SD)、系负责人(MN)、 课程(CN)和成绩(G) 已知:现实世界规定如下: a. 一个学生只属于一个系; c. 每个学生学过一门课,最多获得一个成绩。 F = { S# SD,SD MN,(S#,CN) G } 2 1) 定义完全函数依赖:在R(U)中,如果 X Y,且对 X的任何一个真子集X',都有X' Y,则称Y对X完全函数依赖,记作: X f Y 2) 定义部份函数依赖:在R(U)中,如果X Y, 但Y不完全函数依赖X,则称Y对X部份函数依 赖,记作X P Y。 2. 完全函数依赖与部分函数依赖 Y A Y B Y (A, B) Y f Y Y A B (A, B) Y p 例 FIRST(sno,city,zip,pno,qty) 有:sno zip, zip city, (sno,pno) f qty 但:(sno,pno) P zip sno pno zip city Qty 在R(U)中,如果X Y,Y X, ( Z Y) Y Z,则称Z传递函数依赖于X,记为X t Z 。 sno t city SECOND(Sno city zip) S1 Beijing 100044 S2 Beijing 100044 S3 Shanghai 200001 例 关系模式SECOND(sno,city,zip)中, 3. 传递函数依赖定义: sno zip, zip city 4. 非平凡的函数依赖:若X Y,Y X,则称 X Y是非平凡的函数依赖。 例 (sno, pno ) qty ……非平凡的函数依赖 (sno, pno ) pno ……平凡的函数依赖 5. 如果K是关系模式 R(U)的一个键码,则必有: K U 例 对于关系模式:Student(Sno, Sname, Sage) 若Sno和 Sname都是Student 的键码,则有: Sno Sno, Sname, Sage 和 Sname Sno, Sname, Sage 成立。 设计关系数据模式时,不同属性数据之间, 允许存在各种不同的数据依赖。关系模式所满足的 不同数据依赖约束,称为不同范式的关系模式。 满足最低要求,即关系模式的各属性域必须 是"原子" 的,则该关系模式是第一范式的,简称 1NF (1 Normal Form) 。 不同范式的关系模式,存在不同程度的数据
剩余10页未读,继续阅读
- 粉丝: 84
- 资源: 9357
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助