1 / 55

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

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

billie
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 本章主要内容   本章主要讨论数据库系统的三级模式结构、DBMS、客户/服务器结构、基于Web的数据库系统等内容。 (1)DB的体系结构 三级结构,两级映像,两级数据独立性,体系结构各个层次中记录的联系。 (2)DBMS DBMS的工作模式、主要功能和模块组成。 (3)DBS DBS的组成,DBA,DBS的全局结构,DBS结构的分类。

  3. 数据库系统的体系结构 3.1 数据库的体系结构 3.2 数据库系统(DBS) 3.3 数据库管理系统(DBMS) 3.4 DBMS的系统结构 3.5 几种典型结构的DBMS 本章小结

  4. 3.1数据库的体系结构 3.1.1 三级模式结构 3.1.2 两级映像和两级数据独立性 3.1.3 数据库的抽象层次 3.1.4 数据模式与数据模型的关系

  5. 3.1.1三级模式结构 用户N1 用户A1 用户A2 用户B2 用户B1 用户Ni … 外部级 (单个用户的视图) 外部模式B 外部模式A 外部模式N 用户的局部逻辑结构 … 概念级 (全局视图) 数据库的整体逻辑结构 概念模式 内部级 (存储视图) 数据库的物理结构 内部模式 数据库

  6. 1)概念模式(Conceptual Schema) 定义:概念模式(简称模式,也称逻辑模式)是对数据库全局逻辑结构的描述,是数据库所有用户的公共数据视图。 概念模式描述: • 所有实体、实体的属性和实体间的联系。 • 数据的约束。 • 数据的语义信息。 • 安全性和完整性信息。

  7. 2)外部模式(External Schema) 定义:外部模式(也称子模式或用户模式)是用户观念下局部数据结构的逻辑描述,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述。 设置外部模式有如下优点: • 方便用户使用,简化了用户接口。 • 保证数据的独立性。 • 有利于数据共享。 • 有利于数据安全和保密。

  8. 3)内部模式(Internal Schema) 定义:内部模式(也称存储模式)是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示形式。 定义了所有内部记录类型、索引和文件的组织方式,以及所有数据控制方面的细节。 内部模式与下面的工作相关: • 数据和索引的存储空间分配。 • 用于存储的记录描述(数据项的存储大小)。 • 记录放置。 • 数据压缩和数据加密技术。

  9. 数据的三级抽象术语

  10. 分层抽象的数据库结构 (1)一个数据库的整体逻辑结构和特征的描述(概念结构)是独立于数据库其他层次结构(内/外模式)的描述。 (2)一个数据库的内部存储模式依赖于概念模式。存储模式独立于外部模式,也独立于具体的存储设备。 (3)用户逻辑结构(外部模式)是在全局逻辑结构描述的基础上定义的,它独立于内部模式和存储设备。 (4)特定的应用程序是在外模式描述的逻辑结构上编写的,它依赖于特定的外模式。 (5)关系数据库系统中的视图与三模式结构的外模式相对应。 视图增加了用户界面的友好性。用户通过视图看到的只是他所关心的数据,可以减轻用户负担,提高数据独立性和安全性。

  11. 3.1.2 两级映像和两级数据独立性 外部模式A 外部模式N 外部模式B … 外部模式/概念模式映像 概念模式 概念模式/内部模式映像 内部模式  为了提高数据库系统中的数据独立性,数据库系统在这三级模式间提供了两层映像:外部模式/概念模式映像和概念模式/内部模式映像。  所谓映像是一种对应规则,它指出了映像双方是如何进行转换的。 逻辑数据独立性 物理数据独立性

  12. 1)两级映像 (1)外部模式/概念模式映像  外部模式/概念模式映像定义了各个外部模式与概念模式间的映像关系。  这些映像定义通常在各自的外部模式中加以描述。 (2)概念模式/内部模式映像  概念模式/内部模式映像定义了数据库全局逻辑结构与存储结构之间的对应关系。  这个映像定义通常内部模式中加以描述。

  13. 2)两级数据独立性  定义:数据独立性是指应用程序和数据库的数据结构之间相互独立,不受影响。  数据独立性又分为:  (1)逻辑数据独立性  逻辑数据独立性指的是外部模式不受概念模式变化的影响。  (2)物理数据独立性  物理数据独立性指的是概念模式不受内部模式变化的影响。  数据逻辑独立性与数据物理独立性统称为数据独立性。

  14. 数据库的三级体系结构

  15. 3.1.3 数据库的抽象层次 1)物理数据库 以内部模式为框架的数据库称为物理数据库。 它是数据库中最里面的一个层次,是物理存储设备上实际存储着的数据集合。 2)概念数据库 以概念模式为框架的数据库称为概念数据库。 它是数据库结构中的一个中间层次,是数据库的整体逻辑表示,它描述了每一个数据的逻辑定义及数据间的逻辑联系。 3)逻辑数据库 以外部模式为框架的数据库称为逻辑数据库。 它是数据库结构的最外一层,是用户所看到和使用的数据库,因而也称为用户数据库或用户视图。

  16. 3.1.4 数据模式与数据模型的关系 • 数据模式与数据模型有着密切联系,通常概念模式和子模式是建立在一定的逻辑数据模型(如层次模型、网状模型、关系模型等)上。 • 另一方面数据模式与数据模型在概念上是有区别的,数据模式是一个数据库的基于特定数据模型的结构定义,它是数据模型中有关数据结构及其相互关系的描述,所以仅是数据模型的一部分。  由于数据模式在数据库设计中的重要性,因此将它作为一个专门术语提出。

  17. 3.2数据库系统(DBS) 3.2.1 DBS的组成 3.2.2 DBS的全局结构 3.2.3 DBS结构的分类

  18. 3.2.1 DBS的组成 DBS由数据库、数据库管理系统、应用开发工具软件和应用程序、数据库的软/硬件支撑环境、数据库管理员等部分构成。 1)数据库(DB) • 一是应用数据的集合,称为物理数据库,它是数据库的主体。 • 二是各级数据结构的描述,称为描述数据库。它们是存放在数据字典(Data Dictionary)中各级模式的描述信息。  关系数据库的数据字典主要包括对基表、视图的定义以及存取路径(索引、散列等)、访问权限和用于查询优化的统计数据等的描述。

  19. 数据字典 (1)表示数据库文件的文件   每条记录对应一个数据库文件定义,记录了文件的名字、键属性名、文件类型等。 (2)表示数据库中属性的文件   每条记录对应一个属性定义,指出该属性所在文件的文件名、数据类型、长度及取值范围、是否可为空值等。 (3)视图定义文件   每条记录对应一个视图定义,有视图名、定义语句等元属性。 (4)同义词文件   每条记录对应一个同义词定义,指出所代表的一个数据库文件。 (5)授权关系文件 每条记录对应一个数据库文件的一次授权关系定义,含有授权种类(读、写等)、授权人和被授权人等元属性。 (6)索引关系文件 每条记录对应一个索引定义,记录索引对象、性质等。

  20. 2)硬件 这一部分主要包括CPU、内存、外存、输入输出设备等硬件设备。 3)软件系统 (1)数据库管理系统(DBMS) (2)支持DBMS运行的操作系统(OS) (3)具有与数据库接口的高级语言及其编译系统 (4)以DBMS为核心的应用开发工具软件 (5)为某种应用环境开发的数据库应用程序

  21. 4)数据库管理员(简称DBA) DBA是一个组织中负责整个数据库系统的建立、管理、维护、协调工作的专门人员。 一个高水平的DBA小组通常由操作专家、系统分析和设计专家、应用专家、数据库管理专家、查询语言专家和数据库审计专家等组成。 DBA的主要职责有: • 参与数据库系统的设计与建立。 • 对系统的运行实行监控。 • 定义数据的安全性要求和完整性约束条件。 • 负责数据库性能的改进和数据库的重组及重构工作。

  22. 3.2.2DBS的全局结构 用户 终端用户    应用程序员     专业用户     DBA 应用界面 应用程序 查询 数据库模式 界面 数据库管理系统(DBMS) 查询处理器   存储管理器 嵌入式DML 预编译器 DML 编译器 DDL 编译器 程序目标 代码 查询运行 核心程序 事务 管理器 缓冲区 管理器 权限和完整性 管理器 文件 管理器 磁盘存储器 索引 统计数据 数据文件 数据字典 日志

  23. 3.2.3 DBS结构的分类 1)集中式DBS 2)客户机/服务器式DBS 3)分布式DBS 4)并行式DBS(Parallel DBS)

  24. 1)集中式DBS 磁带机 磁盘(DB) 打印机 磁带机控制器 CPU 磁盘控制器 打印机控制器 系统总线 内存控制器 内存 如果DBS运行在单个计算机系统中,并与其他的计算机系统没有联系,这种DBS称为集中式DBS。

  25. 2)客户机/服务器式DBS C/S结构的关键在于功能的分布,一些功能放在前端机(即客户机)上执行,另一些功能放在后端机(即服务器)上执行。

  26. 3)分布式DBS 分布式DBS(Distributed DBS,简记为DDBS)是一个用通信网络连接起来的场地(Site,也称为节点)的集合,每个场地都可以拥有集中式DBS的计算机系统。 DDBS的数据具有“分布性”特点,数据在物理上分布在各个场地。这是DDBS与集中式DBS的最大区别。 DDBS的数据具有“逻辑整体性”特点,分布在各地的数据逻辑上是一个整体,用户使用起来如同一个集中式DBS。这是DDBS与非分布式DBS的主要区别。

  27. 物理上分布,逻辑上集中

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

  29. 3.3 数据库管理系统(DBMS) DBMS 低层指令 数据请求 DB 应用程序 数据(查询结果) 数据(处理结果)  3.3.1 DBMS的工作模式 DBMS的工作模式如下: (1)接受应用程序的数据请求和处理请求。 (2)将用户的数据请求转换成复杂的机器代码。 (3)实现对数据库的操作。 (4)从对数据库的操作中接受查询结果。 (5)对查询结果进行处理(格式转换)。 (6)将处理结果返回给用户。

  30. 用户访问数据库的示意图 数据字典 应用程序 DBMS 外模式 DB的系统缓冲区 模式 OS 内模式 DB  用户对数据库进行操作,是由DBMS把操作从应用程序带到外部级、概念级,再导向内部级,进而通过OS操纵存储器中的数据。同时,DBMS为应用程序在内存开辟一个DB的系统缓冲区,用于数据的传输和格式的转换。而三级结构定义存放在数据字典中。

  31. 3.3.2 DBMS的主要功能 1)数据库定义 • 外部模式、概念模式、内部模式及模式间映像的定义 • 数据库完整性定义 • 安全性定义 • 存取路径等的定义。 2)数据库管理功能 • 实现数据库的控制功能 • 控制数据库的操作 3)数据库的建立和维护功能 • 数据库的建立功能 • 数据库的维护功能 • 数据库的恢复功能 4)数据组织、存储和管理功能 5)通信功能

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

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

  34. 3.4.2 DBMS的组成 系统控制程序 装入程序 授权检查程序 DB重构公用程序 并发控制程序 DB恢复公用程序 系统运行 控制程序 统计分析公用程序 数据存取控制程序 信息格式维护公用程序 数据存储管理程序 完整性控制程序 工作日志公用程序 数据库管理系统(DBMS) 转储、编辑、打印公用程序 通信控制程序 模式定义公用程序 DML翻译程序 子模式定义公用程序 DML处理程序 语言翻译 处理程序 保密定义公用程序 终端查询语言解释程序 信息格式定义公用程序 DB控制语言解释程序 定义公用程序 公用程序 维护公用程序

  35. 3.4.3 DBMS的层次结构 DBMS 应用层 语言翻译处理层 数据存取层 数据存储层 操作系统(OS) 数据库(DB)

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

  37. 2) 数据存取的工作过程 用户 客户应用 客户机 API 连接软件 网络协议 网络 网络协议 连接软件 数据库服务器软件 服务器 操作系统 数据库 数据存取的工作过程 1)Client端 在Client端包括:应用处理逻辑、显示和数据表示及用户交互界面等部分。 2)Server端 在Server端包括:数据存取管理、完整性控制及并发控制等部分。 服务器提供查询、更新、事务管理、索引、高速缓存、查询优化、安全及多用户存取控制等服务。

  38. 3) Client/Server结构中数据库服务器的优点 与网络文件服务器相比,数据库服务器的优点如下: (1)提高了应用开发生产率 由于数据库服务器具有数据管理任务,客户机上的应用程序无须编写这些数据管理程序,减少了软件开发量,提高了应用开发效率。 (2)数据库服务器提供可靠的数据安全性 用户在授权范围内使用数据库服务器和数据库中的数据。 (3)数据库服务器提供了有效的方法保证数据库的可靠性 (4)数据库服务器能充分利用计算机资源,降低网络开销、提供查询优化机制和并发控制功能,从而提高了整个系统的性能。 (5)数据库服务器把分布处理和集中控制结合在一起,便于系统扩充。

  39. 4)三层Client/Server结构 数据库 数据服务器 (服务器层) 实施企业规则的 中间层 客户端 … 用户使用的 前台应用程序(客户层)

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

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

  42. (2)应用编程接口API API是驻留在Web服务器中的程序代码,每次调用时在内存中运行相应的程序段,而不是像CGI那样需要重新启动新的进程,因而其运行效率高于CGI。 目前主要的Web API: • Microsoft公司的ISAPI (Internet Server API) • Netscape公司的NSAPI (Netscape Server API)

  43. Microsoft公司的ISAPI Web浏览器 Web服务器IIS HttpODBC.dll ODBC SQL Server Other Driver Driver DB DB Other DBMS SQL Server ISAPI是微软提供的一套面向Internet服务的API接口,它能实现CGI提供的全部功能,并进行了功能扩展。 同时微软还提供一个Internet数据库连接器的IDC(Internet Database Connector),可用来实现对数据库的查询和更新。

  44. Netscape公司的NSAPI 为便于开发Netscape提供了基于API的编程接口Livewire。Livewire是一个软件包,主要包括以下几个软件: • 浏览器Netscape Navagator Gold; • 网点管理器LiveWire Site Manager; • Java Script编译器Java Script Compiler; • 数据库访问函数库LiveWire Database Connectivity Library; • 数据库服务器(Informix等) ; • 报表制作工具等。

  45. 3)ODBC技术 采用API的应用编程技术

  46. ODBC的体系结构

  47. 网络环境下基于单层驱动程序的ODBC结构

  48. 基于多层驱动程序的ODBC结构(二层)

  49. 基于网关机制的多层驱动程序的ODBC结构(三层结构)基于网关机制的多层驱动程序的ODBC结构(三层结构)

  50. 4)JDBC技术 • JDBC是执行SQL语句的Java API。JDBC是“Java DataBase Connectivity”(JDBC数据库连接 )的缩写。JDBC原来是Java Soft公司设计的Java语言的数据库访问API。最初的Java语言本身并没有访问DB的能力,JDBC是第一个支持Java语言的标准的数据库API。1996年夏天,Sun公司推出了JDBC工具。现在JDBC驱动程序已经被大多数主流数据库所用。 • JDBC由一组用Java语言编写的类与接口组成。 • JDBC扩充了Java的应用范围,用Java与JDBC API可以发布一种包含远程数据库信息的Applet(小应用程序)的WWW页面。

More Related