1NF,2NF,3NF,BCNF

1NF

定义:如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。
在这里插入图片描述
即不能存在表中表

  • 第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据模式。


2NF

定义: 若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的码,则R∈2NF。
在这里插入图片描述

S-L-C(Sno, Cno, Sdept, Sloc, Grade) 不属于 2NF
非主属性 Sdept 和 Sloc 部分函数依赖于码(Sno, Cno)。

解决方法
采用投影分解法,把S-L-C分解为两个关系模式,消除这些部分函数依赖
在这里插入图片描述



3NF

定义:关系模式R<U,F>∈1NF,若R中不存在这样的码X、属性组Y及非主属性Z(Y不包含于Z),使得X→Y,Y→Z,Y↛X,成立,则称R<U,F> ∈ 3NF。(不存在非主属性对码的传递依赖)

例如:
在这里插入图片描述
Sloc传递函数依赖于Sno,即S-L中存在非主属性对码的传递函数依赖Sno→ Sloc 。

S-L(Sno, Sdept, Sloc) ∈ 2NF
S-L(Sno, Sdept, Sloc) 不属于 3NF



BCNF

定义6.8 设关系模式R<U,F>∈1NF,如果对于R的每个函数依赖X→Y, 且X 不包含 Y 时,X必含有码,那么R∈BCNF

即,在关系模式R<U,F>中,如果每一个决定因素都包含码,R∈BCNF。

例:
关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示课程

假设每一教师只教一门课 T→J

每门课由若干教师教,但某一学生选定某门课,就确定了一个固定的教师 (S,J)→T

某个学生选修某个教师的课就确定了所选课的名称 (S,T)→J

即 T→J ,(S,J)→T, (S,T)→J

在这里插入图片描述
码的介绍

由于决定因素T不包含码,所有STJ(S,T,J)不属于BCNF


采用投影分解法,将STJ分解为二个关系模式:SJ(S,J);TJ(T,J)
在这里插入图片描述
SJ(S,J)∈ BCNF SJ的码为(S,J), all-key
TJ(T,J)∈ BCNF TJ的码为T, T→J

注:
全码:All-key关系模型的所有属性组组成该关系模式的候选码,称为全码。即所有属性当作一个码。若关系中只有一个候选码,且这个候选码中包含全部属性,则该候选码为全码。


BCNF的关系模式所具有的性质

  1. 所有非主属性对每一个码都是完全函数依赖。
  2. 所有主属性对每一个不包含它的码也是完全函数依赖。
  3. 没有任何属性完全函数依赖于非码的任何一组属性。


规范化小结

一个低一级范式的关系模式,通过模式分解(schema decomposition)可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化(normalization)。

在这里插入图片描述

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值