数据库原理 范式例题

博客围绕数据库范式展开,先介绍了2NF、3NF、BCNF的定义,接着给出多道例题,如分析关系模式的候选码和所属范式,包括Y(X1,X2,X3,X4)、R(A,B,C,D)、R(X,Y,Z,W)等,还提及用闭包概念分析更清晰。

定义

2NF
在这里插入图片描述
3NF
在这里插入图片描述
BCNF
在这里插入图片描述

例题

Y(X1,X2,X3,X4)Y(X1,X2,X3,X4)Y(X1,X2,X3,X4)
(X1,X2)→X3(X1,X2) \rightarrow X3(X1,X2)X3
X2→X4X2\rightarrow X4X2X4
写出 候选码 和 所属范式

(1)分析
∵\because X2→X4X2\rightarrow X4X2X4
∴\therefore (X1,X2)→X4(X1,X2) \rightarrow X4(X1,X2)X4

∵\because (X1,X2)→X3(X1,X2) \rightarrow X3(X1,X2)X3
∴\therefore (X1,X2)→(X1,X2,X3,X4)(X1,X2) \rightarrow (X1,X2,X3,X4)(X1,X2)(X1,X2,X3,X4)

  • 候选码:(X1,X2)(X1,X2)(X1,X2)

  • 非主属性: X3,X4X3,X4X3,X4

(2)分析:
∵\because X2→X4X2\rightarrow X4X2X4
∴\therefore X4→P(X1,X2)X4 \overset P \rightarrow (X1,X2)X4P(X1,X2)

所属范式:1NF

R(A,B,C,D)R(A,B,C,D)R(A,B,C,D)
F={AB→D,AC→BD,B→C}F=\left\{ AB \rightarrow D,AC \rightarrow BD,B \rightarrow C\right\}F={ABD,ACBD,BC}
(1)侯选码
(2)最高属于第几范式

(1)
分析
∵\because
(A,B)→D(A,B) \rightarrow D(A,B)D
B→CB \rightarrow CBC
∴\therefore
(A,B)→(C,D)(A,B) \rightarrow (C,D)(A,B)(C,D)

候选码:(A,B)(A,B)(A,B) (A,C)(A,C)(A,C)
非主属性:D
(2)
分析:
∵\because
DDD没有传递依赖或者部分依赖
∴\therefore
是3NF
∵\because
属性决定集中 B→CB \rightarrow CBC 不包含码

所属范式为:3NF
3.
R(X,Y,Z,W)R(X,Y,Z,W)R(X,Y,Z,W)
F={Y→W,W→Y,(X,Y)→Z}F=\left\{ Y \rightarrow W,W \rightarrow Y,(X,Y)\rightarrow Z \right\}F={YW,WY,(X,Y)Z}
(1)候选码
(2)最高属于得范式

(1)候选码:(X,Y)(X,Y)(X,Y) (X,W)(X,W)(X,W)
(2)所属范式为:3NF

Ps:之前觉得这题分析太长了 就没写分析
今天新学了闭包得概念 用闭包感觉更清楚了

L=(X)L=(X)L=(X)
LR=(Y,W)LR=(Y,W)LR=(Y,W);
R=(Z)R=(Z)R=(Z

  • 对于(X,Y)(X,Y)(X,Y)
    Y→W,(X,Y)→ZY \rightarrow W, (X,Y)\rightarrow ZYW,(X,Y)Z
    即为候选码

  • 对于(X,W)(X,W)(X,W)
    W→Y,(X,Y)→ZW\rightarrow Y,(X,Y)\rightarrow ZWY,(X,Y)Z
    即为候选码

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值