我试图弄清楚 3NF 和 BCNF 之间的差异,我想我已经到了那里,但如果有人能提供帮助,那就太好了。
以下是第 3 范式中的一系列关系(从识别功能依赖关系中得到帮助,而这些关系又从 Connolly & Begg 的数据库系统中获取):
Client {clientNo(PK), clientName}
Owner {ownerNo(PK), ownerName}
Property {propertyNo (PK), propertyAddress, rent}
ClientRental {clientNo(PK), propertyNo(PK), rentStart, rentFinish, ownerNo(FK)}
每个房产只有一个所有者,客户可以租用这些房产。假设每个房产的租金是固定的。
所以我的问题是:这些也在 BCNF 中吗?
我的预感是 ClientRental 关系不是因为 PropertyNo->ownerNo。所以 PropertyNo 是函数依赖的决定因素,但它不是超键。
我在正确的球场附近吗?