4D v16.3

Crear y modificar índices

Inicio

 
4D v16.3
Crear y modificar índices

Crear y modificar índices  


 

 

Puede asociar índices a los campos que utilice frecuentemente para efectuar las búsquedas y ordenaciones. Por ejemplo, puede indexar un campo que almacene los apellidos, empresas, o nombres de productos si planea efectuar búsquedas de registros particulares u ordenar los registros con ayuda de estos campos. También puede utilizar esta propiedad para los campos que establecen relaciones entre las tablas. Para mayor información, consulte la sección Crear y modificar relaciones.

Cuando un índice se asocia a un campo, 4D crea una tabla de índices para el campo. Esta tabla permite a 4D realizar rápidamente búsquedas y ordenaciones en el campo. Cuando realiza búsquedas u ordenaciones en un campo no indexado, 4D explora secuencialmente los datos y examina cada registro. La indexación permite a 4D evitar buscar en todos los registros.

Puede indexar los campos de tipo Alfa, Texto, Fecha, Hora, Booleano, Entero, Entero largo, Entero 64 bits, Real, Flotante, Imagen y Objeto. Cuando añade y borra registros, 4D actualiza automáticamente su tabla de índices. Si crea un índice para un campo que ya existe, 4D indexa automáticamente los datos existentes. Puede definir tantos campos indexados como quiera. Los índices también se recrean durante operaciones específicas como la conversión de bases antiguas o la compactación de datos.

Cada tabla de índice puede contener hasta:

  • 128 mil millones de llaves para índices de tipo Alfa, Texto y Flotante;
  • 256 mil millones de llaves para otros tipos de índices (datos escalares).

No indexe todos los campos. Un índice aumenta el tamaño de la base, al utilizar más espacio en el disco. Una indexación excesiva puede aumentar el tiempo necesario para guardar un registro ya que 4D actualiza las tablas de índices con cada validación de registros.

Los campos indexados se muestran en caracteres en negrita en editor de estructura.

4D propone diferentes tipos de índices. La elección de un tipo de índice se efectúa en función del resultado esperado y del tipo de dato presente en el campo. Hay tres tipos principales de índices:

  • Índices estándar: estos índices monocampo permiten acelerar las operaciones habituales de la base de datos (búsqueda y ordenaciones). 4D permite elegir la arquitectura interna de este tipo de índice (excepto para los campos objeto): Árbol- B o Árbol-B agrupado.
  • índices compuestos: este índice almacena conjuntamente el valor de dos o más campos que con frecuencia se buscan juntos, por ejemplo Apellido+
    Nombre.
  • índices de palabras claves: estos índices están disponibles únicamente para los campos de tipo Alfa, Texto e Imagen. Están diseñados para facilitar las búsquedas rápidas en textos o en el caso de las imágenes, entre las palabras claves asociadas a las imágenes.

Un índice estándar está diseñado para acelerar las operaciones de la base de datos (un índice estándar hace referencia a un índice genérico, contrario a un índices de palabras claves o a un índice compuesto). 4D ofrece dos tipos de arquitecturas para los índices estándar: Árbol-B y Árbol-B agrupado.

  • Árbol-B: índice de tipo B-Tree clásico. Este tipo de índice multipropósito responde a la mayoría de las necesidades de indexación.
  • Árbol-B agrupado: índice de tipo B-Tree utilizando los clusters. Esta arquitectura es más eficiente cuando el índice no contiene un gran número de llaves, es decir, cuando los mismos valores ocurren frecuentemente en los datos.

Nota: un índice B-Tree asociado a un campo de tipo texto almacena como máximo los primeros 1024 caracteres del campo (máximo). Por lo tanto en este contexto, las búsquedas en las cadenas que contienen más de 1024 caracteres fallarán.

Cuando elije la arquitectura del índice, 4D también propone la opción Automática. En este caso, 4D selecciona automáticamente la arquitectura en función de la naturaleza de los datos.
La opción Automática es la única opción disponible para los campos de tipo de objeto. De hecho, en este caso, todas las rutas atributo se indexan automáticamente.

Los índices compuestos almacenan el valor conjunto de dos o más campos para cada entrada. El ejemplo clásico es un índice compuesto basado en los campos Nombre+Apellido. La búsqueda de “Pedro Casas” se optimizará en comparación con una búsqueda estándar (búsqueda de “Casas” y luego búsqueda de “Pedro”).

