网状数据库系统结构(数据库)
时间:2022-11-29 12:30:01 | 来源:信息时代
时间:2022-11-29 12:30:01 来源:信息时代
网状数据库系统结构 : 网状数据库系统的结构框架。其典型的结构如图1所示,它主要包括模式、子模式、物理模式、数据操纵和网状数据库管理系统NDBMS等几个部分。
图1 网状数据库系统结构图
模式(schema):是对数据库的整个逻辑数据结构的描述,对应于数据库的概念层,模式基本上是由数据库中定义的各种记录类型,它们所包含的数据项,以及联系记录的系所构成,系是网状数据库中表示记录之间联系的手段。模式由数据库管理员(DBA)借助模式数据描述语言(schema DDL)来建立,一个模式可以导出多个子模式,代表多个用户视图,用户通过嵌在宿主语言中的数据操纵语言(DML)语句,在网状数据库管理系统(NDBMS)的控制下实现对数据库的访问。
子模式(subschema): 是对用户关心的局部数据结构的描述,对应数据库的外层或用户视图,数据库管理员或用户借助子模式数据描述语言(subschema DDL)来定义子模式。子模式数据描述语言是面向某一具体程序设计语言的(例如COBOL或PL/1),某一应用程序启用子模式后,网状数据库管理系统(NDBMS)将根据相应的子模式建立该应用程序的用户工作区(UWA)。
存储模式(storage schema): 又叫物理模式,是对数据库的存储和组织的描述,对应数据库的物理层,它将数据库的物理数据结构和逻辑数据结构分开。存储模式是由数据库管理员(DBA)使用数据存储描述语言(data storage description language,DSDL)来建立的(在1978年以前的DBTG报告中建议采用设备介质控制语言(device media control language,DMCL)),用户不必了解它,因为存储模式不会影响应用程序的执行结果,仅影响执行的效率。存储模式的定义和系统的性能有着密切联系,可通过改变数据库的存储结构达到提高系统性能的目的。影响系统性能,但又能被存储模式控制的因素有存储的选择、模式记录与存储记录之间映像的选择、系的存储结构的选择及存储记录的存放策略的选择等。
数据操纵语言(data manipulation language,DML): 是用户用来对数据库中的数据进行存放、查询和修改的语言。数据库可由多个用户和应用程序共享,数据库应用程序利用数据操纵语言(DML)实现对数据库数据的操纵,但一个应用程序必须援引某一模式的某一子模式(即所操作的数据限于某一用户视图中的数据)。DML语句可以嵌在宿主语言(如COBOL,Fortran等)中,在数据库管理系统的控制下访问数据库中的数据,并通过一个称为用户工作区(UWA)的缓冲区与数据库通信,完成对数据库的操作。
每个正在运行的应用程序都有相应的运行单位(run-unit),运行单位指的是应用程序及其数据的动态执行过程,它类似于操作系统中的进程。如果多个用户同时运行同一个程序,那么该程序对应多个运行单位。每个运行单位都有一个用户工作区(user work area,UWA),用于存放当前状态表、记录样板格式和系统通信单元等三类数据,实现应用程序和数据库系统之间的通信,其构成见图2。
当前状态 | 记采样板格式 | 系统通讯单,元 |
运行单位当前值 | R1 | I1 | … | Im | 执行信息1 |
记录型 当前值 R1 | 系型 与前值 S1 | 区域 当前值 A1 | R2 | | | | …… |
…… | 执行信息n 错误信息1 |
… | … | … | …… |
Rn | Sn | An | Rn | | | | 错误信息n |
图2 用户工作区UWA
当前状态指出记录型、系型和区域的当前值。记录型当前值是最近访问的该记录型的记录的数据库键(即逻辑地址);系型当前值是最近访问的该系型的系主记录或成员记录的数据库键; 区域当前值是最近访问的该区域中的记录的数据库键。每个运行单位只有一个记录型当前值、系型当前值和区域当前值,而且每一次成功的操作都会使相应的值发生改变。
记录样板格式相当于一个用户程序I/O区。UWA含有在子模式中定义的每个记录类型(从而也含有每一数据项类型)的存储地址。程序可以通过在子模式中定义的名字来引用这些数据项和记录的存储地址。当应用程序读一个记录时,数据库管理系统把找到的记录存放到样板空间的相应位置上。当应用程序要存储一个记录到数据库中时,首先把记录值放在样板空间中的相应位置,然后由数据库管理系统将它存入数据库。
系统通信单元是应用程序与系统的通信区,它记录了数据库管理系统对各个数据操作命令的执行情况。它包含执行信息和执行时产生的错误信息,例如,刚刚访问记录的记录型名,该记录所在的区域,出错的代码、类型以及出错时所在的系型、记录型和区域等。
网状数据库管理系统(NDBMS): 是负责执行上述这些操作并负责建立、维护和管理数据库的工具。