Base de datos modelo real: tipos de índices
- Publicado por [N1] jarboleya.velneo.gmail
- Desarrolladores, Velneo
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 única
Identifica a cada registro de forma única y evita que existan registros con clave duplicada.
Acepta repetidas
Indexa todos los campos incluidos en el índice permitiendo que múltiples registros puedan tener las mismas claves.
Palabras
Indexa todas las palabras de todos los campos que se incluyan en el índice.
Si una palabra se repite sólo se indexa una vez.
Trozos
Indexa 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 claves
Indexa múltiples claves según se configuran en el índice.
Permite múltiples relaciones de histórico sin tener que crear una tabla.
By rob
Í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 repetidas
El í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 palabras
El í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 trozos
El í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 claves
Al indicar el número de claves estamos informando de cuantas entradas se generarán en el índice con los “n” primeros campos
Al 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 partes
Cuando 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 condicionados
Poder 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.
Etiquetas: base, campos, datos, índices, modelo, real, tablas, tipos







Abril 24, 2008 - 05:22 #
Muy bueno el artículo. Después de mucho leer descubrí que en un mismo indice de tipo “palabras” se pueden mezclar diferentes campos. Es decir en un mismo campo de búsqueda el usuario puede digitar el teléfono o parte del nombre o parte de la dirección por ejemplo y lo localizaría si el indice estuviera formado por los tres campos. ¿Cierto?. Muy bueno el artículo, te felicito. Más de estos artículos son importantes ya que para los que no conocemos la herramienta son conceptos muy novedosos (al menos para mi) y difíciles de entender al principio.
Gracias y saludos cordiales
Manuel Tovar
Barranquilla – COLOMBIA
Abril 24, 2008 - 09:15 #
Gracias Manuel,
Seguiremos escribiendo artículos sobre conceptos de programación que os faciliten el aprendizaje y la programación con Velneo.
Sobre tu pregunta confirmarte que estás en lo cierto. Cuando incluyes varios campos alfabéticos en un índice de palabras y trozos se indexan todas las palabras o trozos de todos los campos y cuando lanzas una búsqueda o un localizador encuentra los registros que contengan el texto a buscar en cualquier de los campos incluidos dentro del índice.
El ejemplo que pones es muy sencillo y práctico. Poder buscar con un sólo campo de búsqueda por el nombre, apellidos, teléfonos, dirección, email, etc. de una tabla de personas, clientes o entidades etc.
Abril 24, 2008 - 09:55 #
Y lo mismo puedes hacer y para mi es mucho mas potente con un indice alfabetico ternario, ya que no te obliga a conocer los números de telefonos completos, dirección completa o nombre completo, sino torzos de el
Abril 24, 2008 - 15:50 #
Buenos, o mejor dicho, excelentes artículos que se están presentando en este Blog. Se agradece, enormemente, la iniciativa por tratar estos temas que resultan esclarecedores y formativos. Le habeis dado un plus a esta sección.
¡Por eso me gusta esta herramienta! Es muy versátil…, y sin escribir una sola línea de código.
Saludos, desde La Serena, Chile.
Rolando.
Marzo 2, 2009 - 13:39 #
Gute Arbeit hier! Gute Inhalte.