第3章 数据库系统的体系结构

上传人:汽*** 文档编号:569465441 上传时间:2024-07-29 格式:PPT 页数:55 大小:503KB
返回 下载 相关 举报
第3章 数据库系统的体系结构_第1页
第1页 / 共55页
第3章 数据库系统的体系结构_第2页
第2页 / 共55页
第3章 数据库系统的体系结构_第3页
第3页 / 共55页
第3章 数据库系统的体系结构_第4页
第4页 / 共55页
第3章 数据库系统的体系结构_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《第3章 数据库系统的体系结构》由会员分享,可在线阅读,更多相关《第3章 数据库系统的体系结构(55页珍藏版)》请在金锄头文库上搜索。

1、第3章 数据库系统的体系结构 本章主要内容本章主要讨论数据库系统的三级模式结构、DBMS、客户服务器结构、基于Web的数据库系统等内容。(1)DB的体系结构三级结构,两级映像,两级数据独立性,体系结构各个层次中记录的联系。(2)DBMSDBMS的工作模式、主要功能和模块组成。(3)DBSDBS的组成,DBA,DBS的全局结构,DBS结构的分类。数据库系统的体系结构 3.1数据库的体系结构3.2数据库系统(DBS)3.3数据库管理系统(DBMS)3.4DBMS的系统结构3.5几种典型结构的DBMS本章小结3.1 数据库的体系结构 3.1.1三级模式结构3.1.2两级映像和两级数据独立性3.1.3

2、数据库的抽象层次3.1.4数据模式与数据模型的关系3.1.1 三级模式结构用户用户A1用户用户A2用户用户B1用户用户B2用户用户N1用户用户Ni外部模式外部模式A外部模式外部模式B外部模式外部模式N概念模式概念模式内部模式内部模式数据库数据库用户的局部逻辑结构用户的局部逻辑结构数据库的整体逻辑结构数据库的整体逻辑结构数据库的物理结构数据库的物理结构外部级外部级(单个用户的视图单个用户的视图)概念级概念级(全局视图)(全局视图)内部级内部级(存储视图)(存储视图)1)概念模式(ConceptualSchema)定义:概念模式(简称模式,也称逻辑模式)是对数据库全局逻辑结构的描述,是数据库所有用

3、户的公共数据视图。概念模式描述:所有实体、实体的属性和实体间的联系。数据的约束。数据的语义信息。安全性和完整性信息。2)外部模式(ExternalSchema)定义:外部模式(也称子模式或用户模式)是用户观念下局部数据结构的逻辑描述,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述。设置外部模式有如下优点:方便用户使用,简化了用户接口。保证数据的独立性。有利于数据共享。有利于数据安全和保密。3)内部模式(InternalSchema)定义:内部模式(也称存储模式)是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示形式。定义了所有内部记录类型

4、、索引和文件的组织方式,以及所有数据控制方面的细节。内部模式与下面的工作相关:数据和索引的存储空间分配。用于存储的记录描述(数据项的存储大小)。记录放置。数据压缩和数据加密技术。数据的三级抽象术语 数据模型用数据定义语言描述的称呼DBTG报告中的称呼外部级外模型外模式子模式概念级概念模型概念模式模式内部级内模型内模式物理模式分层抽象的数据库结构(1)一个数据库的整体逻辑结构和特征的描述(概念结构)是独立于数据库其他层次结构(内外模式)的描述。(2)一个数据库的内部存储模式依赖于概念模式。存储模式独立于外部模式,也独立于具体的存储设备。(3)用户逻辑结构(外部模式)是在全局逻辑结构描述的基础上定

5、义的,它独立于内部模式和存储设备。(4)特定的应用程序是在外模式描述的逻辑结构上编写的,它依赖于特定的外模式。(5)关系数据库系统中的视图与三模式结构的外模式相对应。视图增加了用户界面的友好性。用户通过视图看到的只是他所关心的数据,可以减轻用户负担,提高数据独立性和安全性。3.1.2两级映像和两级数据独立性为了提高数据库系统中的数据独立性,数据库系统在这三级模式间提供了两层映像:外部模式概念模式映像和概念模式内部模式映像。所谓映像是一种对应规则,它指出了映像双方是如何进行转换的。外部模式外部模式A外部模式外部模式B外部模式外部模式N概念模式概念模式内部模式内部模式逻辑数据独立性逻辑数据独立性物

