这是传递依赖吗?
Is this a transitive dependency?
我有这个简化的 table:
企业声明,role_id
为 3
的任何人都需要 leader_id
,而 role_id
任何其他值的人都不应该 leader_id
(null
).
通过了解 leader_id
的值,我们现在缩小了 role_id
的可能值。我是否不情愿地在 leader_id
和 role_id
之间创建了传递依赖?
不,这不是传递依赖:角色本身并不能为您提供足够的信息来找到领导者;此外,领导者本身并不能提供足够的信息来找到角色(对于空值)。
传递依赖意味着您必须能够从另一个值 Y 中以完美的分数发现值 X。
例如,如果您知道城市,您显然也知道国家/地区,您不必创建两个列(城市和国家),你只需要城市,通过使用传递依赖,你会得到国家。
我有这个简化的 table:
企业声明,role_id
为 3
的任何人都需要 leader_id
,而 role_id
任何其他值的人都不应该 leader_id
(null
).
通过了解 leader_id
的值,我们现在缩小了 role_id
的可能值。我是否不情愿地在 leader_id
和 role_id
之间创建了传递依赖?
不,这不是传递依赖:角色本身并不能为您提供足够的信息来找到领导者;此外,领导者本身并不能提供足够的信息来找到角色(对于空值)。
传递依赖意味着您必须能够从另一个值 Y 中以完美的分数发现值 X。
例如,如果您知道城市,您显然也知道国家/地区,您不必创建两个列(城市和国家),你只需要城市,通过使用传递依赖,你会得到国家。