表与表、属性与属性之间地关系,叫做数据依赖。
函数依赖 Function Dependency
一组属性的值可以决定另外一组属性的值。
记作。
:::info
例如,知道了“学号”,就可以知道“姓名”、“年龄”等属性。这时可以说学号决定姓名,或者姓名函数依赖于学号。
:::
多值依赖 Multi-Valued Dependency
一组属性的特定值可以决定另一组属性的一组值。
记作。
:::info
例如,一个只教物理和化学的老师,不论到哪个学校都只教这两门课。知道了该老师的姓名,就可以确定他教的课一定是物理或者化学。这时可以说课程多值依赖于姓名。
:::
函数依赖实际上是多值依赖的一个特例。当多值依赖的一组值范围缩小到一个值,这个多值依赖就是函数依赖。
连接依赖 Join Dependency
两个关系之间存在无损连接分解的关系,就称这两个关系具有连接依赖关系。
无损连接分解指一张表按照关系依赖分解后,再进行连接,可以还原出原表。