请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

12-19关系数据库规范化第二题没听懂

图片描述

1: R<U, F>,U={A, B, C}, F={AB->C, C->B} 这个关系模式是什么意思?U和F是两个表吗?U里的ABC和F里的ABC之间有关系吗?
2 (55)的选项里,为什么1个关键字对应的是两个字母?不是应该是A,B,C分别是一个关键字吗?
3 F的AB决定C,C决定B,那么:欲推导出B,则必须有C,欲推导出C,则必须有B,这不就死锁了吗?

正在回答 回答被采纳积分+3

1回答

郝老狮 2024-10-11 14:33:30

第一问:

“关系模式”可以简单理解为:该表有哪些字段(U),字段之间的依赖关系如何(F)

F是函数依赖集,你可以简单理解为表中字段之间的依赖关系;

U是全集,你可以简单理解为表中所有的属性的集合(或称字段);

U和F不是两个表,是一个表的不同组成部分(由字段U和关系F组成);

U里的ABC和F里的ABC之间有关系,关系就是F中的依赖决定关系;


第二问:

因为候选关键字可以是一组联合主键,你可以联想一下实际情况:学号和课程号才可以决定课程成绩,只有学号或者只有课程号是不能够决定课程成绩的。


拿C举例子,AC中,C是能推出B的,那么AC + B = ABC = U ,才能获得全集,即所有属性字段。


第三问:

欲推导出C,必须有AB,不可拆分,所以你说的只有B是不能推出C的。


最后,建议你把这集认真再看一遍,函数依赖、关系数据库规范化都是必考题,概念不清至少会丢3分的哦!

下载视频
投屏
复制链接
0 回复 有任何疑惑可以回复我~
  • 提问者 逐梦稚者 #1
    第三问的:F{ AB -> C, C -> B }
    欲推导出C,必须有AB,不可拆分,没问题。
    
    那第二项 C -> B 要怎么理解?在第一项中,
    既然必须有AB共同推导出C,那B又需要C推导出,不会死锁吗?
    比如A=学号,B=课程,C=成绩,通过某个学生的某门课查询到成绩,可是成绩又不能推导出课程
    回复 有任何疑惑可以回复我~ 2024-10-11 14:52:13
  • 提问者 逐梦稚者 #2
    视频21:53说只要有A就能推出B和C。为什么?
    C需要A和B共同推出吧?
    
    1个候选关键字是AC这个说法是什么意思?A,B,C分别是一个属性,AC组合在一起为什么不是2个候选关键字?
    回复 有任何疑惑可以回复我~ 2024-10-11 23:11:23
  • 郝老狮 回复 提问者 逐梦稚者 #3
    只有在B->C, C->B的情况下才会形成循环依赖,F中是AB->C, C->B,AB不可分,你理解为一个联合整体,所以不构成循环依赖。
    
    死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,在数据库依赖关系中用“死锁”这个概念不合适;
    回复 有任何疑惑可以回复我~ 2024-10-12 16:26:53
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信