文章

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. 关系的三类完整性约束

  1. 实体完整性
    • 每个关系必须有主键。
    • 主键属性不能为空(Not Null)。
  2. 参照完整性
    • 外键值必须取自被参照关系的主键值,或为空。
    • 保证关系之间引用的一致性。
  3. 用户定义完整性
    • 用户根据应用需求自定义的约束。
    • 如“年龄 > 0”、“成绩在 0–100 之间”。
  • 实体 = 表自身必须“立得住”(主键不能为空)。
  • 参照 = 表之间“引用正确”(外键必须对得上)。
  • 用户 = 应用定规则(额外约束)。

3. 关系的性质

  1. 无重复元组(行唯一)。
  2. 元组顺序无关(行的顺序不重要)。
  3. 属性顺序无关(列的顺序不重要)。
  4. 分量必须是原子值(不可再分)。
  5. 属性名唯一(列名不可重复)。
  6. 每个属性的取值来自相应域

核心记忆:行唯一、列名唯一、顺序无关、值原子


4. 三大范式

  1. 第一范式(1NF):字段不可再分,属性值必须是原子值
  2. 第二范式(2NF):满足 1NF,且非主属性完全依赖于主键(消除部分依赖)。
  3. 第三范式(3NF):满足 2NF,且非主属性不依赖于其他非主属性(消除传递依赖)。

速记:

  • 1NF:原子性
  • 2NF:消部分依赖
  • 3NF:消传递依赖

5. 题目里的易考点

  • 关系模式的性质:任意排列行或列不影响关系本质。
  • 候选码/主码:一个关系可以有多个候选码,但只有一个主码。
  • 外键:取值要么为 NULL,要么取自另一个关系的主键。
  • 关系的基本特征
    • 行顺序无关、列顺序无关;
    • 每个属性来自域,值必须原子;
    • 不同列名不能相同。
  • 完整性约束考题:记住实体完整性约束 = 主键不能为空;参照完整性约束 = 外键必须对应或为空。

速记

  • 行=元组,列=属性,单元格=分量
  • 主键 Not Null(实体完整性)
  • 外键必须匹配主键或为空(参照完整性)
  • 用户定义完整性=应用规则
  • 关系性质:行唯一、列名唯一、顺序无关、值原子
  • 三范式
    • 1NF 原子性
    • 2NF 消除部分依赖
    • 3NF 消除传递依赖
本文由作者按照 CC BY-NC 4.0. 进行授权
...

Comments

评论区

碎片之中

正在加载中...