SQL Server——从入门到放弃(12)-- 第六章: 关系数据理论 知识总结+课后习题

截止到现在,本门课程——数据库系统概论的第一篇—基础篇,就学习完成了,首先为我自己鼓掌👏👏👏。我坚持下来了😜
所以,从今天开始就将开始对第二篇—设计与应用开发篇 的学习。今天要开始的是第一部分,也就是第六章:关系数据理论,好了,话不多说,开始。

关系模式由五部分组成,是一个五元组:
R(U,D,DOM,F)
R是符号化的元组语义
U为一组属性
D为属性组U中的属性所来自的域
DOM为属性到域的映射
F为属性组U上的一组数据依赖

二维表每个分量必须是不可分开的数据项,满足这个条件的关系模式就属于:第一范式(1NF),比如之前做实验用过的Student表,Course表,SC表。

数据依赖是一个关系内部属性与属性之间的一种约束关系。主要类型有:函数依赖(FD),多值依赖(MVD)

函数依赖

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

X → Y X\rightarrow Y XY,但 Y ⊈ X Y\nsubseteq X YX则称 X → Y X\rightarrow Y XY是非平凡的函数依赖。
X → Y X\rightarrow Y XY,但 Y ⊆ X Y\subseteq X YX则称 X → Y X\rightarrow Y XY是平凡的函数依赖。

平凡函数依赖必然成立,因此我们着重讨论非平凡函数依赖。

X → Y X\rightarrow Y XY,则X称为这个函数依赖的决定因素。
X → Y X\rightarrow Y XY Y → X Y\rightarrow X YX,则记作 X ← → Y X\leftarrow \rightarrow Y XY
若Y不函数依赖于X,则记作 X ↛ Y X\nrightarrow Y XY

在R(U)中,如果 X → Y X\rightarrow Y XY,并且对于X的任何一个真子集X’,都有 X ’ ↛ Y X’\nrightarrow Y XY,则称Y对X完全函数依赖,记作 X   F →   Y X\,\underrightarrow{F}\, Y X FY.
X → Y X\rightarrow Y XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作 X   P →   Y X\,\underrightarrow{P}\, Y X PY

在R(U)中,如果 X → Y X\rightarrow Y XY Y ⊈ X Y\nsubseteq X YX), Y ↛ X Y\nrightarrow X YX Y → Z Y\rightarrow Z YZ Z ↛ Y Z\nrightarrow Y ZY,则称Z对X传递函数依赖。记为: X   传 递 →   Y X\,\underrightarrow{传递}\, Y X Y

设K为R<U,F>中的属性或属性组合。若 K   F →   U K\,\underrightarrow{F}\, U K FU,则K称为R的一个候选码。
包含在任何一个候选码中的属性,成为主属性
不包含在任何码中的属性称为非主属性。
整个属性组是码,称为全码。

关系模式 R中属性或属性组X 并非 R的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码,也称外码。

范式

范式是符合某一种级别的关系模式的集合。
种类:

  • 第一范式(1NF)
  • 第二范式(2NF)
  • 第三范式(3NF)
  • BC范式(BCNF)
  • 第四范式(4NF)
  • 第五范式(5NF)

2NF:若关系模式 R ∈ 1 N F R\in 1NF R1NF ,并且每一个非属性都完全函数依赖于任何一个候选码,则 R ∈ 2 N F R\in 2NF R2NF

3NF:设关系模式 R < U , F > ∈ 1 N F R<U,F>\in 1NF R<U,F>1NF ,若R中不存在这样的码X、属性组Y及非主属性Z( Z ⊉ Y Z\nsupseteq Y ZY ),使得 X → Y X\rightarrow Y XY, Y ↛ Z Y\nrightarrow Z YZ成立, Y ↛ X Y\nrightarrow X YX不成立,则称 R < U , F > ∈ 3 N F R<U,F>\in 3NF R<U,F>3NF .

BCNF:设关系模式 R < U , F > ∈ 1 N F R<U,F>\in 1NF R<U,F>1NF ,若 X → Y X\rightarrow Y XY Y ⊈ X Y\nsubseteq X YX时X必含有码,则 R < U , F > ∈ B C N F R<U,F>\in BCNF R<U,F>BCNF
换言之,在关系模式R<U,F>中,如果每一个决定属性集都包含候选码,则 R ∈ B C N F R\in BCNF RBCNF

多值依赖:设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖 X → → Y X\rightarrow\rightarrow Y XY成立,当且仅当对R(U)的任意关系r,给定的一对(r,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。

X → → Y X\rightarrow\rightarrow Y XY,而 Z = ∅ Z=\emptyset Z=,则称 X → → Y X\rightarrow\rightarrow Y XY为平凡的多值依赖。
否则称 X → → Y X\rightarrow\rightarrow Y XY为非平凡的多值依赖。

关系模式 R < U , F > ∈ 1 N F R<U,F>\in 1NF R<U,F>1NF ,如果对于R的每个平凡多值依赖 X → → Y X\rightarrow\rightarrow Y XY Y ⊈ X Y\nsubseteq X YX),X都含有码,则 R < U , F > ∈ 4 N F R<U,F>\in 4NF R<U,F>4NF

如果一个关系模式是4NF,则必为BCNF。

好了,主要内容大概就是这些了。接下来就来看一些练习题吧。

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

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

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

附加题

一.
Y(X1,X2,X3,X4)
(X1,X2)→X3
X2→X4

  1. 侯选码?
  2. 属于第几范式?

1) 候选码:(X1,X2)
2) 属于第一范式
在这里插入图片描述

二.
R(A,B,C,D)
F={AB→D,AC→BD,B→C}

  1. 侯选码?
  2. 最高属于第几范式?

在这里插入图片描述

三.
R(X,Y,Z,W)
F={Y←→W,XY→Z}

  1. 侯选码?
  2. 最高属于第几范式?

在这里插入图片描述

四.
R(A,B,C,D,E) F={A→B,CE→A,E→D}

  1. 求候选码。
  2. 最高属于第几范式,为什么?
  3. 分解到3NF。

在这里插入图片描述

五.
R(商店编号,商品编号,数量,部门编号,负责人)
每个商店的每种商品只在一个部门销售,
每个商店的每个部门只有一个负责人,
每个商店的每种商品只有一个库存数量。

  1. 求候选码。
  2. R已达第几范式?为什么?
  3. 若不属于3NF,分解成3NF。

在这里插入图片描述

六.
R(A,B,C,D,E,F) F={A→C,AB→D,C→E,D→BF}

  1. 写出关键字。
  2. 分解到2NF。
  3. 分解到3NF。
  4. 分解到4NF。

在这里插入图片描述

终于算是写完了,知识掌握的还是有点问题,有些地方不太会,还是看了看同学的作业才有的思路,还得继续练习啊。

PS:本来想的是好久没有真正手写了,得练一下,要不到时候考试犯难,于是手写了一次作业。But。。。我发誓,我以后一定好好练字,绝不偷懒!!!
这次的手写作业真是。。。不忍直视😅

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值