Here我发现了这一点:
该定义也不适用于候选键吗?
最佳答案
据我了解,如果表未完全标准化,则行列式可能不是候选键。实际上,在描述将非正常数据转换为更有用的,标准化形式的过程时,使用了行列式一词。
考虑这个(显然是非正常的)表:
CREATE TABLE US_Address (
AddressID int,
Streetline varchar(80),
City varchar(80),
State char(2),
ZIP char(5),
StateName varchar(80),
StateTax DECIMAL(5,2)
)
状态是StateName和StateTax的决定因素,但不是该行的候选键。
正确的规范化将因此将StateName和StateTax从US_Address表中移出,并移到一个States表中。
有关更多信息,请参见here。