这是传递依赖吗?

Is this a transitive dependency?

我有这个简化的 table:

企业声明,role_id3 的任何人都需要 leader_id,而 role_id 任何其他值的人都不应该 leader_id (null).

通过了解 leader_id 的值,我们现在缩小了 role_id 的可能值。我是否不情愿地在 leader_idrole_id 之间创建了传递依赖?

不,这不是传递依赖:角色本身并不能为您提供足够的信息来找到领导者;此外,领导者本身并不能提供足够的信息来找到角色(对于空值)。

传递依赖意味着您必须能够从另一个值 Y 中以完美的分数发现值 X。

例如,如果您知道城市,您显然也知道国家/地区,您不必创建两个列(城市和国家),你只需要城市,通过使用传递依赖,你会得到国家。