函数依赖及其传递

1、- 函数依赖


         前提:有关系模式R(U),U是一个属性集合,X、Y是U的两个真子集(X、Y不是某一属性,而是某几个属性的集合,但没有包括R中全部的属性),且有X→Y。
     

     a、完全依赖:


                 若X→Y,且X中的某一真子集Z—\→Y,则Y完全依赖X。
                 记作:
           eg:
                 有学生表(SNo、SN、Age、Dept),课程表(CNo、SNo、Score),教师表(TN、CNo、Dept)
                 有:X包括SNo、CNo,Y包括Score
                 则有:SNo—\→Score,CNo—\→Score,但是(CNo、SNo)→Score;
                即:学号 课程号不决定成绩,但是学号 课程号决定成绩

     b、部份依赖


                 若X→Y,且X中的某一真子集Z→Y,则Y部份依赖X。
                 记作:   
         eg:
                  有学生表(SNo、SN、Age、Dept),课程表(CNo、SNo、Score),教师表(TN、CNo、Dept)
                  有:X包括SNo、CNo,Y包括Age
                  则有:(CNo、SNo)→Age,但是,CNo—\→Age、SNo—\→Age;
                   即:学号    课程号决定年龄,但是学号    课程号分别也能单独决定年龄
 

2、- 传递依赖


    有关系模式R(U),U是一个属性集合,X、Y是U的两个真子集(X、Y不是某一属性,而是某几个属性的集合,但没有包括R中全部的属性)。


        传递函数依赖
           

                      若X→Y,且Y—\→X,当Y→Z( Z 不属于 X, Y不属于Z),则有:Z 对 X 传递函数依赖;

                      记作:

                      eg:

                               依旧用上述的学生表、课程表、教师表。

                               通过  SNo  可以知道学生系别  Dept,但是无法通过  Dept  知道学生学号  SNo;

                               通过  Dept  可以知道系主任老师的名字  TN。

                               于是,SNo 和  TN  之间的关系是:SNo   传递函数依赖   TN。


          直接函数依赖
                

                      若X→Y,且Y→X,当Y→Z( Z 不属于 X, Y不属于Z),则有:Z 对 X 直接函数依赖;         

                      eg:

                               依旧用上述的学生表、课程表、教师表。

                               通过  SNo  可以知道学生姓名  SN,也可以通过  SN  知道学生学号  SNo(前提是没有重名的学生);

                               通过  SN  可以知道学生系别  Dept。

                               于是,SNo 和  Dept  之间的关系是:SNo   直接递函数依赖   Dept。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值