Database 如何证明分解为BCNF(既保持依赖性又减少损失)不会';不存在?

Database 如何证明分解为BCNF(既保持依赖性又减少损失)不会';不存在?,database,database-design,schema,database-schema,database-normalization,Database,Database Design,Schema,Database Schema,Database Normalization,如何证明对于一个特定的模式,不存在对BCNF的分解,BCNF既能保持依赖性又能减少损失? 有没有一条规则适用?或者我需要经历所有可能的BCNF分解吗?考虑R(ABC)与函数依赖的关系是{AB→C、 C→B} 。候选键是{AB,AC},R在3NF中,因为关系的所有属性都是素属性 但是,关系R不在BCNF中,因为FD{C→B} 不满足BCNF的条件(即C不是候选密钥) 现在,如果我们想分解成BCNF,我们可以松开任一FD 因此,在这种情况下是不可能的,因此BCNF并不总是可以实现。我不太确定我是否理

如何证明对于一个特定的模式,不存在对BCNF的分解,BCNF既能保持依赖性又能减少损失? 有没有一条规则适用?或者我需要经历所有可能的BCNF分解吗?

考虑R(ABC)与函数依赖的关系是{AB→C、 C→B} 。候选键是{AB,AC},R在3NF中,因为关系的所有属性都是素属性

但是,关系R不在BCNF中,因为FD{C→B} 不满足BCNF的条件(即C不是候选密钥)

现在,如果我们想分解成BCNF,我们可以松开任一FD


因此,在这种情况下是不可能的,因此BCNF并不总是可以实现。

我不太确定我是否理解这个问题。你是说从3NF迁移到BCNF不能既无损又保持依赖性?或者你是说,在某些情况下,从3NF转移到BCNF是不可能的?我这样问是因为我能想到这样一种情况,即这样一种移动是无损的,并且保持了依赖性。所以我想你一定在看一个具体的例子?