IMS DB – base de datos lógica

Existe una regla en la base de datos de IMS según la cual cada tipo de segmento puede tener solo un padre. Esto limita la complejidad de la base de datos física. Muchas aplicaciones DL / I requieren una estructura compleja que permita que un segmento tenga dos tipos principales. Para superar esta limitación, DL / I permite que el DBA implemente relaciones lógicas en las que un segmento puede tener padres tanto físicos como lógicos. Podemos crear relaciones adicionales en una base de datos física. La nueva estructura de datos después de que se implementa el enlace lógico se conoce como base de datos lógica.

Relación lógica

El enlace lógico tiene las siguientes propiedades:

  • Un enlace lógico es una ruta entre dos segmentos que están conectados lógicamente en lugar de físicamente.

  • Normalmente, se establece un vínculo lógico entre las bases de datos individuales. Pero la comunicación es posible entre segmentos de una base de datos específica.

La siguiente imagen muestra dos bases de datos diferentes. Uno es la base de datos de estudiantes y el otro es la base de datos de la biblioteca. Creamos un vínculo lógico entre el segmento prestado de la base de datos de estudiantes y el segmento de libros de la base de datos de la biblioteca.

std y base de datos de la biblioteca

Así es como se ve una base de datos lógica cuando crea relaciones lógicas:

Base de datos lógica

Segmento hijo lógico

Un segmento hijo lógico es la base de las relaciones lógicas. Es un segmento de datos físicos, pero para DL / I parece tener dos padres. El segmento Libros en el ejemplo anterior tiene dos segmentos principales. El segmento de libros publicados es el padre lógico y el segmento de biblioteca es el padre físico. Una aparición de un segmento hijo lógico tiene sólo una aparición de un segmento padre lógico, y una aparición de un segmento padre lógico puede tener varias ocurrencias de un segmento hijo lógico.

Gemelos lógicos

Los gemelos lógicos son apariciones de un tipo de segmento hijo lógico que están todos subordinados a una única instancia de un tipo de segmento padre lógico. DL / I hace que el segmento secundario lógico parezca un segmento secundario físico real. Esto también se conoce como segmento secundario lógico virtual.

Tipos de relaciones lógicas

El administrador de la base de datos crea relaciones lógicas entre segmentos. Para implementar un enlace lógico, el DBA debe especificarlo en DBDGEN para las bases de datos físicas involucradas. Hay tres tipos de relaciones lógicas:

  • Unidireccional
  • Virtual bidireccional
  • Físico bidireccional

Unidireccional

Una conexión lógica va de un hijo lógico a un padre lógico y no puede ser al revés.

Virtual bidireccional

Esto permite el acceso en ambas direcciones. Un hijo lógico por su estructura física y un hijo lógico virtual correspondiente pueden verse como segmentos emparejados.

Físico bidireccional

Un niño lógico es un subordinado almacenado físicamente tanto de sus padres físicos como lógicos. Para las aplicaciones, parece un niño lógico virtual bidireccional.

Consideraciones de programación

Las consideraciones de programación para usar una base de datos lógica son las siguientes:

  • Las llamadas DL / I para el acceso a la base de datos siguen siendo las mismas que para la base de datos lógica.

  • El bloque de especificación del programa indica la estructura que usamos en nuestras llamadas. En algunos casos, no podemos determinar que estamos usando una base de datos lógica.

  • Las relaciones lógicas agregan una nueva dimensión a la programación de bases de datos.

  • Debe tener cuidado al trabajar con bases de datos lógicas, ya que las dos bases de datos están integradas. Si cambia una base de datos, los mismos cambios deben reflejarse en la otra base de datos.

  • Las especificaciones del programa deben indicar qué procesamiento está permitido en la base de datos. Si se infringe una regla de procesamiento, recibirá un código de estado no vacío.

Segmento compuesto

Un segmento hijo lógico siempre comienza con la clave concatenada completa del padre objetivo. Esto se conoce como clave compuesta principal final (DPCK). Siempre debe codificar el DPCK al comienzo del área de E / S de su segmento para el hijo booleano. En una base de datos lógica, un segmento combinado establece una conexión entre segmentos que se definen en diferentes bases de datos físicas. El segmento combinado consta de las siguientes dos partes:

  • Segmento hijo lógico
  • Segmento principal objetivo

Un segmento hijo lógico consta de las dos partes siguientes:

  • Clave principal de destino concatenada (DPCK)
  • Datos de usuario de niño booleano

niño lógico

Cuando trabajamos con segmentos concatenados durante la actualización, es posible agregar o modificar datos tanto en el hijo lógico como en el padre de destino con una sola llamada. También depende de las reglas establecidas por el administrador de la base de datos para la base de datos. Coloque el DPCK en la posición correcta para insertarlo. Para reemplazar o eliminar, no cambie el DPCK o los datos del campo de secuencia en ninguna parte del segmento concatenado.

🚫