ExamPass Assistant
github.com/WUBING2023/ExamPass-Assistant

数据库原理 · 速背卡片

目录

数据库原理 · 期末速背

一、关系数据库基础概念 必考·选择判断

1. 关系的三大要素

术语说明
关系(Relation)一张二维表,对应一个实体集或联系
元组(Tuple)表中的一行,代表一个实体
属性(Attribute)表中的一列,代表实体的一个特征
记忆:关系=表,元组=行,属性=列。关系中行列无序!

2. 关系的基本性质

3. 键(Key)相关概念 必考

术语定义特点
候选码能唯一标识一个元组的属性或属性组可能有多个
主码(主键)从候选码中选出的一个唯一且非空
主属性包含在任一候选码中的属性属于某个候选码
非主属性不包含在任何候选码中的属性不属于任何候选码
外码(外键)本关系的属性,参照另一个关系的主码要么为空,要么等于被参照表的主码值
易错:主属性≠主码中的属性!主属性=属于任一候选码的属性。一个关系有多个候选码时,主属性的范围更广。

4. 关系模式的表示

R(U, D, DOM, F)

简记:R(属性1, 属性2, ...)

二、关系完整性约束 必考·选择判断填空

类型定义要求
实体完整性保证每个实体唯一可识别主码唯一且非空
参照完整性维护表之间的关联关系外码值要么为空,要么等于被参照表的主码值
用户定义完整性针对具体应用场景的约束由用户根据业务需求灵活定义(如性别只能是男/女、订单日期不能早于当前日期)
易错:关系完整性约束包含三种(实体、参照、用户定义),不包括"域完整性"(那是SQL层面的说法)。用户定义完整性由数据库管理员定义,不是系统自动提供的。

三、关系代数与SQL 重点·简答

关系代数运算符

运算符号说明
选择σ条件(R)选取符合条件的行
投影π属性(R)选取指定列
连接R ⋈ S按条件连接两表
R ÷ S找出R中与S所有值匹配的元组
并/交/差∪ / ∩ / -集合运算,要求相容

SQL 查询模板

SELECT [DISTINCT] 列名
FROM 表名
[WHERE 条件]
[GROUP BY 列名 [HAVING 条件]]
[ORDER BY 列名 [ASC|DESC]]

聚合函数

COUNT()、SUM()、AVG()、MAX()、MIN()

四、函数依赖与范式 必考·简答计算

1. 函数依赖类型

类型定义
平凡函数依赖Y ⊆ X 时,X→Y
非平凡函数依赖Y ⊄ X 时,X→Y
完全函数依赖X→Y,且X的任何真子集都不能决定Y
部分函数依赖X→Y,但X的某个真子集也能决定Y(只有X是组合键时才会出现)
传递函数依赖X→Y,Y→Z,且Y⊄X,Y↛X,则X→Z是传递依赖
记忆:完全=不能少任何一个,部分=有冗余属性,传递=中间有桥。

2. 范式层级 必考

范式要求解决的问题
1NF属性不可再分(原子性)基本要求
2NF1NF + 非主属性完全函数依赖于候选码消除部分依赖
3NF2NF + 非主属性不传递依赖于候选码消除传递依赖
BCNF3NF + 每个决定因素都包含候选码消除主属性间的部分/传递依赖
范式递进:1NF(原子性) → 2NF(消除部分依赖) → 3NF(消除传递依赖) → BCNF(所有决定因素都是候选码)。

3. 属性闭包计算 必考·计算

步骤:从属性集X出发→找X能直接决定的属性→加入X→重复直到不再变化。

例:F={A→B, B→C},求A⁺=ABC

4. 模式分解

目标:分解到3NF或BCNF,同时保持无损连接函数依赖

五、数据库设计 重点·综合

ER图要素

要素表示说明
实体矩形现实世界中的对象
属性椭圆实体的特征
联系菱形实体之间的关系
联系类型1:1 / 1:N / M:N写在连线旁

ER图→关系模式转换

考前速记 · 易错30条

  1. 关系=表,元组=行,属性=列
  2. 关系中列名不可重复行不可重复
  3. 候选码可能有多个,主码只有一个
  4. 主属性 ∈ 任一候选码,非主属性 ∉ 任何候选码
  5. 实体完整性:主码唯一且非空
  6. 参照完整性:外码 = 空 OR = 被参照表主码值
  7. 完整性约束三种:实体、参照、用户定义
  8. 平凡依赖:Y ⊆ X
  9. 部分依赖:X是组合键,真子集也能决定Y
  10. 传递依赖:X→Y→Z,且Y⊄X
  11. 2NF:消除非主属性的部分依赖
  12. 3NF:消除非主属性的传递依赖
  13. BCNF:消除所有非平凡函数依赖中决定因素不是候选码的情况
  14. 范式越高,冗余越少,但表越多
  15. 闭包:逐步扩展直到不变
  16. 1:1 → 可合并;1:N → 外码放N方;M:N → 新建表
  17. ER图:实体=矩形,属性=椭圆,联系=菱形
  18. SQL:SELECT-FROM-WHERE-GROUP-HAVING-ORDER
  19. 投影 = SELECT列,选择 = WHERE行
  20. 自然连接 = 同名等值连接+去重列
  21. 外连接保留悬浮元组(LEFT/RIGHT/FULL)
  22. COUNT(*) 含NULL,COUNT(列) 不含NULL
  23. HAVING 对分组过滤,WHERE 对行过滤
  24. %匹配任意字符序列,_匹配单个字符
  25. 主码不能为空,候选码也不能为空
  26. 外码可以为空
  27. 关系中行列无序
  28. 关系模式是型,关系是值(实例)
  29. 分解需保持无损连接和函数依赖
  30. 数据冗余→插入异常、删除异常、更新异常