¿Qué es el formato de archivo NDX?
Un archivo .ndx es un índice de árbol B de un solo campo asociado a una base de datos dBASE (.dbf). Introducido con dBASE III en 1984, proporciona acceso ordenado a los registros sin necesidad de escanear toda la tabla, de forma análoga al índice de un libro impreso.
El formato almacena un árbol B de nodos fijos de 512 bytes. Un encabezado de 16 bytes registra el número del bloque raíz, el recuento total de bloques, la longitud de la clave, el tipo de clave y un indicador de valor único. Cada nodo hoja contiene valores de clave de ordenación junto con punteros de número de registro que apuntan de nuevo al archivo .dbf.
Un archivo .ndx indexa exactamente una expresión clave: un nombre de campo o una fórmula simple, de hasta 220 caracteres, con la clave evaluada limitada a 100 bytes. Esta restricción de un solo índice por archivo es la principal limitación de .ndx en comparación con el formato posterior .MDX (dBASE IV, 1988), que almacena hasta 47 etiquetas de índice en un solo archivo y se actualiza automáticamente.
Fundamentalmente, los índices .ndx no se mantienen automáticamente cuando se añaden, eliminan o modifican registros en el .dbf. Los usuarios deben ejecutar un comando explícito REINDEX o SET INDEX TO en dBASE para reconstruirlos; un índice desactualizado produce resultados de consulta incorrectos. Las herramientas modernas como dBASE Plus y DBF Viewer Plus siguen aceptando archivos .ndx por compatibilidad con sistemas heredados. FoxPro y Visual FoxPro prefieren en su lugar el formato de índice compuesto .cdx.
Seguridad y protección
RIESGO: LOWLos archivos NDX contienen solo datos de índice (claves + punteros de registro); no contienen código ejecutable. Es seguro abrirlos con cualquier visor compatible con xBase. La corrupción de un NDX no afecta a los datos del DBF: el índice puede reconstruirse.
Detalles del formato
en pocas palabras- Archivo de índice de FoxBase/FoxPro - FoxBase y las primeras versiones de FoxPro también utilizaban archivos de índice único .ndx (mismo formato que dBASE III NDX); FoxPro 2+ pasó al índice compuesto .cdx.
- Archivo de índice (nomenclatura genérica) - Algunas aplicaciones personalizadas utilizan .ndx de forma genérica como un archivo de índice de texto plano o propietario no relacionado con dBASE.
Programas que abren archivos NDX
Detalles técnicos
especificación profunda| Tipo de formato | Índice binario de árbol B de un solo campo para bases de datos dBASE |
| Codificación | Binario, little-endian |
| Tamaño del nodo del árbol B | Fijo de 512 bytes por nodo (nodos raíz, rama y hoja) |
| Encabezado | 16 bytes - número de bloque raíz, recuento total de bloques, longitud de clave, tipo de clave (carácter/numérico), indicador de unicidad, byte de versión |
| Límite de expresión clave | Hasta 220 caracteres en la expresión; valor de clave de ordenación evaluado limitado a 100 bytes |
| Capacidad del índice | Una expresión clave por archivo (restricción de índice único - un archivo `.ndx` por campo o expresión indexada) |
| Base de datos vinculada | Archivo `.dbf` complementario; los nodos hoja almacenan punteros de número de registro hacia las filas de datos del DBF |
| Comportamiento de actualización automática | El índice NO se mantiene automáticamente; requiere un `REINDEX` o `SET INDEX TO` explícito tras modificaciones en el DBF |
| Origen | dBASE III por Ashton-Tate; compatible con dBASE IV, V e implementaciones modernas de xBase |
| Sustituido por | `.mdx` (dBASE IV - hasta 47 etiquetas de índice autoactualizadas por archivo); `.cdx` (FoxPro / Visual FoxPro) |
| SO asociado | DOS (original), Windows (compatibilidad heredada en herramientas modernas) |
| Soporte moderno | Sigue siendo aceptado por dBASE Plus y DBF Viewer Plus para compatibilidad con sistemas antiguos |
| Tipos de clave | Cadenas de caracteres y valores numéricos; los campos de fecha se convierten a representación de caracteres para la indexación |
| Riesgo de índice desactualizado | Un `.ndx` no reconstruido tras cambios en el DBF devuelve resultados de consulta incorrectos sin previo aviso |
| Lanzado | 1984 (dBASE III) |
| Última versión | dBASE III-compatible NDX (unchanged since dBASE III era) |
| Estándar abierto | Sí · libre de regalías |
| Especificación | pic.hallikainen.org |
Conversiones de NDX
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos NDX.