大型数据库
基本信息
系统介绍
IMS是最早的大型数据库管理系统,其数据库模式是多个物理数据库记录型(PDBR)的集合。每个PDBR对应层次数据模型的一个层次模式,用一个DBD定义。各个用户所需数据的逻辑结构称为外模式,每个外模式是一组逻辑数据库记录型(LDBR)的集合。LDBR是应用程序所需的局部逻辑结构。用户按照外模式操纵数据。
数据定义
大型数据库的数据定义包括数据库模式定义和外模式定义。大型数据库的数据库模式是物理数据库记录型的集合。每个物理数据库记录型对应于层次数据模型中的一个层次模式,由一个DBD定义。物理数据库记录型到存储数据库的映射包含在这个物理数据库记录型的DBD定义中。
大型数据库的外模式是逻辑数据库记录型的集合。每个逻辑数据库记录型由一个PCB定义。一个逻辑数据库记录型到大型数据库模式的映射包含在这个逻辑数据库记录型的PCB定义中。用户是按照外模式操纵数据的。
模式定义
大型数据库的数据库模式是一组物理数据库记录型(PDBR型),每个PDBR型是由若干相关联的片段型组成的一棵层次树结构。它的一个根片段值及其后裔片段值构成了该PDBR型的一个值,即数据库记录或实例。
每个PDBR型通过一个DBD语句群定义其逻辑结构及其存储结构映像,大型数据库模式的定义是一组DBD定义的排列。在DBD定义过程中各片段型出现的次序决定了数据库各片段值的存储次序,从而会影响到某些DL/1语句的执行结果。要求这种次序与片段型在PDBR型树的层次顺序(自顶向下,自左向右)保持一致。
外模式定义
外模式是各个用户所需数据的局部逻辑结构,是应用程序的数据视图,一般地只涉及数据库的一部分,故需在PDBR型的基础上分别定义。一个数据库模式有若干外模式,允许多个应用程序共享一个外模式,但每个程序只能启动一个外模式。一个外模式是一组逻辑数据库记录型(LDBR型)的集合,记为PSB。一个LDBR型是某个PDBR型的子树,由一个PCB定义。
外模式的定义遵循如下规则:
'若外模式包含某个片断型,则必须包含其父片断型。'
下边说明一个逻辑数据库记录型是如何定义的。
(1)教学数据库的一个LDBR型
(2)LDBR型的PCB定义
用PCB定义一个逻辑数据库记录型LDBR
(1)PCBtype=DB,DBDname=TS,KEYLENGH=10
(2)SENSEGname=dept,PROCopt=G
(3)SENSEGname=course,parent=dept,procopt=all
(4)SENSEGname=student,parent=course,procopt=r
IMS的数据操纵语言是DL/1。
用户使用某种高级语言(称为宿主语言)编程,
通过嵌入DL/1语句实现对数据库的存取。
DL/1命令
GU检索某片段
GN顺序检索下一片段
GNP在当前父片段内检索下一片段
GHU同GU,为删改作准备
GHN同GN,为删改作准备
GHNP同GUP,为删改作准备
ISRT插入片段
REPL修改片段内容
DELT删除某片段及其后裔
LOAD初始加载一个片段
CHKP建立检查点
SCHD调度PSB
TERM释放PSB
IMS的存储结构
IMS提供四种存储结构:
以下各存储结构的示例均以教学数据库PDBR为模型。
1.HSAM:层次顺序访问方法,片段按层次顺序作物理邻接存储。
2.HISAM:层次索引顺序访问方法,
非根片段按层次顺序值升序邻接存储,
根片段用顺序域索引的方法组织并指向下属区域。
3.HDAM:层次直接访问方法,片段的存储采用离散分布方式,
根片段用顺序域HASH方法组织,从根片段出发用指针
按层次顺序值的顺序把物理上分散的从属片段链接起来。
4.HIDAM:层次索引直接访问方法,类似于HDAM,不同的是,
根片段采用顺序域索引技术组织,而不是HASH方法。
故是HDAM和HISAM两种方法的混合。
根片段从片段
HSAM顺序邻接顺序邻接
HISAM索引法顺序邻接
HDAMHASH法链表
HIDAM索引法链表