6、理数据独立性物理数据独立性外部模式外部模式/概念模式映像概念模式映像概念模式概念模式/内部模式映像内部模式映像1)两级映像(1)外部模式概念模式映像外部模式概念模式映像定义了各个外部模式与概念模式间的映像关系。这些映像定义通常在各自的外部模式中加以描述。(2)概念模式内部模式映像概念模式内部模式映像定义了数据库全局逻辑结构与存储结构之间的对应关系。这个映像定义通常内部模式中加以描述。2)两级数据独立性定义:数据独立性是指应用程序和数据库的数据结构之间相互独立,不受影响。数据独立性又分为: (1)逻辑数据独立性逻辑数据独立性指的是外部模式不受概念模式变化的影响。(2)物理数据独立性物理数据独立性

7、指的是概念模式不受内部模式变化的影响。数据逻辑独立性与数据物理独立性统称为数据独立性。数据库的三级体系结构3.1.3数据库的抽象层次1)物理数据库以内部模式为框架的数据库称为物理数据库。它是数据库中最里面的一个层次,是物理存储设备上实际存储着的数据集合。2)概念数据库以概念模式为框架的数据库称为概念数据库。它是数据库结构中的一个中间层次,是数据库的整体逻辑表示,它描述了每一个数据的逻辑定义及数据间的逻辑联系。3)逻辑数据库以外部模式为框架的数据库称为逻辑数据库。它是数据库结构的最外一层,是用户所看到和使用的数据库,因而也称为用户数据库或用户视图。3.1.4数据模式与数据模型的关系数据模式与数据

8、模型有着密切联系,通常概念模式和子模式是建立在一定的逻辑数据模型(如层次模型、网状模型、关系模型等)上。另一方面数据模式与数据模型在概念上是有区别的,数据模式是一个数据库的基于特定数据模型的结构定义,它是数据模型中有关数据结构及其相互关系的描述,所以仅是数据模型的一部分。由于数据模式在数据库设计中的重要性,因此将它作为一个专门术语提出。3.2 数据库系统(DBS)3.2.1DBS的组成3.2.2DBS的全局结构3.2.3DBS结构的分类3.2.1DBS的组成 DBS由数据库、数据库管理系统、应用开发工具软件和应用程序、数据库的软硬件支撑环境、数据库管理员等部分构成。1)数据库(DB)一是应用数

9、据的集合,称为物理数据库,它是数据库的主体。二是各级数据结构的描述,称为描述数据库。它们是存放在数据字典(DataDictionary)中各级模式的描述信息。关系数据库的数据字典主要包括对基表、视图的定义以及存取路径(索引、散列等)、访问权限和用于查询优化的统计数据等的描述。数据字典 (1)表示数据库文件的文件 每条记录对应一个数据库文件定义,记录了文件的名字、键属性名、文件类型等。(2)表示数据库中属性的文件 每条记录对应一个属性定义,指出该属性所在文件的文件名、数据类型、长度及取值范围、是否可为空值等。(3)视图定义文件 每条记录对应一个视图定义,有视图名、定义语句等元属性。(4)同义词文

10、件 每条记录对应一个同义词定义,指出所代表的一个数据库文件。(5)授权关系文件 每条记录对应一个数据库文件的一次授权关系定义,含有授权种类(读、写等)、授权人和被授权人等元属性。(6)索引关系文件 每条记录对应一个索引定义,记录索引对象、性质等。2)硬件这一部分主要包括CPU、内存、外存、输入输出设备等硬件设备。3)软件系统(1)数据库管理系统(DBMS)(2)支持DBMS运行的操作系统(OS)(3)具有与数据库接口的高级语言及其编译系统(4)以DBMS为核心的应用开发工具软件(5)为某种应用环境开发的数据库应用程序4)数据库管理员(简称DBA) DBA是一个组织中负责整个数据库系统的建立、管

11、理、维护、协调工作的专门人员。一个高水平的DBA小组通常由操作专家、系统分析和设计专家、应用专家、数据库管理专家、查询语言专家和数据库审计专家等组成。 DBA的主要职责有:参与数据库系统的设计与建立。 对系统的运行实行监控。 定义数据的安全性要求和完整性约束条件。 负责数据库性能的改进和数据库的重组及重构工作。 3.2.2 DBS的全局结构 终端用户终端用户 应用程序员应用程序员 专业用户专业用户 DBA应用界面应用界面应用程序应用程序查询查询数据库模式数据库模式数数据据库库管管理理系系统统( (D DB BM MS S) )用户用户界面界面磁磁盘盘存存储储器器查查询询处处理理器器存存储储管管

