考虑以 AB 作为主键的模式 S=(A,B,C,D),并且以下函数依赖关系 (FD) 对其保持不变:AB --> C, AB --> D, BC --> D。以下分解是 Boyce-Codd 范式 (BCNF) 吗?S1=(A,B,D) & S2=(B,C,D)
尝试的答案可能会遗漏一些东西:使用给定的 FD,在 S1 中,键是 AB;在 S2 中,关键是 BC。S1 包含 FD AB-->D,其左侧包含其键 AB。S2 包含 FD BC-->D,其左侧包含其密钥 BC。因此,分解似乎是在 BCNF 中。
但是,我们知道 BCNF 分解是无损的,而这个不是。常见的属性是 {B,D},它的闭包仍然是 {B,D}。
那么漏洞在哪里呢?