7.4关系数据库设计基础知识

思维导图:


1、函数依赖


定义:设R(U)是属性集U上的关系模式,X、Y是U的子集。若对R(U)的任何一个可
能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,
则称X函数决定Y或Y函数依赖于X,记作:X→Y

• 如果X→Y,那么对于任意两个相同的X,所对应的Y是一定相同的。
• 如果X→Y,但Y⊈X,则称X→Y是非平凡的函数依赖。一般情况下总是讨论非平凡
的函数依赖。
• 如果X→Y,但Y⊆X,则称X→Y是平凡的函数依赖

2、完全函数依赖与部分函数依赖
• 定义:在R(U)中,如果X→Y,并且对于X的任何一个真子集X',都有X'不能决定Y,则称Y对X完全函数依赖,记作:X→Y。如果X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作:X→Y。部分函数依赖也称局部函数依赖。
例:选课关系SC1(学号,课程号,成绩),F={(学号,课程号)→成绩}。
(学号,课程号)→成绩,学号⇸成绩,课程号⇸成绩。
选课关系SC2(学号,课程号,学生姓名,课程名称,成绩),F={(学号,课程号)
→成绩,(学号,课程号)→课程名称,(学号,课程号)→学生姓名,学号→学生
姓名,课程号 →课程名称}。

3、传递函数依赖
• 定义:在R(U,F)中,如果X→Y,Y→Z,Y⊈X,Y⇸X,则称Z对X传递依赖。
例:供应商(Sno,Sname,Status,City,Pno,Qty),及函数依赖集如下,判断该
关系是否存在传递函数依赖和部分函数依赖。
F={Sno→Sname, Sno→Status, Status→City,(Sno,Pno)→Qty}


1、候选码和主码:设K为R(U,F)中的属性的组合,若K→U,且对于K的任何一个真子集K',都有K'不能决定U,则K为R的候选码,若有多个候选码,则选一个作为主码
• 候选码通常也可以称为候选关键字,主码通常也可以称为主关键字或主键。
• 包含在任何一个候选码中的属性叫做主属性,否则叫做非主属性。
例:选课关系SC1(Sno,Cno,Sname,Cname,G)
选课关系SC2(Sno,Cno,Sname,Cname)

2、外码:若R(U)中的属性或属性组X非R的码,但X是另一个关系的码,则称X是R的外(ForeignKey)或称外键
例:学生(学号,姓名,班主任,所属学院)
教师(职工号,姓名)
学院(编号,名称)

多值依赖

• 多值依赖具有如下6条性质:
1、多值依赖具有对称性。即若X→→Y,则X→→Z,其中Z=U-X-Y。
2、多值依赖的传递性。即若X→→Y,Y→→Z,则X→→Z-Y。
3、函数依赖可以看成是多值依赖的特殊情况。
4、若X→→Y,X→→Z,则X→→YZ。
5、若X→→Y,X→→Z,则X→→Y ⋂Z。
6、若X→→Y,X→→Z,则X→→Z-Y。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值