Cómo crear un índice externo: Subcomando EXTERNAL INDEX

En esta sección:

Cómo:

Referencia:

Los usuarios con acceso READ a un origen de datos de FOCUS, pueden crear una base de datos de índices que facilite la recuperación indexada al unir o localizar registros. Los índices externos son orígenes de datos de FOCUS, que contienen información sobre los índices, campos y segmentos de uno o varios orígenes de datos de FOCUS. El índice externo es independiente del origen de datos de FOCUS, asociado. Los índices externos ofrecen un rendimiento equivalente al de los índices permanentes, en operaciones de recuperación y análisis.

Los índices externos permiten la indexación de orígenes de datos de FOCUS, concatenados, de campos reales o definidos, y la de registros seleccionados en pruebas WHERE/IF. Los índices externos se crean como conjuntos de datos temporales, a menos que se hayan asignado previamente a un conjunto permanente. No se actualizan según van cambiando los datos indexados.

Puede crear un índice externo con el comando REBUILD. Internamente, REBUILD inicia un proceso de lectura de las bases de datos que componen el índice, recopila la información de éste y crea una base de datos de índices con toda la información sobre los campos, formatos, segmentos y ubicaciones.

Proporcione información sobre:

Las librerías de clasificación y el área de trabajo deben estar disponibles. REBUILD asigna el área de trabajo por defecto en z/OS, si aún no lo ha hecho. Los DDNAMEs SORTIN y SORTOUT deben asignarse antes de emitir un REBUILD.


Principio de página

x
Procedimiento: Cómo Usar el subcomando EXTERNAL INDEX

Para crear un índice externo a partir de una base de datos concatenada, siga estos pasos:

  1. Suponga que tiene establecido el siguiente USE:
    USE CLEAR *
    USE
    EMPLOYEE
    EMP2 AS EMPLOYEE
    JOBFILE
    EDUCFILE
    END

    Observe que EMPLOYEE y EMP2 están concatenados y que se pueden describir con el archivo máster EMPLOYEE.

  2. Inicie el recurso REBUILD introduciendo:
    REBUILD

    Están disponibles las siguientes opciones:

    1. REBUILD        (Optimize the database structure)
    2. REORG          (Alter the database structure)
    3. INDEX          (Build/modify the database index)
    4. EXTERNAL INDEX (Build/modify an external index database)
    5. CHECK          (Check the database structure)
    6. TIMESTAMP      (Change the database timestamp)
    7. DATE NEW       (Convert old date formats to smartdate formats)
    8. MDINDEX        (Build/modify a multidimensional index)
  3. Seleccione el subcomando EXTERNAL INDEX introduciendo:
    EXTERNAL INDEX or 4
  4. Especifique si desea crear un nuevo origen de datos de índice o añadir uno existente, introduciendo una de estas opciones:
    NEW
    ADD

    En este ejemplo, suponga que está creando una nueva base de datos de índices y responda introduciendo:

    NEW
  5. Especifique el nombre de la base de datos del índice externo:
    EMPIDX
  6. Especifique el nombre del origen de datos desde el que va a obtener los registros del índice:
    EMPLOYEE
  7. Especifique el nombre del campo que va a indexar:
    CURR_JOBCODE
  8. Especifique si el índice va a quedar asociado a un campo determinado, introduciendo YES o NO. En este ejemplo, introduzca:
    NO
  9. Indique si va a necesitar alguna prueba de selección de registros, introduciendo YES o NO.

    En este ejemplo, introduzca:

    NO

    Si ha respondido YES, introduzca las pruebas de selección de registros y finalícelas con el comando END, en una línea separada.

    Por ejemplo:

    IF DEPARTMENT EQ 'MIS'
    END

Las estadísticas (salida de la consulta ? FDT) del origen de datos del índice aparecerán cuando termine el procedimiento REBUILD EXTERNAL INDEX. Esta consulta se emite automáticamente al final del proceso REBUILD EXTERNAL INDEX, para validar el contenido de la base de datos del índice.


Principio de página

x
Referencia: Consideraciones especiales sobre REBUILD EXTERNAL INDEX

