eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

« 关于 cursor_sharing = similar | 文摘首页 | 关系型:数据库发展的分水岭 »

E.F.codd全关系系统的十二条基本准则
modb.pro

关系数据库系统是目前应用最广泛的数据库系统。实际应用中各类关系产品的功能都是有差异的,根据其支持运算的不同,关系系统可分为(最小)关系系统、完备关系系统、全关系系统。本节对关系系统的分类及全关系系统的基本准则加以讨论,在开发实际系统时,作为选择关系产品的依据。

全关系系统的十二条基本准则简介
下面是E.F.codd提出的全关系系统的十二条基本准则,只有遵循这些准则的系统才是全关系系统。以此可作为评价或购买关系产品的标准。
准则0:一个RDBMS必须能完全通过自身的关系能力来管理数据库。这意味着,一个自称为关系型的DBMS必须能在关系这个级别支持数据库的插入、修改和删除。
准则0是下面十二条准则的基础。不满足准则0的DBMS都不是RDBMS。

准则1:信息准则。RDBMS的所有信息都应在逻辑一级用同一个方法----表(Table)中的值显示出来
而且,每个表的表名,表中的列名和域名等,都是用系统内的数据字典表中的值表示的。数据字典本身是一个描述元数据的关系数据库。
准则2:保证访问原则。依靠表名、主码和列名的组合,应保证能够访问关系数据库中的每个数据项值。
保证访问原则规定,关系系统不能采用面向机器的寻址法,而必须采用关系系统独有的关联寻址的访问模式。

准则3:空值的系统化处理。空值是"不知道"或"无意义"的值,它不是一个具体的值(如零、空字符串等)。空值的概念很重要,在全关系DBMS中支持空值,就是要用一个系统化的方式处理空值
准则4:基于关系模型的动态联机数据字典。数据库的描述在逻辑级上应和一般数据采用相同的表示方法,使得授权用户能使用查询一般数据所用的关系语言来查询数据库的描述信息。
本准则不仅使每个用户只需学习一种数据模型,而且授权用户还可方便地扩充字典,使之变成完备、主动的关系数据字典。

准则5:统一的数据子语言准则。一个关系系统可以有几种语言和多种终端使用方法。但必须有一种语言,该语言的语句可以表示为具有严格语法规则的字符串,并能全面地支持以下定义:数据定义、视图定义、数据操作(交互式或程序式)、完整性约束、授权、事务处理功能(事务的开始、提交和退回)。
关系方法是高度动态的,处于频繁的运行处理之中。因此,没有必要把说明的功能分为若干种语言来实现。关系数据库是一体化的数据子语言,它使程序员可首先交互地调试数据库语言,调试正确后再嵌入程序中,从而可大大提高程序员的生产效率。

准则6:视图更新准则。所有理论上可更新的视图也应该允许由系统相同更新。"一个视图在理论上是可更新的"指的是,存在一个与时间无关的算法,该算法可无二义性地把对此视图的更新要求转换为对基本表的更新序列。

准则7:高级的插入、修改和删除操作。把一个基本关系或导出关系作为单一的操作对象处理。这不仅适合于数据检索,而且适合于数据的插入和删除。以关系为操作对象不仅简化了用户查询,也为系统进行查询优化提供了很大的余地。该准则对于获得有效的分布式事务处理也是十分重要的,可避免从远程结点传送一条记录就要发出一次请求,实现一次请求传送一个关系,从而节省通信代价。

准则8:数据的物理独立性。无论数据库的数据在存储表示或存取方法上作何变化,应用程序和终端活动都保持逻辑上的不变性。
准则9:数据的逻辑独立性。当对基本关系进行理论上信息不受损害的任何变化时,应用程序和终端活动都保持逻辑上的不变性。
准则10:数据完整的独立性。关系数据库的完整性约束条件必须是用数据子语言定义并存储在数据字典中,而不是在应用程序中定义。

