18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 信息时代 > 数据库管理系统体系结构(数据库)

数据库管理系统体系结构(数据库)

时间:2022-11-17 18:30:01 | 来源:信息时代

时间:2022-11-17 18:30:01 来源:信息时代

    数据库管理系统体系结构 : 介于数据库用户和数据库之间的软件系统结构。数据库用户所要用的数据存储在数据库之中,如图1所示。


图1 数据库、数据库管理系统和数据库系统


数据库用户要存取(access)数据库之中的数据时,必须通过一种数据库存取语言将它存取数据的意图(例如查询(query)数据、插入(insert)数据、删除(delete)数据、修改(update)数据等)告知数据库系统,这种语言多种多样,但最常用的是SQL(structured query language)语言。
数据库系统中的数据库管理系统负责将以SQL语言表达的数据库用户存取数据的意图翻译成计算机能执行的动作,去存取数据库之中的数据,并将取得的结果返回给用户。数据库用户的任务只是提出查询数据的问题和得到数据结果的答案两件事,两件事之间的一切过程,即如何去解释问题和找到答案则是数据库管理系统的任务,用户不必知道也不可能知道。用户的任务比较轻松,可专注于应用问题。
数据库管理系统完成上述任务并非是一步到位的,而是要经过一系列的复杂的步骤。其原因在于表达数据库用户存取数据意图的语言SQL是一种类似英语的结构化的数据查询语言,具有简单、方便的特点,十分有利于用户的使用。它是一种非过程型的语言,用户只需要简单地指出要什么(what),而无须详尽地指明如何去要(how),这大大地方便了用户。但是如何去高效地找到数据并取得数据是一点也不能省略的,全部应当由数据库管理系统来完成。这是一项十分困难和复杂的任务。自 1970年E.F.Codd提出数据的关系模型以后,经过了全世界数据库专家齐心协力的十几年的不懈努力,才研究并开发出了实用的合乎用户需求的数据库管理系统。著名的有DB2(其前身为System R和SQL/DS)和Ingres及后来的Oracle,Sybase和Informix以及更后来的SQL Server。数据库管理系统完成任务的一系列步骤可以划分为不同的层次,各层次各自完成相应的子任务,而各层次之间又是紧密无缝地衔接,承上启下,一气呵成。数据库管理系统的分层体系结构可以用图2来表示。


图2 数据库管理系统的分层体系结构


其中,数据库用户接口层用于和用户打交道,用户中有使用上述的SQL语言的,也有使用其他语言的,如Alpha、QBE等。以SQL语言为例,这一层将用户的以SQL语言表示的查询提交给数据系统层并在接收到数据库系统返回的结果数据时,将之表示为用户需要的形式,如通用的表格形式,或直方图、饼图等提供给用户。
往下一层是数据系统层,它要完成的工作包括:
存取检查: 检查该用户有无资格存取数据库。
编译:将SQL语言程序编译为易于被计算机处理的中间语言,以便存取系统层继续处理。
数据系统层还包括完整性检查,专用视图支持和存取优化等功能。
数据系统层处理的对象是关系,关系是元组(tuple)的集合,所以SQL语言也叫做集合论语言。
后续的存取系统层将进一步对数据系统层的输出进行处理。这一层要深入处理关系中的组成部分,即一个一个的元组,也称为一个一个的记录(record)。其功能包括元组(或记录)管理、存取路径(access path)或索引(index)管理、事务管理(transaction management)、并发控制(concurrency control)、恢复管理(recovery management)、优化和排序(optimization and sorting)等。可以看出这一层是数据库管理系统的核心部分,它最为复杂和关键。
以上提到的数据的表示形式是关系和元组(记录),数据库管理系统对它们的处理在计算机的内存中进行,内存中承载数据处理的平台叫做系统缓冲区,它由定长的页面组成,如图3所示。


图3 存储系统层和系统缓冲区


系统缓冲区的大小和定长页面的尺寸因各系统而异,不同的数据库管理系统,不同的操作系统和不同的计算机硬件配置会有不同大小的系统缓冲区和不同尺寸的定长页面。一般页面尺寸可能是8K byte或16K byte甚至64K byte。
关系和元组存储在页面上,如何在页面上进行存储(诸如存储的结构、格式和安排等)则是元组管理(记录管理)模块(子系统)的任务。
数据库管理系统的存储系统层的任务就是管理系统缓冲区。组成系统缓冲区的定长页面为了管理的方便可以划分成若干个组称之为段。对系统缓冲区的管理也就是对段和页面的管理。段的类型可以划分为公用的或专用的; 永久的或临时的; 其恢复是系统自动恢复还是用户去恢复,抑或是不可能恢复;其打开和关闭是由系统自动进行还是由用户显式进行,等等。对于段的操作有申请段、释放段、打开段和关闭段。对于页的操作则有申请页、释放页、读页和写页等。
系统缓冲区是一道界限,数据库管理系统对数据的处理都在这一道界限之上进行。迄今为止,它们是独立于具体的计算机硬件和操作系统的,即系统缓冲区确立了系统的设备独立性,外部设备发生变动其影响仅限于此,不会再往上传播。将系统缓冲区的内存页面存储到计算机的外存(如磁盘)上去,则必须与具体的计算机外部设备和操作系统打交道,需要利用具体的操作系统所提供的存取外存设备的设施(例如文件系统),或利用具体外存设备的设备接口。这一部分的工作依赖于具体的操作系统或具体的外部设备,已不存在设备独立性了。这一系统层的工作,可以将系统缓冲区中的数据存储到磁盘上去,也可将磁盘上的数据取到内存的系统缓冲区中来,即完成所谓的内外存交换的任务。
数据库一般是存放在磁盘中的,以上数据库管理系统的四个系统层,上下衔接,环环相扣,一以贯之,完成了数据库用户和数据库之间的交互。

74
73
25
news

版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