- 7
- 0
- 约 46页
- 2017-04-24 发布于四川
- 举报
第二章关系数据库的基本理论
第二章 关系数据库的基本理论; 2.1 关系模型概述
关系模型是关系数据库的基础。关系模型有三个组成部分:数据结构、数据操作、完整性规则。
(1)数据库中全部数据及其相互联系都被组织成关系(即二维表格)的形式。关系模型的基本的数据结构是关系。
(2)关系模型提供一组完备的高级关系运算,以支持对数据库存量的各种操作。
(3)关系模型的三类完整性规则。
2.1.1 关系数据结构
关系模型的结构非常简单,在用户看来,一个关系模型的逻辑结构是一张二维表,它由行和列组成。
表2.1是一张职工工资基本信息表,它是一张二维表格。
;表2.1 职工基本信息
; (1)关系代数语言(简称关系代数)
关系代数是用对关系的运算来表达查询要求的方式,如ISBL(Information System Base Language)语言。
(2)关系演算语言(简称关系演算)
关系演算是用谓词来表达查询要求的方式。关系演算又可按谓词变元的基本对象是元组变量还是域变量分为元组关系演算和域关系演算。元组演算语言的典型代表是QUEL语言,域关系演算语言的典型代表是QBE(Query By Example)语言。关系代数、元组关系演算和域关系演算三种语言在表达能力上是完全等价的。
(3)具有关系代数和关系演算双重特点的语言,如SQL(Standard Query Language)
关系数据库系统实际提供给用户的关系数据语言是更加高级、更加方便的实际语言,除了提供上述语言的功能外,还提供了许多附加功能,如SQL不仅具有丰富的查询功能,而且具有数据定义和数据控制功能,是集查询、数据定义(DDL)、数据操纵(DML)和数据控制(DCL)于一体的关系数据语言。
; 2.1.3 完整性约束
关系模型可定义三类完整性规则,分别是实体完整性、参照完整性和用户定义完整性。其中实体完整性和参照完整性是关系模型必须满足的规则,应该由系统自动支持,而用户定义的完整性由应用环境所决定。
; 2.2 关系数据结构
关系模型是建立在集合代数基础上的,所以这里将从集合的角度给出关系数据结构的形式化定义。
2.2.1 数学定义
1.域
域(Domain)是一组具有相同数据类型的值的集合。
例如{男,女}、{A,B,C}、{2,4,6,8,10}等都可以是域。
域要命名,例如:性别={男,女},姓名={张力,阿法,胡爱军},D={2,4,6,8,10}其中性别、姓名、D称为域名。域中数据个数叫做域的基数,故性别的基数为2,姓名的基数为3,D的基数为5。
2.笛卡尔积
给定一组域 ,则 的笛卡尔积定义为; 其中 每个叫做一个 元组,元组中的每个 叫做一个分量, 必是 域中的一个值。
显然,若 为有限集,则笛卡尔积的基数等于 构成该积所有域的基数的连乘积,即
其中表示笛卡尔积基数,表示第个域基数,表示域的个数。
3.关系
当且仅当是 的一个子集,则称 是
上的一个关系,记为 。其中 是关系名, 为 关系的度。当 时,关系仅含一个域,称单元关系;
当 时,称二元关系,如此类推。
在关系对应的二维表中,行对应元组,列对应域。而实 际中更多地把列称为属性,将元组称为记录。
; 2.2.2 关系的性质
关系与二维表及传统的数据文件有类似之处,但也有区别。关系是一种规范化的二维表,作为关系的二维表必须满足下列性质:
(1)同一属性(列)中的分量是相同类型的数据,即取自同一个域;
(2)属性(列)的顺序可以是任意的;
(3)元组(行)的顺序可以是任意的;
(4)任意两个元组(即两行)不能完全相同;
(5)属性必须有不同的名称,但不同的属性可以取自相同的域;
(6)所有属性必须都是不可分解的,即表中不允许有子表。
2.2.3 单一的数据结构——关系
1.关系模式
关系模式是对关系的描述,是一个关系的具体结构,即关系模式是型。它通常被形式化定义为R(U,D,DOM,F,I)。其中R是关系名,U为该关系中的所有属性集合;D为该关系的所有定义域的集合;DOM是属性向域映射的集合,它给出属性和域之间的对应关系;F是该关系中各属性之间的数据依赖的集合;I为该关系
原创力文档

文档评论(0)