关系数据库理论、数据库设计、数据库关系查询处理和优化、数据库恢复技术

第六章 关系数据库理论

关系模式可以看作是一个三元组R<U,F>
关系名R是符号化的元组语义
U为一组属性
例如表示为 U = { Sno , Sdept , Mname , Cno , Grade }
F为属性组U上的一组数据依赖
例如表示为 F = { Sno -> Sdept , Sdept-> Mname , (Sno,Cno) ->Grade }
当且仅当U上的一个关系r满足F时,r称为关系模式R<U,F>的一个关系

平凡的函数依赖:
非平凡的函数依赖:

完全函数依赖
集合x刚好能推出y,但x中缺少任意一个都不能推出y
称y 对 x 完全函数依赖

部分函数依赖
集合x能推出y,x中缺少一点仍可能推出y
称y 对 x 部分函数依赖
(学号,身份证号)-> 姓名
(学号)-> 姓名


候选码:能推出所有属性
怎么选出候选码?
一定是候选码:只出现在左边的、左右都不出现
一定不是候选码:只出现在右边的
不确定的:左右都出现的

然后求 “一定是候选码” 的闭包,如果可以推出全部,那么当前确定的就是候选码;否则,把 “不确定的“ 中每一个值分别放进 “一定是候选码” 里面求闭包

例题:在这里插入图片描述在这里插入图片描述


超码:能表示所有属性的集合(包含候选码的,在候选码上扩充)。候选码是最小的超码。
比如 (BDA) , ( BDC ) , ( BDE ) , ( BDAC ) ,(ABCDE)…

主码:从候选码中任意挑出一个 作为主码

主属性:包含在任何一个候选码中的属性,比如ABCDE

非主属性:不包含在任何候选码中的属性,比如G

全码:所有属性都是主码

1NF:所有的字段值都是不可再分解的原子值。
例如,有一个属性为地址,但地址是可以再拆分的,所以不符合1NF
在这里插入图片描述

2NF: 不包含非主属性对码的部分函数依赖。(每一非主属性都完全函数依赖于任何一个候选码)
可理解为:一个表中只能保存一种数据,不可以把多种数据保存在同一张数据表中。

例如:
在这里插入图片描述

这个表是订单信息表,可以有订单编号,但又有商品编号、商品名称,所以这到底是订单信息表还是商品信息表???这就不符合2NF。
需要拆分成3张表:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3NF: 不包含非主属性对码的传递函数依赖。
人话:确保数据表的每一列数据都和主键直接相关,而不能间接相关。

例如:
在这里插入图片描述
在这里插入图片描述

BCNF: 消除每一个属性对候选码的传递依赖,BCNF是对3NF的修正。

例如:
对于表
在这里插入图片描述
存在关系:
书号 -> 书名
(书名、作者) -> 书号
上面关系存在函数依赖,不能是 BCNF


求最小函数依赖集
依赖:关系中一个或一组属性的值 可以决定 其它属性的值。如A-> B
例题:
在这里插入图片描述
(1)拆分 右边为多个元素的(比如A ->BC 可拆为 A->B 和 A->C)
这题没有要拆分的

(2)把集合里面的所有元素都重复一遍操作:假设去掉当前元素,求当前元素的闭包,如果(通过其它元素)能推出右边,则去掉当前元素;如果不能推出则保留
( BCD )⁺= BCDE 推不出A,所以保留
( BC )⁺= BCD
( A )⁺= AG
( F )⁺= F
( C )⁺= C
(A)⁺= AFG 这里的 (A)⁺能推出G所以去掉A->G

(3)左边最小化(通过遮住元素来看能不能推出其他元素)比如BCD,遮住B能推出CD吗???遮住C能推出BD吗???遮住D能推出BC吗???
对于BCD:遮住B,CD不能推出B,所以保留B
遮住C,BD不能推出C,所以保留C
遮住D,BC能推出D,所以去掉D
所以BCD->A 变成 BC-> A
重复以上操作,最后得到
{ BC->A , BC->E , A->F , F->G ,C->D }


模式分解:
准则:分解后产生的模式应于原模式等价
无损:就是分解后再次连接,和分解之前一样
依赖:依赖不变

在这里插入图片描述

例题:
已知R(ABCDEFGH),F = {A->D, E->D, D->B, BC->D, DC->A} , 求保持函数依赖的3NF的分解
(1)最小函数依赖集Fmin = { A->D, E->D, D->B, BC->D, DC->A}
(2)GH没在F里面,单独归为一类 {GH}
(3)在最小函数依赖集里面找,对于每一个依赖有
{ AD}, {ED},{ DB},{BCD},{ DCA}
(4)算出候选码 CE,由于第三部的结果中没有{CE} ,所以单独归为一类
结果: {AD}, {ED},{ DB},{BCD},{ DCA},{GH},{CE}



第七章 数据库设计

ER图:
实体型用矩形表示
属性用椭圆形表示
联系用菱形表示
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

第九章 数据库关系查询处理和优化

事务的四大特性ACID
(1) 原子性(Atomicity)
要么都做,要么不做。
比如修改小陈的账号和密码是一个事务,不能只是修改密码

(2)一致性(Consistency)
  一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。
比如a和b一共有100元,不论他们怎么借钱还钱,他们的钱加起来还是100

(3)隔离性(Isolation)
一个事务的执行不能被其他事务干扰。
比如a正在对一张表进行修改时,b不能把表给删了

(4)持久性(Durability)
一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的。
一般数据是存进磁盘里的,重启电脑后不能数据就改变了

故障种类
(1)事物内部的故障
采用REDO重做和UNDO撤销技术
(2)系统故障DBMS
系统突然停转,需要重新启动
(3)介质故障
硬件损坏
(4)计算机病毒



第十章 数据库恢复技术

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

笔记来源于bilibili视频:
https://www.bilibili.com/video/BV1jf4y147jz?spm_id_from=333.999.0.0

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值