关系型数据库的体系结构

一、数据库的分级结构

ANSI/X3/SPARC的数据库管理系统研发组,在1975年公布的研究报告——“Interim Report”中,把数据库分为三级:外模式、概念模式和内模式。

如图所示:


      

      当今流行的数据库管理系统虽有多种,所用术语也各有不同,但在数据库体系结构上仍呈现三级结构的特征。

       用户级数据库是单个用户看到和使用的数据库,因此也称为用户视图(View),在许多文献中又称为子模式,对应于外模式,它是单个用户看到并获准使用的那部分数据的逻辑结构(称为局部逻辑结构),用户根据系统给出的子模型,用询问语言或应用程序去操作数据库中的数据。

       概念级数据库应对于概念模式,简称模式,是对数据库所有用户的数据的整体逻辑描述(故称为数据库的整体逻辑结构),通常又称之为DBA视图,即数据库管理员看到的数据库,它是所有用户视图的一个最小并集。设立概念级的目的是为了把用户视图有机的结合成一个逻辑整体,统一的考虑所有用户要求,它涉及的仍然是数据库中所有对象的逻辑关系,而不是他们的物理关系。

       物理级数据库对应于内模式,又称之为存储模式。它包含数据库的全部存储数据,这些被存储在内、外存介质上的数据也被称为原始(Raw)数据,使用户操作加工的对象。从机器的角度看,他们是指令操作处理的位串、字符和字;从系统程序员的角度看,这些数据是他用一定的文件组织方式组织起来的一个个无力文件(或存储文件),系统程序员编制专门的访问程序,实现对文件中的数据的访问。所以物理级数据库也称为系统程序员视图。

       对于一个数据库系统来说,实际上存在的只是物理级数据库,它是数据访问的基础。概念级数据库只不过是物理级数据库的一种抽象(逻辑)描述,用户级数据库是用户与数据库的接口。用户根据子模式进行操作,数据库管理系统用过子模式到模式的映射将操作与概念级联系起来,又通过模式到存储模式的映射与物理级联系起来。这样一来,用户可以在较高的抽象级别上处理数据,而把数据组织的物理细节留给系统。事实上,DBMS中心工作之一就是完成三级数据库之间的转换,把用户对数据库的操作转化到物理级去执行。

二、模式及其映射

       (1)模式

       模式是使用模式定义语言(DDL)给出的数据库整体逻辑描述,包括逻辑记录类型和记录之间的关系。某些系统甚至把模式到存储的映射细节(如存储设备类型与地址、文件组织方式、数据压缩细节等)也包含到模式中。应该指出,处于概念级的模式不应该包含物理级的内容,否则当数据物理组织发生变化时,将引起对模式的修改,是概念级不能独立于物理级。用语言书写的模式成为原模式,机器不能直接使用,必须将此摸使用机器代码表示,变为机器使用的模式,称为目标模式。目标模式通常设计成表格形式,树结构或网络结构。为原模式设计良好的目标模式是很重要的工作。

       (2)子模式

       子模式是用户与数据的接口,因此每个用户必须使用一个子模式,但多个用户(特别是同类型的用户)也可以使用一个子模式。从逻辑关系上看,子模式是模式的一部分(而不说是数据库的一部分),或者说是模式的一个逻辑子集(当然也可以是整个模式)。从模式用某种规则可以导出子模式,如在关系方法中,通过关系运算就可以就可以从模式导出子模式。子模式与模式之间的对应关系称之为子模式到模式的映射,有的系统把这种映射也写在子模式中,但应指出,子模式可以做出不同模式的改变,例如在子模式中,可以略去模式的某些记录类型,数据项,改变模式中某些数据项的数据特征,改变模式中的安全、完整约束条件等。如例子:

       子模式A

学生关系框架

学号

姓名

年龄

性别


 

学生关系

学号

姓名

年龄

性别

0001

张三

19

0002

李四

19

 

教员关系框架

 姓名

职称

 

教员关系

姓名

职称

张小三

讲师

李小四

教授

 

       子模式B

学生关系框架

学号

姓名

年龄

性别

 

学生关系

学号

姓名

年龄

性别

0001

张三

19

0002

李四

19

 

授课关系框架

课程号

课程名

学时

任课教员


 

授课关系

课程号

课程名

学时数

任课教员

1001

微积分

32

张小三

1002

线性代数

64

李小四

 

学习关系框架

学号

课程号

分数


 

学习关系

学号

课程号

分数

0001

1001

90

0002

1002

85

 

       如上例所示:使用子模式A的用户,只能访问子模式A所对应的数据,而使用子模式B的用户只能访问子模式B对应的数据。描述子模式的语言称为子模式DDL,子模式也有相应的源形式与目标形式。给用户以子模式有以下好处:

·接口简单,使用方便。用户只要依照子模式编写应用程序或在终端派人操作命令,无需了解数据库的存储结构。

       ·保证数据独立性。应用脱离了数据的物理组织,使得改变数据的物理组织方式和引进新的存储设备无需修改或重编应用程序。

       ·提供数据共享性。用同一模式产生出不同的子模式,减少了数据的冗余度。

       ·独立数据,安全保密。用户通过程序只能操作其子模式范围内的数据,从而使程序错误传播的范围最小,同时保证了其它数据的安全。

