国开《数据库基础与应用》第二章 2-1-3:关系的定义
2-1-3:关系的定义
一个关系(relation)是相应笛卡尔积中的一个子集,若笛卡尔积具有n个域,则该笛卡尔积上的任何关系都被称为n元关系,每个关系中的元素都是一个n元组。设D1、D2、...、Dn为n个域,则这些域上的笛卡尔积为D1×D2×...×Dn,其中的一个关系用R(D1,D2,...,Dn)表示。
例如:这些域上的一个关系R(学生,导师,专业)。关系R是建立在学生、导师和专业域上的,是这些域上笛卡尔积中的一个子集。
学生 | 导师 | 专业 |
王力 | 刘华 | 电子 |
赵火 | 刘华 | 电子 |
孙平 | 张明 | 计算机 |
一个关系具有严格的定义,主要体现在它具有如下6个性质。
第1:关系中每列中的数据属于同一个域,每一列称为一个属性,列名被称为属性名,每一列的值被称为属性值。同一关系中的所有属性名必须是可区分的。
第2:关系中的不同列允许对应同一个域,此时只能有一个列名可以直接采用域名,其余的都不能直接采用域名,必须另取互不相同的列名。
第3:一个关系中各属性的次序可以任意排列。
第4:一个关系中的任意两个元组不允许完全相同。(3,5,8)和(3,5,9)。
第5:一个关系中元组的次序可以任意排列。
第6:一个元组中的每个属性值都必须是单个值,不能包含多个值。
例如:设一种表结构为(学生号,姓名,性别,专业,成绩(数学,物理,化学)),把它改变为(学生号,姓名,性别,专业,数学成绩,物理成绩,化学成绩)。一个定义为学生关系(学生号,姓名,性别,专业),另一个定义为成绩关系(学生号,数学成绩,物理成绩,化学成绩)。
关系的型和值:一个关系包括关系的型和关系的值两个方面,关系的型又称为关系的结构、关系的模式,关系的值又称为关系的内容。关系模式用一个关系名后跟用一对圆括号括起来的一组属性名所组成。关系模式只是一个关系的框架。一个关系可以只有模式而没有值,称此为空关系,而绝不可能没有模式而只有值。