12、理理器器索引索引统计数据统计数据数据文件数据文件日志日志数据字典数据字典程序目标程序目标代码代码嵌入式嵌入式DML预编译器预编译器DML编译器编译器DDL编译器编译器查询运行查询运行核心程序核心程序缓冲区缓冲区管理器管理器事务事务管理器管理器权限和完整性权限和完整性管理器管理器文件文件管理器管理器3.2.3 DBS结构的分类 1)集中式DBS2)客户机服务器式DBS3)分布式DBS4)并行式DBS(ParallelDBS)1)集中式DBS 如果DBS运行在单个计算机系统中,并与其他的计算机系统没有联系,这种DBS称为集中式DBS。磁盘控制器磁盘控制器CPU打印机控制器打印机控制器磁带机控制器磁

13、带机控制器磁盘(磁盘(DB)磁带机磁带机打印机打印机内存控制器内存控制器内存内存系统总线系统总线2)客户机服务器式DBS C/S结构的关键在于功能的分布,一些功能放在前端机(即客户机)上执行,另一些功能放在后端机(即服务器)上执行。3)分布式DBS 分布式DBS(DistributedDBS,简记为DDBS)是一个用通信网络连接起来的场地(Site,也称为节点)的集合,每个场地都可以拥有集中式DBS的计算机系统。DDBS的数据具有“分布性”特点,数据在物理上分布在各个场地。这是DDBS与集中式DBS的最大区别。DDBS的数据具有“逻辑整体性”特点,分布在各地的数据逻辑上是一个整体,用户使用起来

14、如同一个集中式DBS。这是DDBS与非分布式DBS的主要区别。物理上分布,逻辑上集中4)并行式DBS(Parallel DBS) 现在数据库的数据量急剧提高,巨型数据库的容量已达到“太拉”级(1太拉为1012,记作T),此时要求事务处理速度极快,每秒达数千个事务才能胜任系统运行。集中式和C/S式DBS都不能应付这种环境。并行计算机系统能解决这个问题。并行系统使用多个CPU和多个磁盘进行并行操作,提高数据处理和I/O速度。并行处理时,许多操作同时进行,而不是采用分时的方法。在大规模并行系统中,CPU不是几个,而是数千个。即使在商用并行系统中,CPU也可达数百个。3.3 数据库管理系统数据库管理系

15、统(DBMS)3.3.1DBMS的工作模式应用程序应用程序DBMSDB数据请求数据请求数据(处理结果)数据(处理结果)低层指令低层指令数据(查询结果)数据(查询结果)DBMS的工作模式如下:(1)接受应用程序的数据请求和处理请求。(2)将用户的数据请求转换成复杂的机器代码。(3)实现对数据库的操作。(4)从对数据库的操作中接受查询结果。(5)对查询结果进行处理(格式转换)。(6)将处理结果返回给用户。用户访问数据库的示意图用户对数据库进行操作,是由DBMS把操作从应用程序带到外部级、概念级,再导向内部级,进而通过OS操纵存储器中的数据。同时,DBMS为应用程序在内存开辟一个DB的系统缓冲区,用

16、于数据的传输和格式的转换。而三级结构定义存放在数据字典中。应用程序应用程序DBMSDBDB的系统缓冲区的系统缓冲区OS外模式外模式模式模式内模式内模式数数据据字字典典 3.3.2DBMS的主要功能1)数据库定义外部模式、概念模式、内部模式及模式间映像的定义数据库完整性定义安全性定义存取路径等的定义。 2)数据库管理功能实现数据库的控制功能控制数据库的操作3)数据库的建立和维护功能数据库的建立功能数据库的维护功能 数据库的恢复功能 4)数据组织、存储和管理功能 5)通信功能 3.4 DBMS的系统结构的系统结构 3.4.1 DBMS的进程结构和多线索结构1)一个应用进程对应一个DBMS核心进程当

17、每个应用进程访问数据库时需要创建一个DBMS核心进程,并在完成应用进程所委托的访问数据库任务后撤销该核心进程。应用程序代码应用程序代码DBMSDBMS核心(函数)核心(函数)SQLSQL语句语句运行结果运行结果多个DBMS核心进程在操作系统调度下并发地执行,从而实现多个事务的并发执行。这种方式实现较容易,但存在如下缺点:进程的创建、撤销、通信和切换的开销较大;随着并发执行事务的增加,进程数目也相应增加,当需求的内存等资源受到限制时,其性能会下降。不利于事务共享内存空间。2)多线索单进程DBMS结构 在基于单进程多线索结构的DBMS中,系统只创建一个DBMS进程。在DBMS进程中,有常驻的公共服