4D toma ventaja automáticamente de los índices compuestos durante las búsquedas y ordenaciones. Por ejemplo, si existe un índice compuesto “Ciudad+CódigoPostal”, se utilizará en el caso de una búsqueda del tipo apellido=martinez y ciudad=nueva york y CodigoPostal =102@.
En el editor de estructura, las creación de los índices compuestos se efectúa vía la caja de diálogo de creación de índices. Para una descripción detallada de esta caja de diálogo, consulte la sección “Crear un índice”.

Los campos Alfa, Texto e Imagen pueden tener un tipo de índice especifico: palabras claves.

  • Cuando asocia este tipo de índice con  un campo Alfa o Texto, los textos almacenados en el campo serán indexados palabra por palabra. Todas las palabras se indexarán incluso si tienen sólo 1 ó 2 caracteres.  Este tipo de índice permite acelerar drásticamente las búsquedas posteriores por palabras claves en campos de tipo texto.
    Es posible asociar a la vez un índice estándar y un índice de palabras claves a los campos Alfa y a los campos Texto (cuando se almacena con los registros). 4D utilizará el índice apropiado en función del contexto.
  • Cuando asocia este tipo de índice a un campo Imagen, las búsquedas entre las palabras claves asociadas a las imágenes (meta datos) se aceleran de manera significativa. Atención: los índices de palabras claves de imágenes se basan exclusivamente en los meta datos de tipo IPTC/Keywords. Estos tipos de meta datos están soportados en particular por los formatos TIFF y JPEG (note que BMP, PNG y GIF no los soporta). Otros tipos de meta datos no son soportados por la indexación.
    La  actualización de los índices de palabras de imágenes es efectuada automáticamente por 4D cada vez que se guarda el campo Imagen (creación o modificación del registro, importación de datos, etc.). Los meta datos de tipo IPTC/Keywords son indexados automáticamente por 4D cuando están presentes en la imagen (no es necesario llamar al comando SET PICTURE METADATA para incluirlo en el índice del campo imagen).

Puede utilizar el comando DISTINCT VALUES para obtener la lista de palabras claves contenidas en un índice de palabras claves.

Utilice los índices de palabras claves texto o imagen con ayuda del operador %: este operador debe ubicarse en las fórmulas de búsqueda o de ordenación para para utilizar específicamente un valor de índice. Por ejemplo:

 QUERY([IMAGENES];[IMAGENES]Fotos%"gatos")
  // busca las fotos asociadas a la palabra clave gatos

Esto funciona de la misma forma para todos los comandos de búsqueda y ordenación: QUERY BY FORMULA, QUERY SELECTION, ORDER BY, etc.
Para mayor información sobre el operador % y las búsquedas por palabras claves, consulte la sección Operadores de comparación en el manual Lenguaje de 4D.

El botón de la barra de herramientas del editor de estructura muestra la ventana de la Lista de índices. Esta ventana muestra la lista y las propiedades de todos los índices de la estructura, sin importar el tipo:

La lista de índices permite visualizar las principales propiedades de los índices:

  • Tipo: tipo de índice. Cada tipo de índice (Árbol-B, Árbol-B agrupado, palabras claves) se representa con un icono diferente. Es posible modificar el tipo de índice haciendo clic en el triángulo inverso y seleccionando un valor diferente en el menú pop-up.
  • Descripción: tabla y campos del índice. Para un índice compuesto, esta lista contiene todos los campos del índice.   
  • Nombre: nombre del índice. Esta propiedad es utilizada particularmente en los comandos del lenguaje. Puede cambiar o añadir un nombre de índice haciendo doble clic en esta área.

El botón muestra la caja de diálogo de configuración del índice.
El botón borra el índice seleccionado (aparece una caja de diálogo de confirmación). Este botón puede utilizarse particularmente para borrar los índices compuestos.
Dos comandos adicionales son accesibles vía el menú asociado al botón de herramientas (disponible cuando un índice se selecciona):

  • Modificar: muestra las propiedades del índice seleccionado en la caja de diálogo de configuración del índice (ver el siguiente párrafo). Este comando tiene el mismo efecto que un doble clic en una línea de la lista (excepto para el área de nombre).
  • Reconstruir: permite borrar y reconstruir el índice seleccionado. Cuando selecciona este comando aparece una caja de diálogo de confirmación.

La manera de crear un índice depende de su tipo. Adicionalmente, usted puede elegir crear un índice directamente o por medio de la caja de diálogo de creación de índices.

