sql中完全依赖,部分依赖,传递依赖关系

以学生表的几个简单例子介绍一下,说明:Sno(学生学号),Sname(学生姓名),Sdept(学生所在院系),Cno(课程号),Grade(课程成绩),Mname(系主任名字)

1.完全依赖:一个学号就可以决定一个学生姓名(将决定用→表示),Sno→Sname,这样就叫做Sname完全依赖于Sno,同样还有Sno→Sdept,Sdept→Mname,但是Sname就不能决定Grade(因为一个学生有多门成绩,所以只有一个Sname无法确定唯一的Grade)。

2.部分依赖:已知Sno→Sdept,所以联和关系(Sno,Sname)也可以决定Sdept,写作(Sno,Sname)→Sdept,其中因为Sno自己就可以决定Sdept,所以说Sdept部分依赖于(Sno,Sname)。

3.传递依赖:已知Sno→Sdept,Sdept→Mname,所以Sno也可以决定唯一的Mname,类似这种经过多个完全依赖关系的传递来决定的,叫做传递依赖。

你可能感兴趣的:(sql,依赖关系,sql三范式,mysql,sql)