gpt4 book ai didi

database-design - 具有循环函数依赖性的 Boyce-Codd 范式

转载 作者:行者123 更新时间:2023-12-04 07:15:42 27 4
gpt4 key购买 nike

在关系型数据库设计中,例如有schema S(banker, bname, customer)和function dependencies (FDs)

银行家->名字customer,bname->银行家

模式S是BCNF吗?或者它应该是:(banker, bname) 和 (customer, banker)

最佳答案

我认为“S”不在 BCNF 中。这是 Chris Date 对 BCNF 的非正式定义。

A relvar is in BCNF if and only if the only determinants are candidate keys. (An Introduction to Database Systems, 7th ed, p 367)

术语行列式 表示函数依赖的左侧。如果存在左侧不是候选键的函数依赖项,则该关系不在 BCNF 中。

让我们用传统符号重写您的示例。

R{ABC}
A->B
BC->A

有两个候选键:AC 和 BC。 A->B 的左侧不是候选键。所以 R 不在 BCNF 中。

Or it should be: (banker, bname) and (customer, banker)

没有。您的函数依赖关系非常清楚地表明客户决定银行家。

关于database-design - 具有循环函数依赖性的 Boyce-Codd 范式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13242188/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com