3)存储模式

       存储模式是数据在物理存储结构方面的描述,他除了定义所有的内部记录类型外,还定义一些索引、存储分配以及恢复等方面内容的细节。但是更具体的物理存储细节,比如从磁盘读写某些数据块等,存储模式一般并不予考虑,而是交给操作系统来完成。

       描述存储模式的语言称为存储模式DDL,存储模式亦有源模式与目标模式之分,其目标模式与模式和子模式的目标模式均存在于系统数据字典中,供系统随时查用。

4)模式到存储模式的映射

       此映射主要给出概念级数据与物理级数据的对应关系。这表现在两个方面:一是数据结构的交换,即逻辑记录及组成纪录的数据项如何对应到内部纪录的数据项上去;另一方面,是逻辑数据如何在物理设备上定位。在概念级与内部级之间存在这样一个映射,就能保证当存储模式发生变化时(如存储设备、文件组织方式、存储位置等发生变化),只要修改此映射即可,而模式应尽量不受到任何影响,从而对子模式和应用程序影响更小,到达所谓物理数据独立。通常情况下,模式到存储模式的映射在存储模式中描述。

5)子模式到模式的映射

       此映射主要给出外部级与概念级的对应关系。这两级的数据结构以及数据量纲可能不一致,子模式中某些数据项甚至是由若干数据项导出的,在数据库中并不真实存在。因此在映射中需要说明子模式中的记录类型和数据项如何对应着模式中的记录和数据项以及导出的规则步骤(若为导出项)。在外部级与概念级之间存在这样一个映射,就能保证当模式发生变化时,只要修改记录及数据项的对应关系或导出规则,可能不必修改子模式,用户根据子模式设计的应用程序就可继续延用,达到所谓逻辑数据独立性。通常情况下,子模式到模式的映射在模式中描述。

 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《Oracle编程艺术:深入理解数据库体系结构》这本书介绍了Oracle数据库的架构和内部运行机制,帮助读者更好地理解如何设计和优化Oracle数据库系统。 在书中,作者通过详细介绍Oracle数据库的组成部分,如实例、数据库文件、表空间、段等,以及它们之间的关系,使读者能够对整个数据库系统的结构有一个清晰的认识。此外,书中还介绍了Oracle数据库的内存管理、数据缓存、并行处理、故障处理等方面的知识和技术,帮助读者更好地理解数据库系统的运作机制,从而能够编写出高效、稳定的Oracle应用程序。 这本书还讲述了一些关于Oracle编程的“艺术”,如如何优化SQL查询、如何设计合适的数据模型、如何使用索引等。这些技巧可以帮助开发者更好地利用Oracle数据库的特性和功能,编写出更高效、更可靠的应用程序。 总的来说,《Oracle编程艺术:深入理解数据库体系结构》是一本非常详细、系统的Oracle数据库入门和进阶书籍,适合那些想要深入了解Oracle数据库系统的开发者、管理员和DBA。它不仅提供了数据库的理论知识,还包含很多实际案例和经验总结,可帮助读者解决实际问题。 ### 回答2: Oracle编程艺术 深入理解数据库体系结构一书是一本涉及到Oracle数据库的高级编程和体系结构的专业书籍。通过深入剖析Oracle数据库技术细节,这本书让读者明白了在架构端如何优化数据库和应用程序性能。 这本书不仅教读者如何编写优化的SQL语句和存储过程,还介绍了Oracle数据库架构的方方面面,例如内存、IO、并发性以及可扩展性。阅读该书可以帮助读者了解数据库架构的各个细节,以便更好地管理数据库和提高业务性能。 此书的目标读者是拥有Oracle数据库方面的基本知识的开发人员和数据库管理员。读者将从本书中获得大量的高质量信息和最佳实践,以及各种内存、IO、并发性和可扩展性的调优技巧。 总之,Oracle编程艺术 深入理解数据库体系结构是一本深度剖析Oracle数据库核心技术的高级编程技巧书籍。如果你希望更全面地了解Oracle数据库和其应用领域,这本书会是你的极佳选择。 ### 回答3: Oracle编程艺术深入理解数据库体系结构是一本介绍Oracle数据库体系结构的重要书籍。Oracle数据库作为一个大型数据管理系统,其体系结构相当复杂,这本书为数据库开发者提供了对Oracle数据库体系结构的深入理解的详细介绍。本书从Oracle数据库存储结构、内存结构、进程管理、SQL优化、性能监视和故障排除等方面入手。 首先,本书介绍了用于存储Oracle数据库数据的不同结构,如表空间、数据文件、段、区、块等。这有助于数据库开发者了解这些结构如何相互关联,并最大化利用存储资源。 其次,本书深入讨论了Oracle数据库中的内存结构,如SGA(共享全局区)和PGA(进程全局区)。它概述了不同的内存组件的作用和大小,以及如何配置这些组件以最大限度地提高性能。 此外,本书还涵盖了Oracle进程管理的信息,如服务器进程、后台进程和用户进程。它介绍了这些进程如何协同工作来支持数据库的访问和管理,并讨论了优化进程配置的方法。 最后,本书讨论了SQL优化和性能监视,以及故障排除技术。它介绍了使用不同工具和技术来诊断和纠正潜在问题的方法,帮助数据库开发者最大化制定Oracle数据库的潜力。 总的来说,Oracle编程艺术深入理解数据库体系结构是一本对于Oracle数据库概念的详细介绍,并为数据库开发者指导如何最大限度地利用Oracle数据库的高级功能。这些功能将有助于提高性能并减少故障率,从而为数据库开发者的成功提供了重要的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值