Access 2010基础教程
上QQ阅读APP看书,第一时间看更新

1.1.3 关系数据库

关系数据库的基本数据结构是关系,而关系理论是建立在集合代数的理论基础上的。“关系”在数学上的形式定义就是笛卡儿积的子集。

1.关系术语

(1)关系模型:用二维表格结构来表示实体及实体间联系的模型,表1-1所示的学生档案表就是一个典型的关系模型。该表也可以称为关系,存放每个学生的各种数据,表格中的每一个数据都可以看成独立的数据项,它们共同构成了学生档案关系的全部内容。

表1-1 学生档案表

二维表中的每一列代表实体或实体间关系的某种属性,二维表中的一行称为一个元组,是记录类型的实例,代表了某个具体的实体或具体实体间的特定关系。关系模型不仅可以方便地表示两个实体类型间的1:1、l:n关系,而且可以直接描述它们之间的m:n关系。

(2)关系:在关系模型中,一个关系就是一张二维表,每一个关系都有一个关系名。在数据库中,一个关系存储为一个数据表。

(3)属性(字段):表中的列称为属性,每一个列都有一个属性名,对应数据表中的一个字段。记为R(a,b,c,...),其R为关系名,a、b、c、......为属性名。

(4)元组:表中的行称为元组。一行就是一个元组,对应数据表中的记录,元组的各分量分别对应于关系的各个属性。关系模型要求每个元组的每个分量都是不可再分的数据项。

(5)域:具有相同数据类型的值的集合称为域,域是属性的取值范围,即不同元组对同一个属性的取值所限定的范围。

(6)主键:指表中的某个属性组。它可以唯一确定一个元组,如表1-1中的“学号”。

(7)候选键:如果通过关系中的某个属性或属性组能唯一地标识一个元组,称该属性或属性组为候选键。

(8)外键:如果表中的一个字段不是本表的主键,而是另外一个表的主键或候选键,这个字段(属性)就称为外键。

2.关系运算

(1)传统的集合运算:

①并运算(Union)R∪S:设有两个关系R和S具有相同的结构(模式),R和S的并是由属于R或属于S的元组组成的集合,运算符为∪。

②差运算(Difference)R-S:R和S的差是由属于R但不属于S的元组组成的集合,运算符为-。

③交运算(Intersection)R∩S:R和S的交是由既属于R又属于S的元组组成的集合,运算符为∩。

(2)专门的关系运算:

①选择运算(Select):选择关系中满足一定条件的元组。从关系中找出满足给定条件的那些元组称为选择运算。其中的条件是以逻辑表达式给出的,值为真的元组将被选取。

②投影运算(Project):选取关系中的某些列,并且将这些列组成一个新的关系。从关系模式中挑选若干属性组成新的关系称为投影。

③连接运算(Join):选择和投影运算都属于一目运算,它们的操作对象只是一个关系;连接运算是二目运算,需要两个关系作为操作对象。连接是将两个关系模式通过公共的属性名拼接成一个更宽的关系模式,生成的新关系中包含满足连接条件的元组。

3.关系完整性

关系完整性包括实体完整性、参照完整性和用户定义的完整性三方面。

(1)实体完整性。实体完整性规则:若属性A是基本关系R的主键,则属性A不能取空值。基本关系的所有主属性都不能取空值,或者说任何关系中每个元组的主键不能为空值。

(2)参照完整性。参照完整性规则:就是定义外键与主键之间的引用规则。若属性(或属性组)F是基本关系R的外键,则R中的每个元组在F上的值必须取空值,或者等于S中的某个元组的主键值。

(3)用户定义的完整性。用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。