¿Qué va a pasar?

En solo tres pasos tu aplicación empresarial comenzará a ser una realidad

Registro
Escuchamos tus necesidades

Base de datos modelo real: tipos de índices

En este artículo voy a comentar los diferentes tipos de índices de la base de datos modelo real de Velneo, sus funcionalidades y ejemplos de su uso.

Tipos de índices

Clave únicaIdentifica a cada registro de forma única y evita que existan registros con clave duplicada.Acepta repetidasIndexa todos los campos incluidos en el índice permitiendo que múltiples registros puedan tener las mismas claves.PalabrasIndexa todas las palabras de todos los campos que se incluyan en el índice.Si una palabra se repite sólo se indexa una vez.TrozosIndexa todos los trozos de 3 letras de todas las palabras de los campos incluidos en el índice.Si un trozo se repite sólo se indexa una vez.Múltiples clavesIndexa múltiples claves según se configuran en el índice.Permite múltiples relaciones de histórico sin tener que crear una tabla.

[slideshare id=369261&doc=velneotiposindicesslide-1208962592970599-9&w=425]

Índice de clave única El índice código es un índice especial que se crea cuando una tabla se define maestra y debe existir siempre ya que equivale al primary key.El índice código es obligatoriamente de tipo clave única en las tablas maestras pero cualquier otro índice también puede ser de tipo clave única incluso teniendo múltiples partes.Los índices de clave única pueden tener como todos los tipos de índices una o múltiples partes. Cada parte está definida por un campo de la tabla.Índice acepta repetidasEl índice nombre es muy habitual ya que se crea con el asistente de creación de tabla. Indexa por defecto el campo nombre de la tabla.Los índices de tipo acepta repetidas permiten que de cada clave repetida puedan existir 4.000 millones de registros por eso añade 4 bytes a longitud de la clave.Este tipo de índices pueden tener múltiples partes, en este caso indexa sólo por nombre pero podría ser un índice por persona y fecha, por ejemplo, permitiendo repeticiones.Índice de palabrasEl índice puede tener cualquier identificador aunque por defecto el asistente de creación de tablas lo crea con el identificador palabras.Sólo con indicar que el tipo de índice es por palabras Velneo ya se encarga de indexar todas las palabras de los campos indicados en la fórmula de partes.Este tipo de índice es muy útil ya que permite indexar por múltiples campos.En este caso se podría localizar la entidad por su nombre, CIF o teléfono.Índice de trozosEl índice puede tener cualquier identificador aunque por defecto el asistente de creación de tablas lo crea con el identificador trozos.Sólo con indicar que el tipo de índice es por trozos Velneo ya se encarga de indexar todas las ternas de palabras de los campos indicados en la fórmula de partes.Este tipo de índice es muy útil ya que permite indexar por múltiples campos. En este caso se podría localizar la entidad por trozos de su nombre, CIF o teléfono.Índice de múltiples clavesAl indicar el número de claves estamos informando de cuantas entradas se generarán en el índice con los "n" primeros camposAl indicar múltiples claves y el nº de claves, estamos indicando que debería generarse un índice con el proveedor 1 y la referencia, lo mismo con el 2 y el 3 con la referencia.Si en el registro no se rellenan los campos proveedor 2 y 3 no se generan esas entradas en el índice. Si se repite el código de proveedor sólo se indexa una vez.Longitud y conversión de las partesCuando se genera un índice, en los campos alfabéticos es posible indicar para cada campo (parte) del índice que longitud se indexa. Se pueden indexar, por ejemplo, todo el campo o sólo los "n" primeros caracteres.La conversión de campos alfabéticos permite que aunque un campo sea de tipo Alfa128 (que admite mayúsculas y minúsculas) se indexe como Alfa64 con lo que pasará a estar indexado sólo en mayúsculas. Esto es útil para facilitar la búsqueda y también para optimizar el espacio.Índice condicionadosPoder condicionar un índice es una funcionalidad muy potente. En todos los índices se puede indicar un campo booleano que servirá como condición para indexar. En el ejemplo, el campo descatalogado se utilizará para indicar cuando un artículo dejará de ser usado.Al usar un campo booleano en el check de estado del campo para indexar indicaremos cuando queremos que se indexe el registro. En nuestro ejemplo si el check está marcado indexará sólo los descatalogados, pero lo normal es dejarlo desmarcado y de estar forma se indexarán sólo los no descatalogados. El ejemplo es un índice por trozos, esto nos permitirá localizar un artículo activo por trozos del nombre, referencia o cód. barras.Saludos.

Jesús
23/4/2008