数据库中的FD集指什么

2022-06-05 23:38

比如说F是R上的FD集,设U是关系模式R的属性集,F是R上成立的只涉及到U中属性的FD集合,则有以下三条推论规则。自反性、增广性、传递性。这个FD集到底是啥啊??
3个回答
函数依赖 ( Functional Dependency,FD)
从函数依赖的一套推理规则。由ARMSTRONG提出,即ARMSTRONG公理
公理1:自反律--如果B->A,则A->B
公理2:增广律--如果A->B,则AC->BC
公理3:传递律--如果A->B,且B->C,则A->C

由上面公理得到推论
推论1:自合规则--A->A
推论2:分解规则--如果A->BC,则A->B,A->C
推论3:合并规则--如果A->B,A->C,则 A->BC
推论4:复合规则--如果A->B,C->D,则 AC->BD

范例:设有关系模式R,有A,B,C,D,E,F是它的属性集中的子集,R满足下列函数依赖:
F={A->BC,CD->EF},证明:函数依赖AD->F成立。
证明:
1)A->BC 给定
2)A->C 分解规则
3)AD->CD 增广律
4)CD->EF 给定
5)AD->EF 传递律(由第3,4得)
6)AD->F 分解规则
在数据库系统中,设有关系模式R或简记为R,X,Y是U的子集,r是R的任一具体关系, 如果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y],则称X函数决定Y,或Y函数依赖于X, 记为X→Y。X→Y为模式R的一个函数依赖。
FD:函数依赖
1. FD的定义

定义:R(U),X、Y为属性集,t1、t2为元组,若t1[X]=t2[X],则t1[Y]=t2[Y],称X函数决定Y函数或Y依赖于X,记作X→Y。

例3-22 对实例3-21“学生选课”关系模式R,如果规定每个学生只能有一个姓名,每个课程号只能对应一门课程,则有以下FD:

sno→sname

cno→cname

由于每个学生每选修一门课程只能有一个成绩,则有以下FD:

(sno,cno)→score

当然,还有以下FD:

sno→sex

sno→(sname,sex)

例3-23 设关系模式R(ABCD),假设A与B为一对多联系,而C与D为一对一联系,试写出相应的FD。

由于A与B为一对多联系,即每个A值有多个B值与之对应,即B值决定A值,可写出FD:B→A。

同理,由于C与D为一对一联系,可写出FD:D→C和C→D。

注意一对一、一对多联系(如学号和性别为一对多联系)的FD。

2. FD和关键码的关系

定义:R(U),若X→U,则称X是R的超键。如果X任一子集X1,有X1→U不成立,则称X是R的候选键。

例3-24 对例3-22的关系模式R进行分析,有以下FD:

(sno,cno)→(sno,sname,sex,cno,cname,score)

即(sno,cno)为关系模式R(U)的候选键。

虽然有以下FD:

(sno,sname,cno)→(sno,sname,sex,cno,cname,score)

但(sno,sname,cno)只是关系模式R(U)的超键而非候选键,因为(sno,sname,cno)包含多余的属性sname。

结论:·若X是R的候选键,则对于任意Y,均有X→Y。eg. “学生选课”。

·若X→Y,而X非超键,则R一定有冗余。eg. 例3-21,有cno→cname。

·函数依赖表示数据的完整性约束。

3. FD推理规则

定义:若X→Y,且Y X,则称X→Y是“平凡的FD”,反之称为“非平凡的FD”。

结论:平凡的FD是不可能不满足的FD(如X→X),要研究的是非平凡的FD。

规则:·自含律 X→X。

·自反律 若Y X,则X→Y。

·增广律 若X→Y,则XZ→YZ。

·传递律 若X→Y且WY→Z,则XW→Z。

·分解规则 若X→YZ,则X→Y且X→Z。

·合并规则 若X→Y且X→Z,则X→YZ。

·复合规则 若X→Y且Z→W,则XZ→YW。
相关问答
求三国恋战记fd
1个回答2023-01-10 16:10
mark 私信
数据库怎么写啊?
1个回答2022-07-21 23:03
什么数据库?
求数据库介绍
1个回答2022-09-25 14:40
请自己上网查一下
数据库是怎么回事啊?
1个回答2022-10-03 03:35
集中管理数据库表
数据库是什么,有什么作用
1个回答2022-12-20 16:45
存数据,网站后台
数据库有什么作用
1个回答2022-09-07 10:20
存储和检索数据
大学数据库 数据结构的书
1个回答2024-03-16 17:09
数据结构好像有C++版本的,以前我读的是C版本的,应该不难。数据库的话,既然搞C++,我觉得你可以考虑mysql
fd是什么意思?
1个回答2023-01-11 11:21
fd,中文为软磁盘,软磁盘是个人电脑(PC)中最早使用的可移动存储介质,作为一种可移贮存方法,它是用于那些需要被物理移动的小文件的理想选择。 软磁盘的每一面都包含许多看不见的同心圆,称之为磁道。对...
全文
FD是什么意思
1个回答2023-03-01 18:16
FD是Floor Director的缩写,导演助手的意思。 1.FD,Floor Director,导演助手。也称“导演助理”,导演的重要助手之一。协助导演的案头工作,配合副导演检查并协
热门问答