|
|
|
|
移动端

2.1 ANSI-SPARC三层体系结构

《数据库系统:设计、实现与原理(基础篇)(原书第6版)》第2章数据库环境,本章的许多材料有关DBMS的重要背景信息。然而,对数据库系统领域不熟的读者可能会发现有一些材料在初次阅读时很难理解。不用太纠结,阅读了本书的大部分章节后可重读本章的这些内容。本节为大家介绍ANSI-SPARC三层体系结构。

作者:宁洪/贾丽丽/张元昭 译来源:机械工业出版社|2017-09-27 15:22

开发者盛宴来袭!7月28日51CTO首届开发者大赛决赛带来技术创新分享

第2章 数据库环境

本章目标

本章我们主要学习:

数据库三层体系结构的用途和起源

外部层、概念层和内部层的主要内容

外部层到概念层及概念层到内部层映射的用途

逻辑数据独立性和物理数据独立性的含义

数据定义语言(DDL)和数据操作语言(DML)的差别

数据模型的分类

概念建模的目的和重要性

DBMS应该提供的基本功能和服务

系统目录的作用和重要性

数据库系统的一个主要目的就是为用户提供数据的抽象视图,而隐藏数据存储和操作的细节。因此,设计一个数据库的起点应该是某个组织机构将要存储到数据库中的信息的概要和一般描述。注意,在本章及本书中,常用术语“组织机构”来指一个单位或其某个部门。例如,在DreamHome案例中,我们可能只感兴趣于建模:

现实世界的实体员工(Staff)、租售房产(PropertyforRent)、业主(PrivateOwner)和客户(Client)。

描述每个实体的性质的属性(例如,员工具有属性姓名(name)、职务(position)和工资(salary))。

实体之间的联系(例如,员工管理(Manages)租售房产)。

此外,由于数据库是一种共享的资源,所以不同用户可能需要数据库中数据的不同视图。为了满足这些需要,现在几乎所有的商业DBMS都在某种程度上基于所谓的ANSI-SPARC体系结构。本章将讨论DBMS的各种体系结构和功能特性。

本章结构

2.1节研究ANSI-SPARC三层体系结构及其优点。2.2节讨论DBMS所使用的各类语言。2.3节介绍数据模型及概念建模的有关概念,这些概念在后续章节还将深入讨论。2.4节给出期望DBMS提供的功能。本章的例子取自DreamHome案例,这个案例将在11.4节和附录A中详细讨论。

本章的许多材料有关DBMS的重要背景信息。然而,对数据库系统领域不熟的读者可能会发现有一些材料在初次阅读时很难理解。不用太纠结,阅读了本书的大部分章节后可重读本章的这些内容。

2.1 ANSI-SPARC三层体系结构

早在1971年,由数据系统语言会议(CODASYL,1971)任命的数据库任务组(DBTG)就提出了关于数据库系统的标准术语和一般体系结构规范。DBTG认为系统需要两层结构,即从系统角度看的模式(schema)和从用户角度看的子模式(subschema)。1975年,美国国家标准化协会(ANSI)标准规划和需求委员会(SPARC)也提出了一套类似的术语和体系结构,即ANSI/X3/SPARC(ANSI,1975)。ANSI-SPARC提出的是带系统目录的三层结构体系。这些提案都体现了IBM的“指南和共享”用户组织早先发表的一些建议,并且集中表现为需要设立一个独立于实现的层次,用于将程序与基本的表示问题分离开(Guide/Share,1970)。尽管ANSI-SPARC模型最终没有成为标准,但它仍然是理解DBMS某些功能的基础。

为此,在这些及以后的报告中,一个基本观点就是区分三层抽象,即描述数据的三个不同层次。这样形成了一个三层体系结构,包括外部层、概念层和内部层,如图2-1所示。用户从外部层观察数据,DBMS和操作系统从内部层观察数据。在内部层,数据实际上是使用附录F描述的数据结构和文件组织方法存储的。概念层提供内、外部层的映射和必要的独立性。

三层体系结构的目的是将用户的数据库视图与数据库的物理描述分离开。如此分离的原因可概括为:

每个用户都能访问相同的数据,但可用各自定制的数据视图。每个用户都应该能够改变自己的数据视图,但这些改变不会影响其他用户。

不要求用户直接处理数据库物理存储的细节,例如索引或散列(见附录F)。换句话说,用户与数据库的交互应该独立于存储细节。

数据库管理员(DBA)能在不影响用户视图的情况下修改数据库存储结构。

数据库的内部结构不受存储的物理变化的影响,例如将数据转存到某个新的存储设备上。

DBA能在不影响所有用户的情况下修改数据库的概念结构。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

精通JavaScript动态网页编程(实例版)

本书通过大量实例代码,以ECMA-262版本3为基础,结合JavaScript 1.5和JavaScript 5.5,由浅入深、循序渐进地介绍了JavaScript知识要点与编...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