数据库范式例题

数据库范式例题题目范式标准的二维表就满足第一范式 1NF 满足第一范式且每一个非主属性完全函数依赖任何一个候选码就满足第二范式 2NF 满足第二范式且不存在传递函数依赖就满足第三范式 3NF 满足第三范式且非主属性对候选码没有部分依赖或者传递依赖就满足 BC 范式 BCNF 一 Y X1 X2 X3 X4 X1 X2 rightarrow X3X2 rightarrow X4 侯选码 属于第几范式 二 R A B C D F AB rightarrow D AC rightarrow

题目

一.

二.

三.

一.

因为 X2 → \rightarrow X4
所以 ( X 1 , X 2 ) → P X 4 (X1,X2) \stackrel{P}{\rightarrow} X4 (X1,X2)PX4
因为 ( X 1 , X 2 ) → X 3 (X1,X2) \stackrel{}{\rightarrow} X3 (X1,X2)X3
所以 ( X 1 , X 2 ) → ( X 3 , X 4 ) (X1,X2) \stackrel{}{\rightarrow} (X3,X4) (X1,X2)(X3,X4)
因此:候选码:(X1,X2);非主属性:X3,X4。
因为(X1,X2) → \rightarrow X4, X2 → \rightarrow X4,存在非主属性X4对候选码(X1,X2)的部分函数依赖;
所以不属于2NF。
结论:候选码(X1,X2),属于第一范式。






二.

因为 B → \rightarrow C
所以 ( A , B ) → ( C , D ) (A,B) \stackrel{}{\rightarrow} (C,D) (A,B)(C,D)
因为 ( A , C ) → ( B , D ) (A,C) \stackrel{}{\rightarrow} (B,D) (A,C)(B,D)
因此:候选码:(A,B)、(A,C);非主属性:D。
不存在非主属性D对候选码(A,B)、(A,C)的部分函数依赖;
所以属于第三范式。
不属于BCNF 因为B→C,B不包含码
满足BCNF的关系模式有:






  • 所有非主属性对每一个码都是完全函数依赖
  • 所有主属性对每一个不包含它的码也是完全函数依赖
  • 没有任何属性完全函数依赖于非码的任何一组属性
    第二题因为C并不是完全依赖于不包含C的码,因为B → \rightarrow C。

因为(X,Y) → \rightarrow Z ,Y → \rightarrow W
所以(X,Y) → \rightarrow (W,Z),(X,Y)是码
因为(X,W) → \rightarrow X, (X,W) → \rightarrow W, W → \rightarrow Y
所以(X,W) → \rightarrow (X,Y,W),
因为W → \rightarrow Y,XW → \rightarrow XY,XY → \rightarrow Z,所以(X,W) → \rightarrow Z
所以(X,W)也是码
候选码:(X,Y)、(X,W);非主属性:Z。
属于第二范式,因为Z完全依赖于码(非主属性只有Z)
属于第三范式,因为Z没有传递依赖于码
不属于BC范式 因为W→Y,决定者不包含候选码
所以第三题最高属于第三范式。









版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/198274.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午3:26
下一篇 2026年3月26日 下午3:26


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号