《数据库系统》期末复习 华农版

关系数据库

关系数据库设计四个步骤,需求分析,概念设计(ER图),逻辑设计(关系模型),物理实现,试运行

数据三个抽象级别,物理,逻辑,视图

事务和日志

日志记录原则:严格按时间顺序

undo log:记录的是与 用户的命令 相反的操作。

redo log:记录的是 用户的命令。

check point:https://www.icourse163.org/learn/RUC-1001655006?tid=1461146444#/learn/content?type=detail&id=1237472171&cid=1257383383

共享锁/读锁/share/s

排他锁/写锁/excusive/x

共享意向锁/读一部分/IS

排他意向锁/写一部分/IX

* 要想拿到S和X,必须先拿到IS和IX

最小依赖canonical cover

第一步,把右边的属性拆分为单个,

第二步,删除多余的依赖。

依次删除每一个Fc,验证是否能由剩下的F推出来。

第三步、左边最小化。

依次删除每一个属性,验证是否能由剩下的F推出来。

https://www.bilibili.com/video/BV1P5411e7rU?p=2

范式

NF1 原子属性,不可再分

NF2 不存在非主属性对候选码的部分依赖。

NF3 不存在非主属性对候选码的传递依赖。

BCNF 没有任何属性对候选码的部分、传递依赖。即左侧全都是码。

分解关系时,有两个要考虑的:

1、保持依赖

BCNF无法保证依赖保持,3NF可以。

2、无损连接

3NF和BCNF分解都能够保证。这是最基本的。

第三范式分解

https://www.bilibili.com/video/BV1CD4y1974g/?spm_id_from=333.788.videocard.5

1、求候选键

1、找出所有没在右边出现过的属性,这些属性集R1一定包含在候选键中

2、判断R1能否推出所有属性,即求闭包

3、如果能,R1就是唯一候选键。

否则,把其它属性每一个分别与R1组合形成一些新的属性集,求这些 属性集的闭包,判断是否是候选键

2、求最小依赖集

3、判断最小依赖集是否包含任一候选键,没有就随便加一个候选键

BCNF范式分解

1、求候选键

2、判断依赖F1->F2(eg:A->B)左边F1(eg:A)是否都是候选键

3、若不是候选键,则将F1->F2里的属性作为一个关系R1(eg:R={AB}),剩下的关系为R=R-F2(eg:R=R-B).

4、将含有F2的依赖删除,继续判断,重复3。

事务

ACID:

原子性atomicity要么全部成功,要么全部失败

一致型consistency,操作前后保持一致

隔离性isolation,事务不互相干扰

持久性durability,永久保存

恢复

https://wenku.baidu.com/view/9073254b944bcf84b9d528ea81c758f5f61f29c3.html

------------------------

如果帮到你的话,点个关注不迷路,点个赞变好看~~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值