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.
Para crear un índice externo a partir de una base de datos concatenada, siga estos pasos:
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.
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)
EXTERNAL INDEX or 4
NEW ADD
En este ejemplo, suponga que está creando una nueva base de datos de índices y responda introduciendo:
NEW
EMPIDX
EMPLOYEE
CURR_JOBCODE
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.
Tenga en cuenta lo siguiente a la hora de trabajar con índices externos:
(FOC995) ERROR. EXTERNAL INDEX DUPLICATE COMPONENT: fn REBUILD ABORTED
MODIFY FILE filename.indexfld
bytes = (field_length + 20) * number_of_occurrences
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
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.
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.
USE [ADD|REPLACE] database_name [AS mastername] index_database_name [WITH|INDEX] mastername . . . END
donde:
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.
Sustituye a un database_name existente de la lista USE.
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.
Se utiliza con un archivo máster para concatenar los orígenes de datos.
Especifica el archivo máster.
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.
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 |