当关系模式 R(A,B)已属于 3NF,下列说法中() 是正确的。
要了解 BCNF 范式,那么先看这样一个问题:
若:
那么关系模式 仓库(仓库名,管理员,物品名,数量) 属于哪一级范式?
答:已知函数依赖集:仓库名 → 管理员,管理员 → 仓库名,(仓库名,物品名)→ 数量 码:(管理员,物品名),(仓库名,物品名) 主属性:仓库名、管理员、物品名 非主属性:数量 ∵ 不存在非主属性对码的部分函数依赖和传递函数依赖。∴ 此关系模式属于3NF。
基于此关系模式的关系(具体的数据)可能如图所示:
<img src="https://pic3.zhimg.com/68d080d437732aad8cfe451b427849d6_b.jpg" data-rawwidth="625" data-rawheight="296" class="origin_image zh-lightbox-thumb" width="625" data-original="https://pic3.zhimg.com/68d080d437732aad8cfe451b427849d6_r.jpg">好,既然此关系模式已经属于了 3NF,那么这个关系模式是否存在问题呢?我们来看以下几种操作:
从这里我们可以得出结论,在某些特殊情况下,即使关系模式符合 3NF 的要求,仍然存在着插入异常,修改异常与删除异常的问题,仍然不是 ”好“ 的设计。