关系型数据库核心概念
关系型数据库核心概念
- 关系型数据库中的几个核心概念:
- 元组
- 码
- 候选码
- 主码
- 外码
- 主属性和非主属性

1. 基础概念
- 元组(Tuple):
- 关系数据库中的一行数据称为一个元组。
- 每个元组由多个属性(列)组成,表示一个实体或关系的具体实例。
- 例如,在一个学生表中,每个学生的信息(如学号、姓名、年龄)构成一个元组。
- 码(Key):
- 码是关系数据库中用于唯一标识一个元组的属性或属性组合。
- 码的主要作用是保证数据的唯一性和完整性。
2. 码的类型
- 候选码(Candidate Key):
- 候选码是关系中能够唯一标识元组的属性或属性组合。
- 一个关系可以有多个候选码,但每个候选码都必须满足唯一性和最小性。
- 例如,在一个学生表中,
学号和身份证号码都可以作为候选码,因为它们都能唯一标识一个学生。
- 主码/主键(Primary Key):
- 主码是从候选码中选定的一个作为关系的主要标识符。
- 主码必须满足唯一性和最小性,并且不能包含空值。
- 选择主码时通常考虑简洁性、稳定性、无业务含义等因素。
- 例如,在一个学生表中,通常会选择
学号作为主码,因为它更简洁且易于管理。
- 外码/外键(Foreign Key):
- 外码是一个关系中的属性或属性组合,它在另一个关系中作为主码存在。
- 外码用于建立和维护两个关系之间的联系。
- 例如,在一个成绩表中,
学号可以作为外码,引用学生表中的主码学号,以表示成绩与学生之间的关系。
3. 属性分类
- 主属性(Prime Attribute):
- 主属性是指属于某个候选码的属性。
- 主属性在关系中具有重要的标识作用,因为它们参与唯一标识元组。
- 如果一个关系有多个候选码,那么这些候选码中出现的所有属性都是主属性。
- 例如,在一个学生表中,
学号和身份证号码都是主属性,因为它们是候选码的一部分。
- 非主属性(Non-Prime Attribute):
- 非主属性是指不属于任何候选码的属性。
- 非主属性通常用于描述实体的其他特征,但它们不能唯一标识元组。
- 例如,在一个学生表中,
姓名和年龄都是非主属性,因为它们不参与唯一标识学生的过程。
