数据库表中的一个决定因素是一个属性,该属性确定分配给同一行中的其他属性的值。通过这个定义,任何首要的关键或候选钥匙是一个决定因素。然而,可能存在不是主要或候选键的决定因素。
决定因素的一个例子
例如,公司可以使用具有属性employee_id,first_name,last_name和出生日期的属性的表。
员工ID | First_name | 姓 | 出生日期 |
---|---|---|---|
123. |
梅根 | 棕色的 | 01/29/1979 |
234. | 班 | w | 02/14/1985 |
345 | 梅根 | Chowdery. | 1985年2月14日 |
456. | 查尔斯 | 棕色的 | 07/19/1984 |
在这种情况下,employee_id字段确定剩余的三个字段。名称字段不确定主键,因为该公司可能有共享相同名字或姓氏的员工。同样,出生日期不会确定员工或名称字段,因为员工可以共享同一个生日。
数据库键的决定性关系
在此示例中,Employee_ID是一个决定因素,候选密钥以及主键。这是一个候选键,因为在搜索时整个数据库对于234,出现包含Ben Wilder信息的行,并且没有显示其他记录。
通过三列中的信息搜索数据库时发生另一个候选密钥:first_name,last_name和出生日期,这也检索相同的结果。
employee_id是主键,因为可以用作候选密钥的列的所有组合,它是最简单的列用作本表的主要引用。此外,无论与其他列中的信息相比,它都保证对此表是独一无二的。
感谢您让我们知道!
告诉我们为什么!