第六章 关系数据理论(NF)

关系模式由五部分组成,是一个五元组:
R(U,D,DOM,F)
D(属性U取值所来自的域),DOM(属性到域的映射)与模式设计关系不大,用三元组表示关系R<U,F>

第六章主要讲的就是范式(NF)!!!

1NF→2NF→3NF→BCNF→4NF

范式随这个顺序,逐渐更加规范化。

第一范式——1NF

关系,即二维表,每个分量都是不可分开的数据项。
即 严格的多行多列的二维表,不存在表中有表

函数依赖

数据依赖:

  • 函数依赖
  • 多值依赖(在4NF之前穿插)

Y=f(X) ,记作 X→Y 称为Y函数依赖于X,X函数决定Y。
引例】Student关系中,每个学生有唯一的学号,每个学生只属于一个系别。

Sname=f(Sno) ,Sno函数决定Sname,记为Sno→Sname
Sdept=f(Sno) ,Sno函数决定Sdept,记为Sno→Sdept

定义
设R(U)是一个属性集U上的关系模式,X和Y是U的子集。
若 对于R(U)的任意一个可能的关系r,r中不可能存在
两个元组在X上的属性值相等,而在Y上的属性值不等
则 称 X函数确定Y,或Y函数依赖于X,记作X→Y。
其中X称为决定因素,即左边的属性(组)为决定因素
在这里插入图片描述

简化理解
在关系R中,也就是在这个表中,取定X时,其对应的Y一定为一个确定值,也就是X与Y是一对一或者多对一(在下面传递函数依赖的例子中)的关系;一对多,多对多,都不满足函数确定的关系。
叫做函数依赖,也就是函数映射(一对一或多对一)的关系。

栗子】Student(Sno,Sname,Ssex,Sage,Sdept),假设不允许重名。该关系中的函数依赖有:

  • Sno→Sdept,Sno→Ssex,Sno→Sage
    每个学生的学号确定,系别,性别,当前年龄确定
  • Sno←→Sname
    每个学生的学号确定,姓名确定;不重名,姓名确定,学号确定
  • Sname→Ssex,Sname→Sage,Sname→Sdept
    学生姓名确定,性别确定,年龄确定,系别确定(不重名)

性别如果确定,假定是女,不能确定任何其他属性。其他属性分析类似。

分类

1.平凡函数依赖 非平凡的函数依赖

在这里插入图片描述
平凡函数依赖即 自己可以确定自己的子集,没有什么意义。

2.完整函数依赖 部分函数依赖

在这里插入图片描述
任何真子集不能函数确定的为完全的,即少一个都不能确定。部分的函数依赖,顾名思义,就是部分的属性就可以确定。
SC表中(Sno,Cno)→Grade就是完全函数依赖,因为Sno和Cno任何一个都不能确定Grade。

3.传递函数依赖

在这里插入图片描述
要注意Y→X不成立的条件!!!
【例】Std(Sno,Sdept,Mname)中,有:
Sno→Sdept,Sdept→Mname,并且Sdept→Sno不成立,所以有Sno→Mname,Mname传递函数依赖于Sno。
(这里的函数依赖就是多对一的情况,是指多个Sno对应相同的一个Mname的值,Sno确定为一个特定值时,Mname只有一个值)

  • 候选码 —— 可以唯一确定一个元组
    在这里插入图片描述
  • 超码 —— 某个真子集为候选码;候选码为最小的超码
    在这里插入图片描述
  • 主码 —— 认为选定的一个候选码
  • 全码 —— 整个属性组是码 All-key
  • 外码 —— 关系R中不是码的属性,是另一关系的码
  • 主属性与非主属性 —— 所有候选码的属性为主属性,其他为非主属性

找候选码:从单个开始找,若找到单个为候选码,将所有单个属性组试完后,不必找两个的;若单个都不能作为码,则找两个的,就要把两个的所有组合情况都试验一遍,以此类推。

范式和规范化

1.范式:符合某一级别的关系模式的集合
在这里插入图片描述各级范式,约束性,规范性逐渐增强。

2.规范化:一个低一级的范式,通过模式分解可以转换为若干个高一级范式的关系模式的集合的过程。“拆”

2NF

在这里插入图片描述
不存在部分函数依赖!!!

步骤:①找函数依赖关系→②找候选码→③找非主属性→④看是否完全依赖

【例6.4】S-L-C(Sno,Sdept,Sloc,Cno,Grade),Sloc为学生住址,同一系的学生住在同一个地方。

①函数依赖:
Sno→Sdept,Sdept→Sloc,Sno→Sloc(传递)(Sno,Cno)→Grade(完全)
(Sno,Cno)→Sdept(部分)
(Sno,Cno)→Sloc(部分)
②候选码 —— 可以确定其他所有属性
(Sno,Cno)
③非主属性
Sdept,Sloc,Grade
④是否完全依赖
(Sno,Cno)→Grade(完全)
(Sno,Cno)→Sdept(部分)
(Sno,Cno)→Sloc(部分)
否,不是2NF

