? (A仅作用于职称=?教授?的记录) ? P 拒绝执行该操作 三、参照完整性考虑问题 1. 外码能否接受空值问题
因此在实现参照完整性时,系统除了应该提供定义外码的机制,还应提供定义外码列是否允许空值的机制。 2. 在被参照关系中删除元组的问题
一般地,当删除被参照关系的某个元组,而参照关系存在若干元组,其外码值与被参照关系删除元组的主码值相同,这时可有三种不同的策略:
(1) 级联删除(CASCADES) (2) 受限删除(RESTRICTED) 仅当参照关系中没有任何元组的外码值与被参照关系中要删除元组的主码值相同时,系统才执行删除操作,否则拒绝此删除操作。 (3) 置空值删除(NULLIFIES) 删除被参照关系的元组,并将参照关系中相应元组的外码值置空值。 3. 在参照关系中插入元组时的问题
一般地,当参照关系插入某个元组,而被参照关系不存在相应的元组,其主码值与参照关系插入元组的外码值相同,这时可有以下策略: (1)受限插入 (2)递归插入 4. 修改关系中主码的问题
(1) 不允许修改主码 (2) 允许修改主码
在有些RDBMS中,允许修改关系主码,但必须保证主码的唯一性和非空,否则拒绝修改。
从上面的讨论我们看到DBMS在实现参照完整性时,除了要提供定义主码、外码的机制外,还需要提供不同的策略供用户选择。选择哪种策略,都要根据应用环境的要求确定。
21
第12章 数据库技术新进展
12.1 新一代数据库技术的研究与发展 一、第一代 网状、层次数据库系统 二、第二代 关系数据库系统
关系模型由三部分组成:数据结构、关系操作、市局完整性。 三、第三代 以面向对象模型为主要特征的数据库系统。
1、新应用领域的需求:CAD/CAM、CIM、CASE、OIS(办公信息系统)、GIS(地理信息系统)、知识库系统、实时系统等。
2、需要数据库系统支持以下功能:存储和处理复杂对象;支持复杂的数据类型;需要常驻内存的对象管理以及支持对大量对象的存取和计算;实现程序设计语言和数据库语言无缝地集成;支持长事务和嵌套事务的处理。
3、传统数据库系统的局限性:面向机器的语法数据模型;数据类型简单、固定;结构与行为分离;阻抗失配;被动响应;存储、管理的对象有限;事务处理能力较差。 4、新一代数据库技术的特点
1. 面向对象的方法和技术对数据库发展的影响最为深远 2. 数据库技术与多学科技术的有机结合 3. 面向应用领域的数据库技术的研究 5、第三代数据库系统
1. 第三代数据库系统应支持数据管理、对象管理和知识管理 2. 第三代数据库系统必须保持或继承第二代数据库系统的技术 3. 第三代数据库系统必需对其它系统开放 12.2 数据库新技术
1、面向对象的数据模型
将语义数据模型和面向对象程序设计方法结合起来,用面向对象观点来描述现实世界实体(对象)的逻辑组织、对象间限制、联系等的模型。一系列面向对象核心概念构成了面向对象数据模型的基础。
对象关系数据库系统(Object Relational Database System,ORDBS)是关系数据库与面向对象数据库的结合。 2、XML数据模型:
3、RDF数据模型:
12.3 数据库技术与其他相关技术相结合
? 数据库技术与分布处理技术相结合,出现了分布式数据库系统; ? 数据库技术与并行处理技术相结合,出现了并行数据库系统;
? 数据库技术与人工智能相结合, 出现了演绎数据库系统、知识库和主动数据库系统; ? 数据库技术与多媒体处理技术相结合, 出现了多媒体数据库系统; ? 数据库技术与模糊技术相结合,出现了模糊数据库系统; ? 数据库技术与移动通信技术相结合,出现了移动数据库系统; ? 数据库技术与Web技术相结合,出现了Web数据库系统; 1、 分布式数据库系统
是由一组数据组成,这组数据分布在计算机网络的不同计算机上,网络中的每个节点具有独立处理的能力(称为场地自治),可以执行局部应用。同时,每个结点也能通过网络通信系统执行全句应用。 2、 并行数据库系统
是在并行机上运行的具有并行处理能力的数据库系统。 主要围绕关系数据库进行,包括:
(1)实现数据库查询并行化的数据流方法 (2)并行数据库的物理组织
22
(3)新的并行数据操作算法 (4)查询优化
12.4面向应用领域的数据库新技术 1、工程数据库(Engineering Data Base)
工程数据库是一种能存储和管理各种工程图形,并能为工程设计提供各种服务的数据库。它适用于
CAD/CAM、计算机集成制造(CIM)等通称为CAX的工程应用领域。工程数据库针对工程应用领域的需求,对工程对象进行处理,并提供相应的管理功能及良好的设计环境。 功能:
(1) 支持复杂多样的工程数据的存储和集成管理; (2) 支持复杂对象(如图形数据)的表示和处理; (3) 支持变长结构数据实体的处理; (4) 支持多种工程应用程序; (5) 支持模式的动态修改和扩展;
(6) 支持设计过程中多个不同数据库版本的存储和管理; (7) 支持工程长事务和嵌套事务的处理和恢复; 在工程数据库的设计过程中,由于传统的数据模型难于满足CAX应用对数据模型的要求,需要运用当前数据库研究中的一些新的模型技术,如扩展的关系模型、语义模型、面向对象的数据模型。 2、统计数据库(Statistical Data Base)
? 统计数据是人类对现实社会各行各业、科技教育、国情国力的大量调查数据。采用数据库技术实现对
统计数据的管理,对于充分发挥统计信息的作用具有决定性的意义。 ? 统计数据库是一种用来对统计数据进行存贮、统计(如求数据的平均值、最大值、最小值、总和等等)、
分析的数据库系统。
? 第一,多维性是统计数据的第一个特点,也是最基本的特点。
? 其次,统计数据是在一定时间(年度、月度、季度)期末产生大量数据,故入库时总是定时的大批量
加载。经过各种条件下的查询以及一定的加工处理,通常又要输出一系列结果报表。这就是统计数据的“大进大出”特点。
? 第三,统计数据的时间属性是一个最基本的属性,任何统计量都离不开时间因素,而且经常需要研究
时间序列值,所以统计数据又有时间向量性。
? 第四,随着用户对所关心问题的观察角度不同,统计数据查询出来后常有转置的要求。 3、空间数据库(Spacial Data Base)
? 空间数据库,是以描述空间位置和点、线、面、体特征的拓扑结构的位置数据及描述这些特征的性能的
属性数据为对象的数据库。其中的位置数据为空间数据,属性数据为非空间数据。
? 空间数据是用于表示空间物体的位置、形状、大小和分布特征等信息的数据,用于描述所有二维、三维
和多维分布的关于区域的信息,它不仅具有表示物体本身的空间位置及状态信息,还具有表示物体的空间关系的信息。
? 非空间信息主要包含表示专题属性和质量描述数据,用于表示物体的本质特征,以区别地理实体,对地
理物体进行语义定义。
? 由于传统数据库在空间数据的表示、存储和管理上存在许多问题,从而形成了空间数据库这门多学科交
叉的数据库研究领域。
? 目前的空间数据库成果大多数以地理信息系统的形式出现,主要应用于环境和资源管理、土地利用、城
市规划、森林保护、人口调查、交通、税收、商业网络等领域的管理与决策。
? 空间数据库的目的是利用数据库技术实现空间数据的有效存储、管理和检索,为各种空间数据库用户实
用。目前,空间数据库的研究主要集中于空间关系与数据结构的形式化定义;空间数据的表示与组织;空间数据查询语言;空间数据库管理系统。 ?
23
12.4 面向应用领域数据库新技术 1、数据仓库
? 传统的数据库技术是以单一的数据资源为中心,进行各种操作型处理。操作型处理也叫事务处理,是
指对数据库联机地日常操作,通常是对一个或一组记录的查询和修改,主要是为企业的特定应用服务的,人们关心的是响应时间,数据的安全性和完整性。
? 分析型处理则用于管理人员的决策分析。例如:DSS,EIS和多维分析等,经常要访问大量的历
史数据。于是,数据库由旧的操作型环境发展为一种新环境:体系化环境。体系化环境由操作型环境和分析型环境(数据仓库级,部门级,个人级)构成。
? 数据仓库是体系化环境的核心,它是建立决策支持系统(DSS)的基础。 1. 从数据库到数据仓库
? 具体来说,有如下原因使得事务处理环境不适宜DSS应用: (1) 事务处理和分析处理的性能特性不同
? 在事务处理环境中,用户的行为特点是数据的存取操作频率高而每次操作处理的时间短,因此,系统
可以允许多个用户按分时方式使用系统资源,同时保持较短的响应时间,OLTP(联机事务处理)是这种环境下的典型应用。
? 在分析处理环境中,某个DSS应用程序可能需要连续运行几个小时,从而消耗大量的系统资源。将
具有如此不同处理性能的两种应用放在同一个环境中运行显然是不适当的。 (2) 数据集成问题
? DSS需要集成的数据。全面而正确的数据是有效的分析和决策的首要前提,相关数据收集得越完整,
得到的结果就越可靠。因此,DSS不仅需要整个企业内部各部门的相关数据,还需要企业外部、竞争对手等处的相关数据。
? 而事务处理的目的在于使业务处理自动化,一般只需要与本部门业务有关的当前数据,对整个企业范
围内的集成应用考虑很少。
? 当前绝大部分企业内数据的真正状况是分散而非集成的,这些数据不能成为一个统一的整体。对于需
要集成数据的DSS应用来说,必须自己在应用程序中对这些纷杂的数据进行集成。可是,数据集成是一项十分繁杂的工作,都交给应用程序完成会大大增加程序员的负担。并且,如果每做一次分析,都要进行一次这样的集成,将会导致极低的处理效率。DSS对数据集成的迫切需要可能是数据仓库技术出现的最重要动因。
(3) 数据动态集成问题
? 由于每次分析都进行数据集成的开销太大,一些应用仅在开始对所需的数据进行了集成,以后就一直
以这部分集成的数据作为分析的基础,不再与数据源发生联系,我们称这种方式的集成为静态集成。 ? 静态集成的最大缺点在于如果在数据集成后数据源中数据发生了改变,这些变化将不能反映给决策
者,导致决策者使用的是过时的数据。对于决策者来说,虽然并不要求随时准确地探知系统内的任何数据变化,但也不希望他所分析的是几个月以前的情况。因此,集成数据必须以一定的周期(例如24小时)进行刷新,我们称其为动态集成。显然,事务处理系统不具备动态集成的能力。
(4) 历史数据问题
? 事务处理一般只需要当前数据,在数据库中一般也只存储短期数据。但对于决策分析而言,历史数据
是相当重要的,许多分析方法必须以大量的历史数据为依托。没有对历史数据的详细分析,是难以把握企业的发展趋势的。
(5) 数据的综合问题
? 在事务处理系统中积累了大量的细节数据,一般而言,DSS并不对这些细节数据进行分析,在分析前,
往往需要对细节数据进行不同程度的综合。而事务处理系统不具备这种综合能力,根据规范化理论,这种综合还往往因为是一种数据冗余而加以限制。 2. 数据仓库的特点
? 原始数据(操作型数据)与导出型数据(DSS数据)之间的区别。其中主要是:表1
? W.H.Inmon还给数据仓库作出了如下定义:数据仓库是面向主题的、集成的、稳定的、不同时间的数
24