📝 IMS数据库教程
19篇技术文档📅  最后修改于: 2020-11-27 05:13:43        🧑  作者: Mango
IMS代表信息管理系统。 IMS由IBM与Rockwell和Caterpillar于1966年共同开发,用于阿波罗计划,该计划将一个人送上月球。它引发了数据库管理系统的革命,并仍在不断发展以满足数据处理要求。 IMS提供了一个易于使用,可靠且标准的环境来执行高性能事务。像COBOL这样的高级编程语言使用IMS数据库来按层次结构存储数据并对其进行访问。本教程是为有兴趣从头开始理解IMS数据库概念的软...
📅  最后修改于: 2020-11-27 05:14:06        🧑  作者: Mango
简要概述数据库是相关数据项的集合。这些数据项以提供快速和轻松访问的方式进行组织和存储。 IMS数据库是一个层次数据库,其中数据存储在不同级别,并且每个实体都依赖于更高级别的实体。下图显示了使用IMS的应用程序系统上的物理元素。数据库管理数据库管理系统是一组应用程序,用于存储,访问和管理数据库中的数据。 IMS数据库管理系统维护完整性,并通过易于检索的方式组织数据,从而允许快速恢复数据。 IMS借助...
📅  最后修改于: 2020-11-27 05:14:33        🧑  作者: Mango
层次结构IMS数据库是容纳物理文件的数据的集合。在分层数据库中,最顶层包含有关实体的常规信息。当我们从层次结构的最高层移至最低层时,我们将获得有关实体的越来越多的信息。层次结构中的每个级别均包含细分。在标准文件中,很难实现层次结构,但是DL / I支持层次结构。下图描述了IMS DB的结构。分割注意事项-通过将相似数据分组在一起来创建一个细分。它是在任何输入输出操作期间DL / I往返于应用程序的...
📅  最后修改于: 2020-11-27 05:15:03        🧑  作者: Mango
分层数据库处理两个或多个段之间的关系。下例显示了IMS数据库结构中各个段如何相互关联。根段注意事项-位于层次结构顶部的段称为根段。根段是访问所有相关段的唯一段。根段是数据库中唯一从未成为子段的段。IMS数据库结构中只能有一个根段。例如,在上面的示例中,“ A”是根段。父段注意事项-父细分在其正下方具有一个或多个从属细分。例如,在上面的示例中,“ A”,“ B”和“ E”是父段。相关段注意事项-除根...
📅  最后修改于: 2020-11-27 05:15:32        🧑  作者: Mango
IMS DB在不同级别存储数据。通过从应用程序发出DL / I调用来检索和插入数据。在接下来的章节中,我们将详细讨论DL / I呼叫。数据可以通过以下两种方式处理-顺序处理随机处理顺序处理当从数据库中顺序检索分段时,DL / I遵循预定义的模式。让我们了解IMS DB的顺序处理。以下列出的是有关顺序处理的注意事项-用于访问DL / I中数据的预定义模式首先是在层次结构中,然后是从左到右。首先检索根...
📅  最后修改于: 2020-11-27 05:16:19        🧑  作者: Mango
IMS控制块定义了IMS数据库的结构以及程序对其的访问。下图显示了IMS控制块的结构。DL / I使用以下三种类型的控制块-数据库描述符(DBD)程序规范块(PSB)访问控制块(ACB)数据库描述符(DBD)注意事项-一旦定义了所有段,DBD将描述数据库的完整物理结构。在安装DL / I数据库时,必须创建一个DBD,因为它是访问IMS数据库所必需的。应用程序可以使用DBD的不同视图。它们被称为应用...
📅  最后修改于: 2020-11-27 05:16:44        🧑  作者: Mango
包含DL / I调用的应用程序无法直接执行。相反,需要使用JCL来触发IMS DL / I批处理模块。 IMS中的批处理初始化模块是DFSRRC00。应用程序和DL / I模块一起执行。下图显示了包含访问数据库的DL / I调用的应用程序的结构。应用程序通过以下程序元素与IMS DL / I模块接口-ENTRY语句指定程序使用PCB。PCB掩模与预先构造的PCB中保存的信息相关,后者从IMS接收返...
📅  最后修改于: 2020-11-27 05:17:23        🧑  作者: Mango
我们将DL / I调用包含在COBOL应用程序内部以与IMS数据库进行通信。我们在COBOL程序中使用以下DL / I语句访问数据库-入境声明回溯声明通话声明入境声明它用于将控制从DL / I传递到COBOL程序。这是entry语句的语法-上面的语句编码在COBOL程序的过程部中。让我们进入COBOL程序中entry语句的细节-批初始化模块触发应用程序,并在其控制下执行。DL / I加载所需的控制...
📅  最后修改于: 2020-11-27 05:18:19        🧑  作者: Mango
DL / I函数是在DL / I调用中使用的第一个参数。此函数通过IMS DL / I调用告诉将在IMS数据库上执行哪个操作。 DL / I函数的语法如下-此语法表示以下关键点-对于此参数,我们可以提供任何四个字符的名称作为存储字段以存储函数代码。DL / I函数参数编码在COBOL程序的工作存储部分中。为了指定DL / I函数,程序员需要在DL / I调用中编码05级数据名称之一,例如DLI-G...
📅  最后修改于: 2020-11-27 05:18:56        🧑  作者: Mango
PCB代表程序通信块。 PCB屏蔽是DL / I调用中使用的第二个参数。它在链接部分中声明。下面给出的是PCB Mask的语法-这是要注意的关键点-对于每个数据库,DL / I维护一个存储区域,称为程序通信块。它存储有关在应用程序内部访问的数据库的信息。ENTRY语句在“链接”部分中的PCB掩模与程序的PSB中的PCB之间创建连接。 DL / I呼叫中使用的PCB掩模告知要使用哪个数据库进行操作。...
📅  最后修改于: 2020-11-27 05:19:34        🧑  作者: Mango
SSA代表细分搜索参数。 SSA用于标识正在访问的段出现。它是一个可选参数。我们可以根据要求包括任意数量的SSA。 SSA有两种类型-不合格的SSA合格的SSA不合格的SSA不合格的SSA提供呼叫中正在使用的段的名称。下面给出的是不合格的SSA的语法-不合格的SSA的要点如下-基本的不合格SSA为9个字节长。前8个字节保存要用于处理的段名称。最后一个字节始终包含空格。DL / I使用最后一个字节来...
📅  最后修改于: 2020-11-27 05:20:42        🧑  作者: Mango
IMS DL / I调用中使用的各种数据检索方法如下-GU电话GN通话使用命令代码多重处理让我们考虑以下IMS数据库结构,以了解数据检索函数调用-GU电话GU通话的基本原理如下-GU呼叫称为“获取唯一呼叫”。它用于随机处理。如果应用程序没有定期更新数据库或数据库更新次数较少,那么我们将使用随机处理。GU调用用于将指针放置在特定位置以进行进一步的顺序检索。GU调用独立于先前调用建立的指针位置。GU呼...
📅  最后修改于: 2020-11-27 05:21:25        🧑  作者: Mango
IMS DL / I调用中使用的不同数据处理方法如下-ISRT电话接听保持呼叫REPL电话拨打电话让我们考虑以下IMS数据库结构,以了解数据操作函数调用-ISRT电话注意事项-ISRT调用称为“插入”调用,用于将片段出现添加到数据库中。ISRT调用用于加载新数据库。当细分描述字段中加载了数据时,我们发出ISRT调用。必须在调用中指定不合格或合格的SSA,以便DL / I知道将段出现的位置。我们可以...
📅  最后修改于: 2020-11-27 05:22:08        🧑  作者: Mango
当我们要访问数据库而不使用完整的串联键时,或者当我们不想使用序列主字段时,将使用辅助索引。索引指针段DL / I将指向索引数据库段的指针存储在单独的数据库中。索引指针段是二级索引的唯一类型。它由两部分组成-前缀元素数据元素前缀元素索引指针段的前缀部分包含指向索引目标段的指针。索引目标段是可使用二级索引访问的段。数据元素数据元素包含来自建立索引的索引数据库中的段的键值。这也称为索引源段。以下是有关二...
📅  最后修改于: 2020-11-27 05:22:55        🧑  作者: Mango
IMS数据库有一个规则,即每个段类型只能有一个父级。这限制了物理数据库的复杂性。许多DL / I应用程序需要一个复杂的结构,该结构允许一个段具有两个父段类型。为了克服此限制,DL / I允许DBA实现逻辑关系,其中段可以同时具有物理和逻辑父级。我们可以在一个物理数据库中创建其他关系。实现逻辑关系后的新数据结构称为逻辑数据库。逻辑关系逻辑关系具有以下属性-逻辑关系是在逻辑上而非物理上相关的两个段之间...