对主属性部分依赖的是哪一个?

问题描述:

10、定义学生选修课程的关系模式如下:SC(S#,S,C#,C,G,C)其属性分别为学号、姓名、课程号、课程名、成绩、学分)
则对主属性部分依赖的是()
A.(S#,C#)→G
B.S#→Sn
C.(S#,C#)→S#
D.(S#,C#)→C#

问题解答:

对于定义学生选修课程的关系模式 SC(S#, Sn, C#, C, G, Cr),其属性分别为学号(S#)、姓名(Sn)、课程号(C#)、课程名(C)、成绩(G)、学分(Cr)。我们要确定哪些属性对主属性部分依赖。

首先,我们假设主键是 (S#, C#),因为一个学生在一个课程上的成绩是唯一确定的。

分析选项:

A. (S#, C#) → G

  • 这是一个完整依赖,因为成绩 G 完全依赖于学号和课程号的组合。

B. S# → Sn

  • 这是一个部分依赖,因为 Sn(学生姓名)只依赖于 S#(学号),不依赖于课程号 C#。

C. (S#, C#) → S#

  • 这是一个平凡依赖,因为任何属性集合都可以推导出其子集,因此这是一个平凡的函数依赖,不是部分依赖。

D. (S#, C#) → C#

  • 这也是一个平凡依赖,同样道理,任何属性集合都可以推导出其子集,因此这是一个平凡的函数依赖,不是部分依赖。

正确答案:

B. S# → Sn

为什么其他选项是错的:
  • 选项 A (S#, C#) → G: 这是一个完全依赖,而不是部分依赖,因为 G 完全依赖于 (S#, C#) 这对组合键。

  • 选项 C (S#, C#) → S# 和选项 D (S#, C#) → C#: 这两个是平凡依赖,任何属性集合都可以推导出其自身的部分,因此这不属于部分依赖的范畴。

结论:

B. S# → Sn 是正确的,因为它表示学生姓名 Sn 依赖于学号 S#,这是一个部分依赖。

因此,正确答案是 B. S# → Sn。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神笔馬良

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值