Jimmy那些事儿

数据库_关系模型

介绍数据库模型中的关系模型。

关系模型

  • what:采用二维表格结构表达实体类型及实体间联系的数据模型。
  • how :关系模型中无论是实体还是实体间的联系均由单一的结构类型——关系来表示。在实际的关系数据库中的关系也称表。一个关系数据库就是由若干个表组成。


基本概念与术语

1. 关系 - 表

关系(Relation):一个关系对应着一个二维表,二维表就是关系名。

2. 元组 - 行

元组(Tuple):在二维表中的一行,称为一个元组。

3. 属性 - 列

属性(Attribute):在二维表中的,称为属性。属性的个数称为关系的元或度。列的值称为属性值;

4. 域 - 值域

(值)域(Domain):属性值的取值范围为值域。

5. 分量 - 具体的值

分量:每一行对应的列的属性值,即元组中的一个属性值。

6. 关系模型

关系模式:在二维表中的行定义,即对关系的描述称为关系模式。一般表示为(属性1,属性2,……,属性n);如老师的关系模型可以表示为教师(教师号,姓名,性别,年龄,职称,所在系)。

7. 键 - 唯一标识

键(码):如果在一个关系中存在唯一标识一个实体的一个属性或属性集称为实体的键,即使得在该关系的任何一个关系状态中的两个元组,在该属性上的值的组合都不同。

8. 候选键

候选键(候选码):若关系中的某一属性的值能唯一标识一个元组;如果在关系的一个键中不能移去任何一个属性,否则它就不是这个关系的键,则称这个被指定的候选键为该关系的候选键或者候选码。

例如下列学生表中“学号” 【或】 “图书证号”都能唯一标识一个元组,则“学号”和“图书证号”都能唯一地标识一个元组
“学号”和“图书证号”都可作为学生关系的候选键

学号 姓名 性别 年龄 图书证号 所在系
S3001 张明 男 22 B20050101 外语
S3002 李静 女 21 B20050102 外语
S4001 赵丽 女 21 B20050301 管理


选课表中,只有属性组“学号”【和】 “课程号”才能唯一地标识一个元组,则候选键为(学号,课程号)

学号 课程号
S3001 C1
S3001 C2
S3002 C1
S4001 C3

9. 主键 - 选定一个唯一标识

主键(主码):在一个关系的若干候选键中指定一个用来唯一标识该关系的元组,则称这个被指定的候选键称为主关键字,或简称为主键、关键字、主码。每一个关系都有并且只有一主键

通常用较小的属性组合作为主键。

学生表,选定“学号”作为数据操作的依据,则“学号”为主键

选课表中,主键为(学号,课程号)

10. 主属性和非主属性

主属性和非主属性:关系中包含在任何一个候选键中的属性称为主属性,不包含在任何一个候选键中的属性为非主属性。

11. 全键(全码)

全键或者全码:一个关系模式中的所有属性的集合。

12. 外键(外码)

外键或者外码:关系中的某个属性虽然不是这个关系的主键,但它却是另外一个关系的主键时,则称之为外键或者外码。

13. 超键(超码)

超键或者超码:如果在关系的一个键中移去某个属性,它仍然是这个关系的键,则称这样的键为关系的超键或者超码。

14. 参照关系与被参照关系

参照关系与被参照关系:是指以外键相互联系的两个关系,可以相互转化。