18、务线索和根据用户的需求而创建的非常驻用户线索。DBMS的各个线索能在逻辑上并行执行,它们共存于一个进程中,共享DBMS的资源。这种多线索机制可以减少每个用户需要的系统资源,从而可以增加并发执行的用户数,提高系统的运行效率。采用多线索单进程结构的DBMS具有占用资源少,线索调度灵活,线索切换开销小、线索间通信简便等特点。因而这种DBMS具有运行效率高、消耗系统资源少等优点。数据目录数据目录锁表锁表缓冲缓冲DaemonDBMS进进程程应用进程应用进程1 1DBMS核心线程1pipe/socketSQL语句语句查询结果查询结果pipe/socket应用进程应用进程2 2DBMS核心线程2SQLSQL

19、语句语句查询结果查询结果pipe/socket应用进程应用进程n nDBMS核心线程nSQLSQL语句语句查询结果查询结果3.4.2DBMS的组成系统控制程序系统控制程序授权检查程序授权检查程序并发控制程序并发控制程序数据存取控制程序数据存取控制程序数据存储管理程序数据存储管理程序完整性控制程序完整性控制程序通信控制程序通信控制程序DML翻译程序翻译程序DML处理程序处理程序终端查询语言解释程序终端查询语言解释程序DB控制语言解释程序控制语言解释程序定义公用程序定义公用程序维护公用程序维护公用程序系统运行系统运行控制程序控制程序数数据据库库管管理理系系统统( DBMS )语言翻译语言翻译处理程

20、序处理程序公用程序公用程序模式定义公用程序模式定义公用程序子模式定义公用程序子模式定义公用程序保密定义公用程序保密定义公用程序信息格式定义公用程序信息格式定义公用程序装入程序装入程序DB重构公用程序重构公用程序DB恢复公用程序恢复公用程序统计分析公用程序统计分析公用程序信息格式维护公用程序信息格式维护公用程序工作日志公用程序工作日志公用程序转储、编辑、打印公用程序转储、编辑、打印公用程序3.4.3DBMS的层次结构 DBMS应用层应用层语言翻译处理层语言翻译处理层数据存取层数据存取层数据存储层数据存储层操作系统(操作系统(OS)数据库(数据库(DB)几种典型结构的DBMS3.5.1Client

21、/Server结构的DBMS1)Client/Server结构的DBMS的功能划分(1)方案一:基本的C/S体系结构。该方案的应用处理(包括实现用户界面等)由Client完成,数据访问和事务管理由Server完成。(2)方案二:是在Server上主要执行一些底层的操作,如封锁、页面读写,而由Client来完成查询优化和查询处理。(3)方案三:是每个Client通过对查询数据进行缓存建立其局部数据库,且在Client端都有一个功能完善的DBMS,它与Server上DBMS协同工作完成对数据库的访问。2)数据存取的工作过程1)Client端在Client端包括:应用处理逻辑、显示和数据表示及用户交

22、互界面等部分。2)Server端在Server端包括:数据存取管理、完整性控制及并发控制等部分。服务器提供查询、更新、事务管理、索引、高速缓存、查询优化、安全及多用户存取控制等服务。用户用户数据库数据库客户应用客户应用APIAPI连接软件连接软件网络协议网络协议数据库服务器软件数据库服务器软件连接软件连接软件网络协议网络协议操作系统操作系统网络网络客户机客户机服务器服务器数据存取的工作过程数据存取的工作过程3)Client/Server结构中数据库服务器的优点与网络文件服务器相比,数据库服务器的优点如下:(1)提高了应用开发生产率由于数据库服务器具有数据管理任务,客户机上的应用程序无须编写这些

23、数据管理程序,减少了软件开发量,提高了应用开发效率。(2)数据库服务器提供可靠的数据安全性用户在授权范围内使用数据库服务器和数据库中的数据。(3)数据库服务器提供了有效的方法保证数据库的可靠性(4)数据库服务器能充分利用计算机资源,降低网络开销、提供查询优化机制和并发控制功能,从而提高了整个系统的性能。(5)数据库服务器把分布处理和集中控制结合在一起,便于系统扩充。4)三层Client/Server结构客户端客户端数据库数据库数据服务器数据服务器(服务器层)(服务器层)实施企业规则的实施企业规则的中间层中间层用户使用的用户使用的前台应用程序(客户层)前台应用程序(客户层)3.5.2基于Web的

24、数据库系统1)基于Web的数据库系统的体系结构(1)在Web服务器端提供中间件来连接Web服务器和数据库服务器客户端客户端浏览器浏览器InternetWeb服务器服务器中间件中间件数据库数据库服务器服务器(2)将应用程序下载到客户端,并在客户端直接访问数据库Internet数据库数据库服务器服务器客户浏览器客户浏览器客户端应用客户端应用Java AppletActiveXJava Applet Java Applet可嵌入在WWW的页面中,作为页面的组成部分被下载,并能在Web浏览器中运行。 ActiveX ActiveX是Microsoft提出的一种标准,主要包括控件、文档、脚本以及与集成数

