《数据库系统概论》必会大题 期末复习整理

数据库系统概论第五版 大题整理

写在前面: 参考过非常多其他人的材料,列出一些我个人认为超棒的学习材料!QWQ 1) : 2) B站:

1.求闭包

1.1解法:

1.2例题:

2.求最小依赖集

2.1解法:

—————————————————————————————————————————— 1.右部最小化 2.除本求包 3.左部最小化 ——————————————————————————————————————————

2.2例题:

! 这里有一点问题 详情见评论区指正 !

3.求候选码

原则:通过候选码本身就可以推导出全集U 比如:{A→B,B→C,A→D} 则候选码:A,A就可以推出ABCD —————————————————————————————————————————— 规则: 1.只在F右边出现,一定不是候选码 2.只在F左边出现,一定存在于候选码 3.两边都未出现,一定存在于候选码 4.其余属性则需要逐个与2.3.选出的部分候选码结合,求闭包,若能推导出全集U,即为候选码 —————————————————————————————————————————— 例题:

4.范式

比较令人头秃的部分,可以说是参考了百家饭,如有错误仍需指正QAQ 关于范式部分需要学会前导篇:求候选码、求闭包。 更多最基础的概念定义可以查看 : 写在前面的参考: ——————————————————————————————————————————

4.1详解解法: 建议看例题

(路线图如下: (1)判断是否存在部分依赖: (若候选码单一,则一定不存在,满足2NF,直接跳过) (若是不单一: (2)判断是否存在传递依赖: (已满足2NF条件才能继续判断) .如下图存在传递依赖,不满足3NF (3)判断是否是BCNF (箭头左边都包含码)

4.2范式例题:

例题详解: 解题思路:

4.3范式例题补充:

4.3.1 :1NF分解成2NF

4.3.2:2NF分解成3NF

4.3.3 习题:

5.判断是否为无损分解

参考传送门: 参考传送门:

6.判断是否保持函数依赖

参考传送门: 参考传送门: 定义:

7.无损分解和保持函数依赖

参考传送门: 无损分解性保证了模式分解不丢失信息 而保持函数依赖性则可以解决数据异常操作的现象。

7.1求R的保持函数依赖的3NF分解

定义:

7.2求R的无损连接且保持函数依赖的3NF分解

定义:

7.3整体步骤:

STEP1:求最小依赖集F` STEP2:处理特殊情况: (1)F`依赖关系中左右都未出现的字母们构成一个关系 从R中分离 (2)F`中若存在某个关系:左边∪右边=全集R 则R不用分解 直接求解结束 STEP3:将每个关系箭头的左→右两边合并成一个,即为保持函数依赖的3NF分解 STEP4:求候选码 STEP5:将候选码合并入STEP3中,即为无损连接且保持函数依赖的3NF分解

7.4无损分解和保持函数依赖例题:

8.有关锁的题目

传送门:
经验分享 程序员 微信小程序 职场和发展