2015年软考软件设计师辅导讲义:数据库知识(2)
发布时间:2010/9/11 17:55:46 来源:城市学习网 编辑:ziteng
1.4关系模型和关系运算
n 基本概述
关系数据库是应用关系数据模型来建立和处理数据库中的数据。这其中主要涉及几个重要的概念。
u 关系
关系实际上就可以看作是一个二维表。其中,表的每一列称为属性,并用属性名来标识。每个属性的取值范围,就是该属性所对应的值域。表的每一行称为元组。约定该表的行、列的次序的改变,不改变关系的语义性质。
对于一个关系,应该具备下列性质:
? 关系中每一个属性值都是不可分解的;
? 关系中不允许出现相同的元组;不让用户考虑元组的顺序;
? 用户在使用时应考虑列的顺序。
u 关系模型
关系模型是目前最流行的一种数据模型,它是用二维表格结构表示实体集,关键码表示实体间的联系。
u 关键字(键)
I. 候选键
关系中的某一属性或属性组,若它的值可以唯一标识关系中的一个元组而又不含有多余的属性,则称该属性或属性组为候选关键字。
II. 主键
关系模式中用户正使用的候选关键字称为主关键字。
III. 外关键字
若模式R中某属性集是其他模式的候选键,那么该属性集对模式R而言就是外关键字。
IV. 超键
关系模式中,为唯一标识元组的属性集称为超键。
u 关系模型
关系模型遵循数据库的3级体系结构。
u 关系模式
数据库的概念模式定义为关系模式的集合。每个关系模式就是记录类型。
u 关系子模式
这是对用户所用到的那部分数据的描述。除了指出用户用到的数据外,还应指出数据与模式中相应数据的联系,即指出子模式与模式之间的对应性。
u 关系存储模式(关系内模式)
这是作为文件看待的,每个元组就是一个记录。
关系模型有3个部分构成:
u 数据结构
关系模型采用的数据结构是关系。
u 关系操作
关系模型提供一组完备的关系运算,以支持对数据库的各种操作。关系运算的理论是关系代数和关系演算。
u 关系的完整性
在关系模型中,数据的约束条件通过三类完整性约束条件来描述。即:
I. 实体完整性
要求关系中的元组的主键值不能是空值。
II. 参照完整性
要求在关系中不允许引用不存在的实体。
III. 用户定义的完整性
这是针对某一具体数据的约束条件,由应用环境决定,例如属性的值限制。
n 关系代数
关系查询语言根据其理论基础的不同分成两大类:
u 关系代数语言:查询操作是以集合操作为基础的运算。
u 关系演算语言:查询操作是以谓词演算为基础的运算。
其中,关系代数是以集合代数为基础发展起来的,它是以关系为运算对象的一组高级运算的集合。关系代数的运算可分为两类:
基本运算操作:并、差、笛卡尔积、投影和选择。
组合运算操作:交、联接、自然联接和除。
另外,还有几种扩充的关系代数操作:外联接(左外联接和右外联接)、外部并和半联接。