关系模式(关系数据库理论)中多值依赖

这是一道关于关系模式(关系数据库理论)中多值依赖的题目。让我详细解释一下:
题目分析
给定关系模式:R(C#, Cn, T, Ta)
- C# = 课程号(Course Number)
- Cn = 课程名(Course Name)
- T = 教师名(Teacher)
- Ta = 教师地址(Teacher Address)
题目描述的语义约束:
- 并且设定不同课程号可以有相同的课程名
- 每个课程号下只有一位任课教师
- 但每位教师可以任多门课程
多值依赖分析
根据这些约束条件,我们需要找出关系R中对主属性的传递依赖。
关键分析:
- 每个课程号(C#)对应唯一的教师(T):C# → T
- 每个教师(T)对应唯一的地址(Ta):T → Ta
- 因此存在传递依赖:C# → T → Ta,即 C# ⟹ Ta
但是,课程号(C#)和课程名(Cn)之间没有确定的函数依赖关系,因为题目明确说明"不同课程号可以有相同的课程名"。
答案解释
正确答案应该是 D. C#→T,T→Ta
原因:
- C#→T:每个课程号下只有一位任课教师,这是一个函数依赖
- T→Ta:每个教师对应一个固定地址,这也是函数依赖
- 这形成了传递依赖:C# → T → Ta
为什么其他选项不对:
- A. C#→Cn,Cn→Ta:错误,因为课程名不能唯一确定教师地址
- B. (C#,T)→Ta:虽然正确,但不是最简形式的依赖关系
- C. C#→Tn:选项中没有Tn这个属性
这道题考查的是关系数据库理论中函数依赖和传递依赖的概念,需要根据实际的业务约束来确定属性间的依赖关系。

浙公网安备 33010602011771号