【模式分解——拆】
SC(Sno,Cno,Grade)
S-L(Sno,Sdept,Sloc)
将有问题的部分函数依赖拆出来,同时保证不丢关系

3NF

在这里插入图片描述
不存在传递函数依赖!!!

【例】在上述S-L-C分解成为第二范式后中的SC表没有传递函数依赖,为3NF,S-L表中:
Sno→Sloc(传递),不满足

【拆】
S-L拆为:
S-D(Sno,Sdept)
D-L(Sdept,Sloc)
只有两个属性值,都为3NF

BCNF

扩展的第三范式。
在这里插入图片描述
在满足3NF后,才能满足BCNF。
决定因素必含有码!!!

步骤:(首先保证没有部分函数依赖和传递函数依赖关系)①找函数依赖关系→②找候选码→③决定因素是否包含码

【例子】关系模式 STJ(S,T,J)中,S表示学生,T表示教师,J表示课程。每一教师只教一门课。每门课有若干教师,某一学生选定某门课,就对应一个固定教师。

①函数依赖:
T→J,(S,J)→T,(S,T)→J
②候选码:
(S,J),(S,T)
③非主属性:无
所以没有部分函数依赖和传递函数依赖(这两者都涉及到非主属性
④决定因素为T,(S,J),(S,T)。其中T不包含任何码,所以该关系模式不属于BCNF。

多值依赖X→→Y

在这里插入图片描述
每个X值对应一组Y值,这组值与Z值无关。这里注意X+Y+Z=U

当Z为空的时候,为平凡的多值依赖
Z不为空,为非平凡多值依赖

这里比较难理解,放PPT上的一个图,就容易多了。
在这里插入图片描述
就像这个图中的,不是规范化的表,但是可以很好的理解多值依赖。
课程C→→T,对于每个C值,都有对应的一组T值,而且这组T值与B值无关。

再找多值依赖的时候,可以先将关系化为上述图片的格式,比较容易看出来。

4NF

在这里插入图片描述
是4NF的前提是要是BCNF。

候选码的求解理论和算法

闭包:一个属性直接或间接推导出来的属性的集合。
属性分类:

  • L类:只出现在函数依赖左边的属性
  • R类:只出现在函数依赖右边的属性
  • LR类:出现在函数依赖两边的属性
  • N类:没有出现在函数依赖的属性

定理及推论:(为了方便记忆,自己总结的)
1.候选码必包含L类属性,必不包含R类属性
2.N类属性必包含在任一个候选码中。
3.若X为L类属性L∪N的属性集,X的闭包包含U,则X为唯一候选码。

注:当存在X←→Y的时候,可以替换,即若XZ为码,则YZ也为码。

【例子】U=(A,B,C,D,E,F),F={A→BC,BC→A,BCD→EF,E→C}

(1)L=(D),R=(F),LR=(A,B,C,E),N=空;
(2)L∪N=(D),D的闭包只有D
(3)候选码不会有F,逐个配对
AD闭包=ABCDEF=U
BD闭包=BD
CD闭包=CD
DE闭包=CDE
AD为候选码,因为A←→BC,所以DBC也为候选码,需要开始找三个属性组的。三个不会包含A,因为那样是超码,一定包含D。
DBE闭包=CDBEAF=U
DCE闭包=DCE
所以候选码为DA,DBC,DBE。

总结:

在这里插入图片描述

习题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

附加题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
【心得】这章主要是范式,概念比较多,有些符号比较难打,就将PPT上的定义截屏了,记住几个范式的注重点就好。在后面的做题中,感觉多值依赖和4NF比较难理解,做题的时候也有些模糊,多个候选码的情况下进行模式分解也有些糊。刚开始在老师讲解候选码的另一个求解方法之前做题,自己求解的候选就很没有底气,后面讲的这个闭包和属性分类的方法理解了之后,做题真的很有效,感觉求解出来的候选码很正确。另外在证明题中,也是感觉证明的很牵强。有时候判别第三范式的传递也会有些迷惑

傅耳耳
关注 关注
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
关系模式的范式~NF分类与规范化
lseaJK的博客
06-01 3258
文章目录一、范式分类二、规范化(提高关系模式级别)3NF分解方法BCNF分解方法 一、范式分类 第一范式(1NF):字段都是单一属性的,分量不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。 第二范式(2NF):不存在非关键字段对任一候选键字段的部分函数依赖 / 所有非关键字段都完全依赖于任意一组候选关键字(例:候选键ABC,非主属性D,如果ABC–>D则满足2NF;如果AB–>D,则非2NF)。 第三范式(3NF):在2NF基础上,不存在非关键字段对任一候选关键字
关系数据库范式(1NF,2NF,3NF,BCNF,4NF,5NF)全解析
热门推荐
春卷同学的博客
03-11 2万+
1 范式的基本概念 设计关系数据库时,遵从不同的规范要求,设计出合理的关系数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。 目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF...
MySQL 关系数据库设计范式(NF)
weixin_40123451的博客
10-02 1800
摘要1:https://www.cnblogs.com/xietianjiao/p/10972285.html 摘要2:https://www.cnblogs.com/linjiqin/archive/2012/04/01/2428695.html 数据库设计三大范式 目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。 注意:符合高一级范式的设计,必定符合低一级范式,例如符合2.
数据库中各种NF(范式的含义)
g030603的博客
03-28 3952
定义 1NF(第一范式):每个属性都是原子的,即不可再分解。也就是说,每个属性中都不能包含多个值或重复的组合值。 2NF(第二范式):在满足1NF的基础上,非主属性必须完全依赖于候选码,而不是仅依赖于部分候选码。也就是说,关系模式中每个非主属性都必须与候选码有直接关系,不能通过其他非主属性派生出来。 3NF(第三范式):在满足2NF的基础上,任何非主属性都不能依赖于其他非主属性。也就是说,每个非主属性都应该直接依赖于候选码,而不是依赖于其他非主属性。 BCNF(巴斯-科德范式):在满足
非常详细的范式讲解(1NF/2NF/3NF/BCNF
Panda4u的博客
08-16 6429
范式 ​ 范式在计算机方面运用广泛,在计算机二级三级均有涉及到,今天就来讲讲范式。要是能够认真的看完,相信一定能够理解的。 ​ 在讲范式之前,我们先来了解有关范式的基本概念,听懂了有利于后面的学习。 函数依赖 ​ 首先一个好的关系模式是不会出现以下问题的: 1. 插入异常 2. 删除异常 3. 更新异常 4. 数据冗余尽量少 如果出现那是由于数据依赖,其中数据依赖分为:函数依赖,多值依赖,连接依赖等等。 所以,当关系模式出现问题,解决方法为——规范化理论(找到关系模式中不适合的数据依赖,并消除它们)
数据库系统概论 第六章关系数据理论
最新发布
06-26
### 数据库系统概论第六章关系数据理论 #### 重要知识点概述 本章节重点讨论了关系数据理论的基础概念及其在数据库设计中的应用。主要包括以下几个方面: 1. **关系数据库的基本概念**:这部分介绍了关系关系...
(高级篇)第六章关系数据理论
12-14
关系数据库设计中,关系数据理论是至关重要的概念,它涉及到如何有效地组织和管理数据,以确保数据的一致性和完整性。本章将讨论关系模式、函数依赖、范式以及规范化等核心主题。 首先,让我们来看第一个例子。...
第6章关系数据理论1.ppt
06-20
【第6章关系数据理论】主要探讨的是关系数据库设计的核心理论——规范化理论关系数据库是现代数据管理的重要工具,设计一个高效、稳定的关系数据库对于系统的性能至关重要。规范化理论提供了指导数据库设计的理论...
第六章 关系数据理论.ppt
12-05
第六章 关系数据理论】 本章主要探讨的是关系数据理论,这是数据库逻辑设计的核心,特别是在关系数据库模式设计中起到至关重要的作用。关系数据理论包括函数依赖、范式以及模式的分解等内容,这些理论数据库...
快速理解数据库函数依赖(平凡函数依赖、非平凡函数依赖、完全函数依赖、部分函数依赖、传递依赖)
weixin_62714329的博客
03-28 1万+
设一个关系为R(U),X和Y为属性集U上的子集,当X → Y时,如果Y ⊂ X 那么称X→Y是平凡的函数依赖。(这时候的X一般为属性组,Y为单个属性或者属性组)
3.4.2 函数依赖
夏佳怡的博客
03-28 390
函数依赖 那个属性能确定哪个属性 好的模式 不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少。 平凡函数依赖和非平凡函数依赖 X→Y,但Y⊄X,则称X→Y是非平凡函数依赖 X→Y,但Y⊆X,则称X→Y是平凡函数依赖 例如: 在关系SC(Sno, Sdept,Mname,Cno,Grade)中, 存在: (Sno, Cno)→Grade:非平凡函数依赖 Sdept→Mname:非平凡函数依赖 (Sno, Cno)→Sno :平凡函数依赖 (Sno, Cno)→Cno :平凡函数依赖 完全函数依赖(
关系数据库基础知识
qq_42411214的博客
05-20 1129
数据库的设计 多表之间的关系 一对一 例如:身份证和人 实现关系:在任意的一方添加唯一(unique)外键,指向另外一方的主键,一般情况下把一对一合成一张表。 一对多,多对一 例如:部门和员工 实现关系:在多的一方建立外键,指向一那方的主键,建立两张表的关系。 多对多 例如:学生和课程表 实现关系:完成多对多需要中间表,中间表最少包含两个字段,这两个字段作为中间表的外键分别指向两张表的...
sql中完全依赖,部分依赖,传递依赖关系
linkunpeng_的博客
08-04 6720
sql三范式中关于三种依赖关系简述
数据库1NF 2NF 3NF范式解释
在下李逍遥的博客
07-13 8684
范式(NF)”是什么意思。按照教材中的定义,范式是“符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度”。 数据库范式也分为1NF,2NF,3NF,BCNF,4NF,5NF。一般在我们设计关系数据库的时候,最多考虑到BCNF就够。符合高一级范式的设计,必定符合低一级范式,例如符合2NF关系模式,必定符合1NF
数据库系统概论(二)关系规范化理论
gldzzznb的博客
04-13 2389
包含了我对关系规范化的理解,函数依赖和四种常用范式的知识点。
一道关系模式的练习题(求候选码,最小依赖集,模式分解)
breathN的博客
03-13 9318
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 跨考复试准备...
关系模式r的所有候选码_关系数据理论基础概念
weixin_32790659的博客
12-31 2839
数据库系统最基础的就是关系数据理论这一块,简单来讲,为了数据使用更加高效、快捷,必须用规范化理论关系模式进行改造。不多说了,直接列重点:1、关系模式的表示R<U,F>,其实R指的是关系名的符号化表示,英文就是relation;U指的是该关系的属性集;F指的是属性间的依赖关系。2、函数依赖,这和数学上的函数概念基本一致。给个X,就能确定Y值,则称X确定Y,或Y依赖于X。记作X→Y。3、完全函数依赖...
写文章

热门文章

  • C# Visual Studio 登录界面+数据库连接 18868
  • 第三章课后题 7779
  • 【Linux系统IO函数】read、write函数及实现文件拷贝 6159
  • C# Visual studio 简易计算器 4721
  • SELECT(嵌套查询、EXISTS、集合查询、基于派生表的查询) 4669

分类专栏

  • 笔记 13篇
  • 题解 7篇
  • 算法 6篇
  • 线程同步 1篇
  • 设计模式 1篇
  • Linux 8篇
  • Transformer 1篇
  • 深度学习 1篇
  • 模式识别 1篇
  • 高等数学 2篇
  • 计算机图形学 3篇
  • 曲线与曲面 3篇
  • 数学 4篇
  • 二叉树 1篇
  • 最短路径 1篇
  • 枚举 1篇
  • 动态规划 1篇
  • 贪心 1篇
  • map 1篇

最新评论

  • 【12月学习进度9/31——计算机图形学期末准备06】四阶三次B样条曲线矩阵形式推导及MATLAB实现

    帅琦Q: 你好,为什么推到递推公式时,分母中ui+1-ui=1?

  • 第三章课后题

    蓝海岛中月: 9.(1)感觉这么写会好点 SELECT PNO,SUM(QTY) FROM SAN_JIAN GROUP BY PNO;

  • 【Linux】stat 函数模拟实现 ls -l 命令

    ckssss44: 很好的资源

  • 【12月学习进度9/31——计算机图形学期末准备06】四阶三次B样条曲线矩阵形式推导及MATLAB实现

    Ginkgo biloba L: 这里是不是假定u2-u1=1了

  • 第九章: 关系查询处理和查询优化

    处眠: 请问这个如何理解包含B个块的文件排序代价 = (2B)+(2B*log2 B)

最新文章

  • 【刷题日记】和为 K 的子数组
  • 【刷题日记】乘积小于K的子数组
  • 【刷题日记】和大于等于target的最短子数组
2022年20篇
2021年22篇
2020年26篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

天下网标王企业网站seo优化交流网站优化自学优化网站皆选大将军20怀宁网站优化哪家正规李沧网站首页优化赣州网站优化排名萧县seo网站优化网站关键词优化知乎做个网站然后做优化排名行不行青浦网站优化郑州网站权重优化服务商襄阳外包网站优化公司和优化网站凝望云速 捷绍兴网站关键字优化天猫网站404页面优化怎么分析网站优化安阳关键词网站优化哪家便宜kfc网站优化广西网站优化兰州优化网站报价长沙网站优化咨询侯马外贸网站优化平山优化网站价格鄢陵seo网站优化代理商常宁网站怎么优化laravel网站地址优化湖南网站关键词排名优化靠谱山东优化网站排名哪家好永州网站优化报价表黄石工厂网站优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化