25、据库有关的ASP 技术和嵌入ASP的ADO 组件。2)CGI和API技术(1)公共网关接口CGICGI是Web技术中最重要的技术之一。它是外部应用程序(CGI程序)与Web服务器之间的接口标准和信息传递的规范,利用CGI程序可以从数据库中检索数据,实时地产生动态HTML文件,并能根据用户的需求输出动态信息。CGI的主要优点:简单和语言无关性但它也存在一些局限性:由于客户机和数据库服务器之间的通信是通过Web服务器实现的,当有大量的用户同时访问时,Web服务器会产生瓶颈问题。CGI应用程序不能由多个用户同时请求共享,运行效率较低。CGI应用程序缺乏持久性,服务器必须为每次访问CGI程序建立新的进

26、程或线程,且数据库连接也必须重新建立,增加了系统的开销。(2)应用编程接口API API是驻留在Web服务器中的程序代码,每次调用时在内存中运行相应的程序段,而不是像CGI那样需要重新启动新的进程,因而其运行效率高于CGI。目前主要的WebAPI:Microsoft公司的ISAPI(InternetServerAPI)Netscape公司的NSAPI(NetscapeServerAPI)Microsoft公司的ISAPI ISAPI是微软提供的一套面向Internet服务的API接口,它能实现CGI提供的全部功能,并进行了功能扩展。同时微软还提供一个Internet数据库连接器的IDC(Int

27、ernetDatabaseConnector),可用来实现对数据库的查询和更新。Web浏览器浏览器Web服务器服务器IISHttpODBC.dllODBCSQL Server OtherDriver DriverDBSQL ServerOther DBMSDBNetscape公司的NSAPI 为便于开发Netscape提供了基于API的编程接口Livewire。Livewire是一个软件包,主要包括以下几个软件:浏览器NetscapeNavagatorGold;网点管理器LiveWireSiteManager;JavaScript编译器JavaScriptCompiler;数据库访问函数库Li

28、veWireDatabaseConnectivityLibrary;数据库服务器(Informix等);报表制作工具等。3)ODBC技术采用API的应用编程技术ODBC的体系结构网络环境下基于单层驱动程序的ODBC结构基于多层驱动程序的ODBC结构(二层)基于网关机制的多层驱动程序的ODBC结构(三层结构)4)JDBC技术JDBC是执行SQL语句的JavaAPI。JDBC是“JavaDataBaseConnectivity”(JDBC数据库连接)的缩写。JDBC原来是JavaSoft公司设计的Java语言的数据库访问API。最初的Java语言本身并没有访问DB的能力,JDBC是第一个支持Jav

29、a语言的标准的数据库API。1996年夏天,Sun公司推出了JDBC工具。现在JDBC驱动程序已经被大多数主流数据库所用。JDBC由一组用Java语言编写的类与接口组成。JDBC扩充了Java的应用范围,用Java与JDBCAPI可以发布一种包含远程数据库信息的Applet(小应用程序)的WWW页面。JDBC的基本功能建立与数据库的连接发送SQL语句处理结果JDBC与CGI的比较JDBC数据库设计方法本章小结数据库的体系结构是对数据的三个抽象级别。它把数据的具体组织留给DBMS去做,用户只需抽象地处理逻辑数据,而不必关心数据在计算机中的存储,减轻了用户使用系统的负担。由于三级结构之间往往差别很

30、大,存在着两级映象,因此使DBS具有较高的数据独立性:物理数据独立性和逻辑数据独立性。数据独立性是指在某个层次上修改模式而不影响较高一层模式的能力。DBS的全局结构体现了DBS的模块功能结构。数据库系统的体系结构用户用户A1用户用户A2用户用户B1用户用户B2用户用户N1用户用户Ni外部模式外部模式A外部模式外部模式B外部模式外部模式N概念模式概念模式内部模式内部模式数据库数据库用户的局部逻辑结构用户的局部逻辑结构数据库的整体逻辑结构数据库的整体逻辑结构数据库的物理结构数据库的物理结构外部级外部级(单个用户的视图单个用户的视图)概念级概念级(全局视图)(全局视图)内部级内部级(存储视图)(存储视图)逻辑数据独立性逻辑数据独立性物理数据独立性物理数据独立性外部模式外部模式/概念模式映像概念模式映像概念模式概念模式/内部模式映像内部模式映像

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号