DBMS笔记 02 关系数据库
关系数据库以二维表为核心结构,通过主键、外键及三类完整性约束(实体、参照、用户定义)保证数据的唯一性与一致性。 其设计遵循范式规范(1NF→3NF),通过消除部分依赖和传递依赖,确保数据结构简洁、无冗余且易于维护。
DBMS笔记 02 关系数据库
第二章 关系数据库
1. 基本术语
- 关系(Relation):一张二维表。
- 元组(Tuple):表中的一行。
- 属性(Attribute):表中的一列。
- 码 / 候选码(Candidate Key):能唯一标识元组的属性集。
- 主键(Primary Key):从候选码中选出的唯一标识符。
- 外键(Foreign Key):某关系模式中的属性,取值依赖于另一关系的主键。
- 域(Domain):属性的取值范围。
- 分量(Component):元组中的一个属性值(即一个“单元格”)。
- 关系模式(Relation Schema):关系的描述,记作 R(U, D, Dom, F)。
行、列、单元格的别名
- 行 = 元组(Tuple)
- 列 = 属性(Attribute)
- 单元格 = 分量(Component)
2. 关系的三类完整性约束
- 实体完整性:
- 每个关系必须有主键。
- 主键属性不能为空(Not Null)。
- 参照完整性:
- 外键值必须取自被参照关系的主键值,或为空。
- 保证关系之间引用的一致性。
- 用户定义完整性:
- 用户根据应用需求自定义的约束。
- 如“年龄 > 0”、“成绩在 0–100 之间”。
- 实体 = 表自身必须“立得住”(主键不能为空)。
- 参照 = 表之间“引用正确”(外键必须对得上)。
- 用户 = 应用定规则(额外约束)。
3. 关系的性质
- 无重复元组(行唯一)。
- 元组顺序无关(行的顺序不重要)。
- 属性顺序无关(列的顺序不重要)。
- 分量必须是原子值(不可再分)。
- 属性名唯一(列名不可重复)。
- 每个属性的取值来自相应域。
核心记忆:行唯一、列名唯一、顺序无关、值原子。
4. 三大范式
- 第一范式(1NF):字段不可再分,属性值必须是原子值。
- 第二范式(2NF):满足 1NF,且非主属性完全依赖于主键(消除部分依赖)。
- 第三范式(3NF):满足 2NF,且非主属性不依赖于其他非主属性(消除传递依赖)。
速记:
- 1NF:原子性
- 2NF:消部分依赖
- 3NF:消传递依赖
5. 题目里的易考点
- 关系模式的性质:任意排列行或列不影响关系本质。
- 候选码/主码:一个关系可以有多个候选码,但只有一个主码。
- 外键:取值要么为 NULL,要么取自另一个关系的主键。
- 关系的基本特征:
- 行顺序无关、列顺序无关;
- 每个属性来自域,值必须原子;
- 不同列名不能相同。
- 完整性约束考题:记住实体完整性约束 = 主键不能为空;参照完整性约束 = 外键必须对应或为空。
速记
- 行=元组,列=属性,单元格=分量
- 主键 Not Null(实体完整性)
- 外键必须匹配主键或为空(参照完整性)
- 用户定义完整性=应用规则
- 关系性质:行唯一、列名唯一、顺序无关、值原子
- 三范式:
- 1NF 原子性
- 2NF 消除部分依赖
- 3NF 消除传递依赖
本文由作者按照 CC BY-NC 4.0. 进行授权
...

Comments
评论区