Tenga en cuenta lo siguiente a la hora de trabajar con índices externos:


Principio de página

x
Cómo concatenar bases de datos

La característica de índices externos permite la recuperación indexada a partir de orígenes de datos de FOCUS, concatenados. Si quiere concatenar las bases de datos que forman el índice, emita el comando USE correspondiente antes que REBUILD. USE debe incluir todos los archivos LOCATION y de referencia cruzada. REBUILD EXTERNAL INDEX presenta una función que permite añadir únicamente los registros indexados nuevos de una base de datos concatenada a la base de datos de índices, eliminando la necesidad de volver a crear ésta última.

Al añadir registros de un índice, el origen de datos original con que se construyó el índice, no puede encontrarse en la lista USE. Si lo está, REBUILD EXTERNAL INDEX genera el siguiente mensaje:

(FOC999) WARNING. EXTERNAL INDEX COMPONENT REUSED: ddname

Principio de página

x
Cómo posicionar los campos indexados

La característica de índices externos, además de mejorar la velocidad de recuperación, es útil para la recuperación posicionada de valores indexados para campos definidos en un segmento determinado. Al realizar la inserción en un segmento inferior de la jerarquía, se ven afectados los datos recuperados para el campo indexado, ya que éste se encuentra asociado a datos que están fuera de su segmento de . Esto permite establecer una relación entre el segmento de origen y el de destino. El segmento de origen está definido como el segmento que contiene el campo indexado. El segmento de destino está definido como cualquier segmento situado encima o debajo del segmento de origen que esté en su ruta.

Si el segmento de destino no está en la misma ruta, aparece el siguiente mensaje:

(FOC974) EXTERNAL INDEX ERROR. INVALID TARGET SEGMENT

No se puede colocar un campo definido en un segmento más alto.

Mientras que el segmento de origen puede ser de tipo referencia cruzada o LOCATION, el de destino no puede ser del primer tipo. Si intenta colocar el destino en un segmento de referencia cruzada, aparece el siguiente mensaje:

(FOC1000) INVALID USE OF CROSS REFERENCE FIELD

Si decide no asociar su índice a un campo determinado, el segmento de origen y el de destino serán iguales.


Principio de página

x
Cómo activar un índice externo

Cómo:

Después de construir una base de datos de índices externos, debe asociarla a los orígenes de datos en que está basada. Esto se hace con el comando USE. La sintaxis es la misma que la utilizada al emitir USE antes de construir la base de datos del índice externo, con la excepción de que las opciones WITH e INDEX son obligatorias.



x
Sintaxis: Cómo Activar un índice externo
USE  [ADD|REPLACE] 
database_name [AS mastername] 
index_database_name  [WITH|INDEX]  mastername 
   .
   .
   .
END

donde:

ADD

Añade una o varias bases de datos a la lista USE actual. Sin la opción ADD, se limpia la lista USE, que queda reemplazada por la lista actual de bases de datos de USE.

REPLACE

Sustituye a un database_name existente de la lista USE.

database_name

Es el nombre del origen de datos.

En z/OS, introduzca el ddname.

En UNIX, Windows y OpenVMS, introduzca filename. El origen de datos que se va a reconstruir aparece citado en un comando USE. Si no hay ningún comando USE en vigor, el origen de datos se buscará utilizando la variable EDAPATH.

Debe incluir el nombre de un origen de datos, en la lista USE, por cada archivo de referencia cruzada o LOCATION que aparezca en el archivo máster.

AS

Se utiliza con un archivo máster para concatenar los orígenes de datos.

mastername

Especifica el archivo máster.

index_database_name

Es el nombre de la base de datos del índice externo.

En z/OS, introduzca el ddname.

En UNIX, Windows y OpenVMS, introduzca [pathname]filename.foc. El origen de datos que se va a reconstruir aparece citado en un comando USE. Si no hay ningún comando USE en vigor, el origen de datos se buscará utilizando la variable EDAPATH.

WITH|INDEX

Es una palabra clave, que establece la relación entre los orígenes de datos de componentes y la base de datos de índices. INDEX es sinónimo de WITH.


WebFOCUS