除了实体完整性和参照完整性外,具体的关系数据库还可能有反映业务政策和管理规章的完整性约束条件。这些完整性条件都应该能用高级的数据子语言定义,并能存入数据字典,从而,当约束条件变化时,只需改变数据字典中定义的完整性语句,而不会逻辑上影响应用程序和终端活动。
准则11:分布独立性。对于如下两类具体问题:其一,原来的DBMS只管理非分布式数据,现在要引入了分布式数据;其二,原来的DBMS能管理分布式数据,现在要改变原来的数据分布。在这两种情况下,由于RDBMS具有特定的数据子语言,都能使应用程序和终端活动保持逻辑不变性。

准则12:无破坏准则。如果一个关系系统具有一个低级(一次一个记录)语言,该语言不能破坏或绕过完整性准则和用高级关系语言表达的约束条件。
以上这十二条准则都以准则0为基础,但仅有准则0是不够的。
目前,虽然还没有一个DBMS产品是全关系型的,但随着人们对数据库技术研究的进一步深入,加上软件运行环境的改变,相信以后一定会出现越来越好的全关系型的DBMS,以满足人们各类应用场合对数据库产品的需求。

3.5.2 关系系统的定义
全关系系统的十二条准则是十分重要的准则,是关系产品最完备的表述,理论相当严谨,要求相当苛刻。但是,就目前的关系产品,虽然难以满足上述准则,但仍然能适应特定场合的数据处理需求(也叫做关系产品)。那么,什么是关系系统的最小要求,即什么样的系统就可称为关系系统呢?
当一个系统同时满足以下两点要求时,它就是一个关系系统:

(1)支持关系数据库。在用户眼里,数据库只有表这种结构。
(2)支持关系代数中选择、投影和(自然)连接运算,并且不能要求用户定义任何物理存取路径。
上述两点构成了关系系统的最小定义。
仅仅支持关系数据库而不支持选择、投影和连接功能的系统,不是关系系统。虽然支持上述三种运算,但要求用户定义物理存取路径的系统,仍然不是关系系统。关系系统的最大优点在于方便用户,而不支持上述三种运算的系统是不方便用户的。因此,支持上述三种运算也是关系系统的基本要求。

如果一个自称为关系系统的系统,要求用户定义存取路径才能进行上述三种操作,那么,这就丧失了数据的物理独立性,退化为类似非关系系统,带来操作的复杂性。因此,关系系统必须能自动选择路径,必须能查询优化,这是关系系统的关键技术。
上述三种操作并非关系代数的全部运算,但却是最重要、最有用的运算。有了这三种运算功能,就能解决绝大部分的实际问题。

3.5.3 关系系统的分类
上述关系系统的定义确定了关系系统的基本要求,以此为基础,可对关系系统进行分类。根据E.F.codd的思想,关系系统主要分为三类。
(1) (最小)关系系统:
仅支持关系数据结构和选择、投影、连接三种关系操作。很多微机上使用的系统如FoxBASE和FoxPro就属于这一类。
(2) 完备关系系统:
不仅支持关系数据结构,而且支持所有关系代数操作。

(3) 全关系系统:
支持关系模型所有特征的系统为全关系系统。它们不仅支持数据结构中域的概念,不仅是完备关系,而且支持实体完整性和参照完整性。具体所,就是支持上边介绍的十二条基本准则。目前,很多关系系统已接近这个目标。
可用图形表示以上关系分类,见图3.18所示。其中S代表结构、I代表完整性、M代表数据操纵,图中阴影表示对三类特性的支持程度。




历史上的今天...
    >> 2008-09-08文章:
           RAC Process Of LMON & LMD & LMSn

By eygle on 2007-09-08 21:41 | Comments (0) | 学习资料 | 1607 |


CopyRight © 2004~2020 云和恩墨,成就未来!, All rights reserved.
数据恢复·紧急救援·性能优化 云和恩墨 24x7 热线电话:400-600-8755 业务咨询:010-59007017-7040 or 7037 业务合作: marketing@enmotech.com