第三章 关系模型--概念

3.1 关系数据库的结构
表3-1

概念

解释

所谓关系数据库的表具有如下特征:①每个表有唯一的名字;②每个表可以有多个列;③每个列有唯一的名字;④表中的一行代表的是这些列之间的一个联系,而整个表的内容就是这种联系的集合。

属性

关系数据库里表中的列也称为属性。

数据库里表的每个属性有一个允许值的集合,称为该属性的域。

元组

数据库里表的每一行就是一个元组。

关系

参见第二章“实体-联系模型――概念”的表2-9。

关系模式

是指关系数据库在逻辑层的总体设计。

关系实例

是给定时刻关系数据库中数据的一个快照。

超码

参见第二章“实体-联系模型――概念”的表2-4。

后选码

参见第二章“实体-联系模型――概念”的表2-4。

主码

参见第二章“实体-联系模型――概念”的表2-4。

外码

关系模式的属性中可以包含另一关系模式的主码,这样的属性称为外码。

数据查询语言

参见第一章“引言――概念”的表1-4。

3.2 关系代数
表3-2
3.3 关系演算

概念

解释

关系演算

关系演算是非过程化的数据查询语言,它只描述所需要的信息,而不给出获得该信息的具体过程。关系演算又分为元组关系演算和域关系演算两种。

3-3
3.4 扩展关系代数运算
表3-4

概念

解释

广义投影

广义投影运算允许在投影列表中使用算术表达式。广义投影的运算形式为:ÕF1,F2,,Fn(E)其中E是任意关系代数表达式,而F1, F2,,Fn中的每一个都是涉及E的模式中属性的算术表达式。特别地,算术表达式可以仅仅是某个属性或常量。

左外连接

用符号�@幢硎荆�它首先计算两个关系的自然连接,然后再在左侧关系中找出那些没有在连接结果中出现的元组。把这些元组也加入到连接结果中去,并且用空值null来填充那些来自右侧关系的属性的值。也就是说左侧关系的元组都要在连接结果中出现。

右外连接

用符号�だ幢硎荆�它首先计算两个关系的自然连接,然后再在右侧关系中找出那些没有在连接结果中出现的元组。把这些元组也加入到连接结果中去,并且用空值null来填充那些来自左侧关系的属性的值。也就是说右侧关系的元组都要在连接结果中出现。

全外连接

用符号�⒗幢硎荆�它首先计算两个关系的自然连接,然后再在左侧关系和右侧关系中找出那些没有在连接结果中出现的元组。把这些元组也加入到连接结果中去,并且用空值null来填充那些来自右侧关系或左侧关系的属性的值。也就是说左侧关系和右侧关系的元组都要在连接结果中出现。

聚集函数

聚集函数是诸如sum、avg、count、max和min此类的函数,它们的输入是一个值的集合,而返回的结果是单个值。

分组聚集

对关系中的元组按某一条件进行分组,并在分组的元组上使用聚集函数,这就是分组聚集。

3.5 数据库的修改
表3-5

概念

解释

删除

删除是将某些元组从数据库的关系中去除。

插入

插入的含义是将新的元组增加到关系中。

更新

更新的含义是修改关系中已有元组的全部或部分属性的值。

3.6 视图
3-6

概念

解释

视图

视图是用户可以看见的虚关系,数据库管理系统只存储视图定义本身,而不会去存储定义视图的关系代数表达式的求值结果。它不是数据库逻辑模式的一部分。

实体化视图

有些数据库管理系统允许存储视图关系,但要保证当定义视图的实际关系发生变化时,视图也随之发生变化,这样的视图称之为实体化视图。