文档介绍:第四章关系系统及其查询优化
关系系统
关系数据库系统的查询优化
关系系统
关系系统的定义
关系系统的分类
全关系系统的十二条基本准则
关系系统的定义
一个系统被定义为关系系统,当且仅当:
1、支持关系数据库(关系数据结构)。
数据库由表所构成,并且只有表这一种结构。
2、支持选择、投影和(自然)连接运算,并对这些运算不必要求定义任何物理存取路径。
一个系统仅支持关系数据库而没有选择、投影和连接运算或虽然有这些运算功能,但要求定义物理存取路径,不能称为关系数据库。
关系系统的分类
关系系统可以分为:
1、表式系统
仅支持关系(即表)数据结构,不支持集合级的操作。所以表式系统实际上不能算是关系系统。
2、(最小)关系系统
仅支持关系数据结构和三种基本关系运算操作。
3、关系完备的系统
支持关系数据结构和所有的关系操作。
4、全关系系统
支持关系模型的所有特征。
全关系系统的十二条基本准则
准则0:一个关系型的DBMS必须能完全通过它的关系能力来管理数据库。对于任何不满足该准则的DBMS不能称为关系型的DBMS。
准则1:信息准则。关系型DBMS的所有信息都应在逻辑一级上用一种方法即表中的值显示地表示。
方便软件厂商合理地定义其软件包,使软件包能够检索存储在数据字典中的信息。并在需要时借助DBMS的操作将新的信息存入字典中。
准则2:保证访问准则。依靠表名、主码和列名的组合,保证能以逻辑方式访问数据库中的每个数据项(分量值)。该准则表明了关系数据库所采用的是关联寻址的访问模式。
准则3:空值(即“不知道”或“无意义”的值)的系统化处理。全关系型的DBMS应支持空值的概念,并用系统化的方式处理空值。
准则4:基于关系模型的动态的联机数据字典。数据库的描述在逻辑级上应该和普通数据采用同样的表示方式,使得授权用户可以使用查询一般数据所用的关系语言来查询数据库的描述信息。
准则5:统一的数据子语言准则。一个关系系统可以具有几种语言和多种终端使用方式(如表格填空方式、命令方式等)。但必须有一种语言,它的语句可以表示为具有严格语法规定的字符串,并能全面地支持:数据定义和视图定义、数据操作(交互式或程序式)、完整性约束、授权以及事务处理功能(事务开始、提交、回滚)等。
准则6: 视图更新准则。所有理论上可更新的视图也允许由系统更新。“理论上可更新的视图”是指对此视图的更新要求,存在一个与时间无关的算法,该算法可以无二义性地把更新要求转换为对基本表的更新序列。该准则对于系统支持数据逻辑独立性是不可缺少的。
准则7:高级的插入、修改和删除操作。关系系统的操作对象是单一的关系。
准则8:数据物理独立性。无论数据库的数据在存储表示或存取方法上作何变化,应用程序和终端活动都保持逻辑上的不变性。
准则9:数据逻辑独立性。当对基本关系进行理论上信息不受损害的任何改变时,应用程序和终端活动都保持逻辑上的不变性。
准则10:数据完整性的独立性。关系数据库的完整性约束条件必须是用数据库语言定义并存储在数据字典中的,而不是在应用程序中加以定义的。
准则11:分布独立性。关系型DBMS所具有的数据库语言,能使应用程序和终端活动在第一次引入分布式数据时和当数据重新分布时保持其逻辑不变性。
准则12:无破坏准则。如果一个关系系统具有一个低级(指一次一个记录)语言,则这个低级语言不能违背或绕过完整性准则。
关系数据库系统的查询优化
关系系统及其查询优化
一个实例
查询优化的一般准则
关系代数等价变换规则
关系代数表达式的优化算法
优化的一般步骤