Para crear directamente un índice estándar:

  1. Seleccione un campo luego seleccione un valor en el menú “Índice” de la paleta del Inspector.
    O
    Haga clic derecho en el campo luego seleccione un valor en el submenú Índice> del menú contextual.
    Hay cuatro opciones disponibles (excepto campo de tipo Objeto):
    • Árbol-B: crea un índice de tipo árbol-B clásico.
    • Árbol-B agrupado: crea un índice de tipo árbol-B utilizando clusters.
    • Automático: 4D selecciona la arquitectura en función de los datos.
    • Ninguno: ningún índice o eliminación del índice existente.

Para crear directamente un índice de palabras claves:

  1. Seleccione un campo Alfa, Texto o Imagen luego seleccione la opción “Índice de palabras claves” en el Inspector de campo.

    O
    Haga clic derecho en un campo luego seleccione Palabras claves en el submenú índice> del menú contextual.

Para crear un índice compuesto o todo tipo de índice utilizando la caja de diálogo de creación de índices:

  1. Seleccione la opción Nuevo índice en el menú contextual de la tabla o Indice en el menú de adición de objetos de la barra de herramientas del editor.
    O
    Seleccione varios campos mientras presiona el botón Ctrl (Windows) o Command (OS X) luego haga clic derecho en uno de los campos y seleccione Nuevo índice en el menú contextual.
    Aparece la caja de diálogo de configuración de índices, la cual contiene los siguientes elementos:

    • Tabla: lista todas las tablas de la base. Elija en este menú la tabla a la cual pertenecerá el índice.
    • Nombre: área de entrada del nombre del índice. Este nombre es utilizado por los comandos del lenguaje de 4D.
    • Tipo: menú de selección del tipo de índice a crear . Si conserva la opción “Automática”, 4D elegirá automáticamente el tipo de índice en función del contenido del campo.
    • Lista de campos: esta área se utiliza para especificar el(los) campo(s) asociados al índice. Puede contener un campo por defecto dependiendo de la selección actual en el editor.

Para añadir un campo al índice, haga clic en el botón . La lista de campos de la tabla seleccionada se muestra de manera que pueda indicar el campo a añadir al índice.

  • Si quiere crear un índice compuesto, añada cada campo a incluir en el índice. Una vez la lista esté completa, puede reorganizar los campos utilizando los botones de flecha o utilizando arrastrar y soltar.
  • Si crea un índice compuesto basado en los campos de la llave primaria, asegúrese de poner los campos en el mismo orden en la llave primaria y en el índice.
  • Si eligió el tipo “Índice de palabras claves”, sólo los campos Alfa o Texto pueden ser seleccionados. En este caso, usted no puede incluir un solo campo en el índice.

Para borrar un campo del índice, selecciónelo y haga clic en el botón .
Una vez configurado el índice, haga clic en Aceptar para generar el índice.

Usted puede borrar en cualquier momento un índice que ya no le sea útil. Esta operación se puede efectuar directamente en el editor de estructura o utilizando la ventana Lista de índices. Para mayor información sobre la ventana Lista de índices, consulte el párrafo “Lista de índices”.

Para borrar un índice estándar:

  1. Seleccione el campo asociado al índice a borrar, luego elija la opción Ninguno en el menú Índice del Inspector.
    O
  2. Haga clic derecho en el campo asociado con el índice, luego elija la opción Ninguno en el submenú Índice del menú contextual.

Para borrar un índice de palabras claves:

  1. Seleccione el campo asociado al índice que quiere borrar, luego deseleccione la opción “Palabras claves” en el Inspector.
    O
  2. Haga clic derecho en el campo asociado con el índice, luego deseleccione la opción Palabras claves en el submenú índice del menú contextual.

La eliminación (y visualización) de un índice compuesto sólo puede efectuarse desde la ventana Lista de índices (utilizando el botón ).

En cualquier momento puede reindexar un campo; es decir reconstruir lo índices asociados a él, en función de los datos presentes. Esto puede ser útil en el mantenimiento de aplicaciones.

La reindexación puede efectuarse vía el comando Reconstruir en la Lista de índices.

Note que la modificación del lenguaje de los datos (ver Comparación de texto) o de las operaciones de mantenimiento tales como la compactación (ver la sección Página Compactar) provocan la reconstrucción de los índices.

 
PROPIEDADES 

Producto: 4D
Tema: Definir la estructura de la base de datos

 
HISTORIA 

 
ARTICLE USAGE

Manual de Diseño ( 4D v16)
Manual de Diseño ( 4D v16.1)
Manual de Diseño ( 4D v16.3)