数据库传递依赖
不存在传递依赖是数据库第三范式的规定,本人将传递依赖总结为以下内容,请仔细阅读并思考其中的道理。
“一个实体对应多个属性和一定的联系,不能将多个实体和多个实体的属性放入一个表中混杂,每个实体都应有其独立的属性,应该拥有相应的二维表。而不是在一个二维表中通过一个实体的属性确定了另一个实体的属性。”
下面举一个具体的例子来进行讲解
现在有学生表和老师表,学生表中引用老师工号作为外键
学生的属性有学号,姓名,性别,年龄,身份证,家庭住址,联系方式。
老师表属性有工号,姓名,年龄,教学方向,职位。
从学生表的角度来看,学生这个实体具有多个属性,与老师具有一定的联系
但学生作为一个独立的个体,不能通过学生表来看出一些与学生无关的信息
比如
若我们把老师表的职位加进去,这个职位就是与学生无关的信息
如果我们通过学生表,一眼就看出来了与学生表无关,且与其他表有关的信息,我们就可以称这个表存在传递依赖。
注意:学生表通过查询老师,间接查询到职位,这种情况不属于传递依赖。