层次模型数据库系统是最早研制成功的数据库系统,这种数据库最成功的典型是IMS。
层次数据库背景
层次模型数据库系统是最早研制成功的数据库系统,这种数据库最成功的典型是IMS。
IMS的全称时Information Management System,由IBM公司研制成功。
IMS于1969年投入运行,最早的版本有IMS/360-1和IMS/360-2。较近的版本有IMS/VS DL/1,它是在操作系统DOS/VS(Disk Operation System/Virtual Storage)支持下运行。
IMS/VS DL/1的数据操纵语言叫DL/1(Data Language/1),是宿主型语言。它使用的宿主语言有汇编语言,PL/1,COBOL,RPG ΙΙ等。应用程序是以宿主语言为基础加上DL/1语句组成。DL/1语句实际上是宿主语言的调用语句(call语句)。每一个这样的调用语句都对应有一个用宿主编写的子程序来完成对数据库的某种操纵功能。
IMS/VS DL/1的数据描述语言是汇编语言的宏语句。
层次数据库IMS的结构
层次数据库IMS的系统结构如图1所示。
I/O区即为用户工作区,用户通过自己的应用程序来实现对数据库的各种操纵。
IMS控制程序即为数据库管理系统DBMS。
数据库描述DBD(Data Base Description)的集合是
IMS数据库的概念模式并有部分存贮结构的定义。它规定了数据库的总体逻辑结构和部分物理存贮结构。
若干个PCB(Program Comunication Block)组成一个PSB(Program Specification Block)相当于IMS数据库的外模式,它是相应于某个用户需要的局部逻辑结构,是提供给该用户的一个数据库子集的数据结构。
IMS/VS DL/1的数据库的基本数据结构是层次结构,即数据之间的联系表现为分层的树状结构。
每个实体的信息构成一个片段(segment),它是应用程序访问数据库的基本数据单位,每个片段成为树结构中的一个结点(node),各个结点之间只有纵向联系。
每个结点最多有一个比它高一级的节点,这高一级的结点叫双亲。没有双亲的结点叫根。每一个层次结构中有且仅有一个根,叫根片段。
层次结构中的每一个片段,相当于
网状数据库中的一个记录。每个片段由多个字段组成。字段相当于网状数据库中的
数据项。
数据库管理员根据需要定义一个片段的名及其中每个字段的名和数据类型(字符型、数字型等)及长度。片段的这种定义叫片段型,片段型的每一个具体取值叫片段值。
每个片段定义一个关键字段(key)用来标识片段值,它应能唯一地标识出一个片段值。
同一双亲值且同一片段型的各个片段值称为孪生片段值。显然根片段型的各片段值互为孪生。
一个根片段型及其所有从属片段型组成的一个层次结构叫一个物理数据库记录型。
根片段型的一个值及其所有从属片段值的整体为一个物理数据库记录值。
对应于同一物理数据库记录型的所有物理数据库记录值的集合称为一个物理数据库。