函数依赖概念

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

函数依赖概念
1.2 非平凡的函数依赖和平凡的函数依赖 函数依赖具有非平凡的函数依赖和平凡的函数依赖的性质。
– 非平凡的函数依赖和平凡的函数依赖定义:如果X→Y,并且Y不是X的子集, 则称X→Y是非平凡的函数依赖。我们讨论的总是非平凡的函数依赖,全体总 是能够决定部分的,若Y是X的子集,则称X→Y是平凡的函数依赖;若Y中没有 一个属性在X中,则称完全非平凡的函数依赖。
数据库基础函数依赖概念来自1.7 超键码 包含候选码的属性集称为“超键码”(Super Key),是“键码的超集”的
简称。每个超键码都满足键码(候选码)的第一个条件:属性函数决定该 关系R的所有其他属性。但是,超键码不必满足键码的第二个条件:键码 (候选码)必须是最小的。 例如在学生关系中学生号能够函数决定其他所有属性,所以学号是该关系的 一个候选码,则(学号,姓名)是关系的超键码。该超键码可以决定学生 关系中的其他属性,但是,它不是最小的。
函数依赖概念
1.3 完全和部分函数依赖
– 完全和部分函数依赖定义:设X→Y是关系模式R的一个函数依 赖,如果存在X的真子集X',使得X'→Y成立,则称Y部分依赖 于X,记作X → Y。否则,称Y完全依赖于X,记作X → Y。
p
– 【例2-4】 设一个教师任课关系为(教工号,姓名,职称, 课程号,课程名,课时数,课f 时费),该关系给出某个学校 每个教师在一个学期内任课安排的情况,假定每个教师可以 讲授多门课程,每门课程可以由不同教师来讲授。
【例2-2】 指出下列函数依赖的性质。
– Sno Cname Grade→Cname Grade:平凡函数依赖(右边的属性集是左边的属 性集的子集)。
– Sno Cname→Cname Grade:非平凡函数依赖(右边属性集中至少有一个不在 左边属性集里)。
– Sno Cname→Sname Grade:完全非平凡函数依赖(右边属性集没有一个在左 边的属性集里)。
(Key)。
– 1)这些属性函数决定该关系R的所有其他属性。 – 2){A1,A2,…,An}的任何真子集都不能函数决定该关系R的所有其他属性,也就是说,候选
码必须是最小的。
我们把候选码所在的属性称为主属性,把候选码以外的属性称为非主属性。
例如学生关系中{学号}是主属性,而另外几个属性(姓名,性别,系号,系名,系主任名) 则为非主属性。
数据库基础
函数依赖概念
1.1 函数依赖
– 函数依赖:设一个关系R(U),X和Y为属性集U上的子集,若 对于元组中X的每个值都有Y上的一个唯一的具体值与之对应 ,则称Y函数依赖于X,或X函数决定Y,记作:X→Y,X称作决 定因素。
– 【例2-1】 设一个职工关系为(职工号,姓名,性别,年龄 ,职务),职工号为主码,则:职工号→姓名,职工号→性 别,职工号→年龄,职工号→职务。在该关系中除职工号外 ,其他属性都不能成为决定因素形成函数依赖,因为对于它 们的每个属性值,都可能对应另一属性的多个不同的取值, 如对于性别属性的一个取值“男”就会对应多个而不是一个 职工号。
分析:由FD中的A→B和B→C可得到A→C,也就是说A→B和B→C中 已经蕴含A→C(传递律),所以给出的A→C是冗余的,应去掉 。原FD不是R的一个最小的依赖集,若修改为:FD={A→B,B→C ,B→D},就成为R的最小依赖集。
函数依赖概念
1.6 主码(候选码和主码) 如果一个或多个属性的集合{A1,A2,…,An}满足以下条件,则称该集合为关系R的候选码
– 在该教师任课关系中也存在许多部分函数依赖,如(教工号 ,课程号)→姓名,(教工号,课程号)→职称,(教工号 ,课程号)→课程名等。
函数依赖概念
1.4 传递函数依赖 函数依赖的传递定义:在同一关系模式中,如果存在非平凡的函数
依赖X→Y,Y→Z,而Y↛X,则称Z传递依赖于X。 【例2-5】 设一个学生关系(学号,姓名,性别,系号,系名,系
集,若X→Y,并且为完全非平凡函数依赖,同时Y为单 属性,则称X→Y为R的最小函数依赖。由R中所有最小函 数依赖构成R的最小函数依赖集,其中不包含有冗余的 传递函数依赖。
函数依赖概念
【例2-6】 设一个关系为R(A,B,C,D),它的函数依赖为 FD={A→B,B→C,A→C,B→D},判断它是否为R的最小函数依 赖集。
主任名),通常每个学生只属于一个系,每个系有许多学生,每 个系都对应唯一的系名和系主任。 在学生关系中还存在“学号→系名”和“学号→系主任名”这两个 函数依赖,由于它们是通过从学号开始的间接函数依赖得到的, 所以系名和系主任名是传递依赖于学号。
函数依赖概念
1.5 最小函数依赖 最小函数依赖定义:设一个关系为R(U),X和Y为U的子
相关文档
最新文档