第六章 关系数据库理论

❖掌握
⬧ 函数四种依赖,重点掌握函数的部分依赖、传递依赖
⬧ 规范化:2NF, 3NF, BCNF,能够利用投影法熟练对关系进行规范化

❖了解
⬧ 多值依赖,4NF、5NF
❖重点
⬧ 规范化:2NF, 3NF, BCNF(重点,大题)
❖难点
⬧ 规范化:3NF, BCNF

❖第一节 问题的提出

❖什么是数据依赖

完整性约束的表现形式
⬧ 限定属性取值范围:例如成绩必须在0-100之间
⬧ 定义属性值间的相互关连 (女性是Miss)
❖数据依赖
⬧ 一个关系内部属性与属性之间的约束关系
⬧ 现实世界属性间相互联系的抽象
⬧ 数据内在的性质
⬧ 语义的体现
❖数据依赖的类型( FD / MVD )
⬧ 函数依赖(Functional Dependency,简记为FD)
⬧ 多值依赖(Multivalued Dependency,简记为MVD)

❖关系模式的简化定义

在这里插入图片描述

❖关系模式R(U, D, DOM, F)

简化为一个三元组:	R(U, F)(	关系名字,属性组 ,函数依赖关系)

❖当且仅当U上的一个关系r满足F时,r称为关系模式 R(U, F)的一个关系

❖数据依赖对关系模式影响

[例1] 建立一个描述学校教务的数据库:
学生的学号(Sno)、所在系(Sdept)、系主任姓名(Mname)、
课程号(Cno)成绩(Grade)
单一的关系模式 : Student <U、F>
U ={ Sno, Sdept, Mname, Cno, Grade }

u是函数依赖得到的一个语义。

❖学校数据库的语义:

⬧ 一个系有若干学生, 一个学生只属于一个系;
⬧ 一个系只有一名主任;
⬧ 一个学生可以选修多门课程, 每门课程有若干学生选修;
⬧ 每个学生所学的每门课程都有一个成绩

在这里插入图片描述

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

结论:
	⬧ Student关系模式不是一个好的关系模式。
	⬧ “好”的关系模式:不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少

原因:由存在于关系模式中的某些数据依赖引起的

解决方法:通过分解关系模式来消除其中不合适

❖第二节 规范化

❖函数依赖 (五种)

定义

设R(U)是一个属性集U上的关系模式,X和Y是U的子集若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X” ,记作X→Y。X称为这个函数依赖的决定属性集(Determinant)。Y=f(x)

大白话:只要X定了Y就确定了
  1. 函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。

  2. 函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。例如“姓名→年龄”这个函数依赖只有在不允许有同名人的条件下成立

  3. 数据库设计者可以对现实世界作强制的规定。例如规定不允许同名人出现,函数依赖“姓名→年龄”成立。所插入的元组必须满足规定的函数依赖,若发现有同名人存在, 则拒绝装入该元组。
    在这里插入图片描述
    .

     X->Y   X定了 Y就确定了
    
平凡函数依赖与非平凡函数依赖

在这里插入图片描述

完全函数依赖与部分函数依赖
从非平凡函数依赖关系中分解出来的

在这里插入图片描述

在这里插入图片描述

传递函数依赖

在这里插入图片描述

❖码

定义

在这里插入图片描述

	k 可以完全确定 U
	主属性:候选码的属性
	全码:  主码是全部属性的组合/所有属性都是主码
	外码:	别人表的主码在我这是非主码
	
	候选码简称码

.

[例1]关系模式S(Sno, Sdept, Sage),单个属性Sno是码(候选码)
	SC(Sno,Cno,Grade)中,(Sno,Cno)是码

[例2]关系模式R(P,W,A)
	P:演奏者 W:作品 A:听众
	一个演奏者可以演奏多个作品;
	某一作品可被多个演奏者演奏;
	听众可以欣赏不同演奏者的不同作品;码为(P,W,A),即All-Key 全码
外码
定义6.5
关系模式 R 中属性或属性组X 并非 R的码,但 X 是另一个关系模式的码,
则称 X 是R 的外部码(Foreign key)也称外码
⬧ 如在SC(Sno,Cno,Grade)中,Sno不是码,但Sno是关系模式S(Sno,
Sdept,Sage)的码,则Sno是关系模式SC的外部码
⬧ 主码与外码一起提供了表示关系间联系的手段/纽带

在这里插入图片描述

❖范式(重点123范式)

❖范式是符合某一种级别的关系模式的集合
❖关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式
范式从上面朝下走

范式的种类:
在这里插入图片描述

❖某一关系模式R为第n范式,可简记为R∈nNF。

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

1NF
定义:
如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。
简单一点来说,符合1范式的关系,就是不存在表中套表的情况

⬧ 关系中不存在重复行、多值列
⬧ 第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库
⬧ 满足第一范式的关系模式并不一定是一个好的关系模式。

在这里插入图片描述

课程号,课程名称,学号,姓名,生日,成绩,评价

在这里插入图片描述
转换成1NF后,关系还存在问题:

插入异常  			没有人得A
删除异常				A就一个人,还删掉了
数据冗余度大  	    全都是A
修改复杂

在这里插入图片描述

2NF

在这里插入图片描述

非主属性(姓名)可以凭借部分码(学号)找到,所以不是2NF

主属性是码的属性
码是可以在表中确定为一数据的列
码有多个时选一个作为主码

非主属性完全依赖表示一旦码不完整就找不到了。

在这里插入图片描述

用投影法拆开
画圈,避免出现部份依赖

在这里插入图片描述

单属性构成的码至少是2NF

在这里插入图片描述

在这里插入图片描述

3NF

在这里插入图片描述

在这里插入图片描述

BCNF(理解,非重点)

在这里插入图片描述

BCNF是在3NF基础上的。
只要是决定属性集,一定是候选码

在这里插入图片描述

ST,SJ都是候选码
没有非主属性,一定是3NF

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

❖所有非主属性都完全函数依赖于每个候选码
❖所有主属性都完全函数依赖于每个不包含它的候选码
❖没有任何属性完全函数依赖于非码的任何一组属性

❖第三节 数据依赖的公理系统

❖掌握 ⬧Armstrong公理系统   ⬧求闭包 
❖了解 ⬧模式分解 
❖重点 ⬧求闭包 

数据依赖的公理系统

❖逻辑蕴含
⬧ 对于满足一组函数依赖F的关系模式R<U, F>,其任何一个关系r,若函数依赖
X→Y都成立,则称F逻辑蕴含X → Y
⬧ 例:已知R(X,Y,Z),F={X→Y,Y→Z}, 则X→Z成立,X→Z被F逻辑蕴含。
❖Armstrong公理系统
⬧ 一套推理规则,是模式分解算法的理论基础
⬧ 用途:
	➢从一组函数依赖求得蕴含的函数依赖
	➢求给定关系模式的码
Armstrong公理系统

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

例题4;
	是2NF,主码/候选码是学号。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44627608/article/details/106310529