Was ist das NDX-Dateiformat?
Eine .ndx-Datei ist ein Einzelfeld-B-Baum-Index, der mit einer dBASE-Datenbank (.dbf) verknüpft ist. Eingeführt mit dBASE III im Jahr 1984, ermöglicht sie den sortierten Zugriff auf Datensätze, ohne die gesamte Tabelle scannen zu müssen - analog zum Index in einem gedruckten Buch.
Das Format speichert einen B-Baum aus festen 512-Byte-Knoten. Ein 16-Byte-Header protokolliert die Nummer des Wurzelblocks, die Gesamtanzahl der Blöcke, die Schlüssellänge, den Schlüsseltyp und ein Flag für eindeutige Werte. Jeder Blattknoten enthält Sortierschlüsselwerte zusammen mit Datensatznummer-Zeigern zurück in die .dbf-Datei.
Eine .ndx-Datei indiziert genau einen Schlüsselausdruck - einen Feldnamen oder eine einfache Formel mit bis zu 220 Zeichen, wobei der ausgewertete Schlüssel auf 100 Bytes begrenzt ist. Diese Beschränkung auf einen Index pro Datei ist die Haupteinschränkung von .ndx gegenüber dem späteren .MDX-Format (dBASE IV, 1988), das bis zu 47 Index-Tags in einer Datei speichert und sich automatisch aktualisiert.
Entscheidend ist, dass .ndx-Indizes nicht automatisch gepflegt werden, wenn Datensätze in der .dbf hinzugefügt, gelöscht oder geändert werden. Benutzer müssen in dBASE einen expliziten Befehl wie REINDEX oder SET INDEX TO ausführen, um sie neu zu erstellen - ein veralteter Index liefert falsche Abfrageergebnisse. Moderne Tools wie dBASE Plus und DBF Viewer Plus akzeptieren .ndx-Dateien weiterhin aus Gründen der Abwärtskompatibilität. FoxPro und Visual FoxPro bevorzugen stattdessen das zusammengesetzte Indexformat .cdx.
Sicherheit
RISIKO: LOWNDX-Dateien enthalten nur Indexdaten (Schlüssel + Datensatzzeiger); kein ausführbarer Code. Sicher mit jedem xBase-kompatiblen Viewer zu öffnen. Eine Beschädigung einer NDX beeinträchtigt die DBF-Daten nicht - der Index kann neu erstellt werden.
Formatdetails
kurz gefasst- FoxBase/FoxPro Indexdatei - FoxBase und frühe FoxPro-Versionen verwendeten ebenfalls .ndx-Einzelindexdateien (gleiches Format wie dBASE III NDX); FoxPro 2+ wechselte zum zusammengesetzten .cdx-Index.
- Indexdatei (generische Benennung) - Einige benutzerdefinierte Anwendungen verwenden .ndx generisch als Klartext- oder proprietäre Indexdatei ohne Bezug zu dBASE.
Programme zum Öffnen von NDX-Dateien
SET INDEX TO datei.ndx, um den Index zuzuordnen, und führen Sie dann Abfragen oder REINDEX zum Neuerstellen aus. Technische Details
technische Spezifikation| Format-Typ | Binärer Einzelfeld-B-Baum-Index für dBASE-Datenbanken |
| Kodierung | Binär, Little-Endian |
| B-Baum-Knotengröße | Festgelegt auf 512 Bytes pro Knoten (Wurzel-, Zweig- und Blattknoten) |
| Header | 16 Bytes - Wurzelblocknummer, Gesamtblockanzahl, Schlüssellänge, Schlüsseltyp (Zeichen/Numerisch), Unique-Flag, Versions-Byte |
| Limit für Schlüsselausdrücke | Bis zu 220 Zeichen im Ausdruck; ausgewerteter Sortierschlüsselwert auf 100 Bytes begrenzt |
| Index-Kapazität | Ein Schlüsselausdruck pro Datei (Ein-Index-Beschränkung - eine `.ndx`-Datei pro indiziertem Feld oder Ausdruck) |
| Verknüpfte Datenbank | Zugehörige `.dbf`-Datei; Blattknoten speichern Datensatznummer-Zeiger auf die DBF-Datenzeilen |
| Auto-Update-Verhalten | Index wird NICHT automatisch gepflegt; erfordert explizites `REINDEX` oder `SET INDEX TO` nach DBF-Änderungen |
| Ursprung | dBASE III von Ashton-Tate; kompatibel mit dBASE IV, V und modernen xBase-Implementierungen |
| Abgelöst durch | `.mdx` (dBASE IV - bis zu 47 automatisch aktualisierte Index-Tags pro Datei); `.cdx` (FoxPro / Visual FoxPro) |
| Zugehöriges Betriebssystem | DOS (ursprünglich), Windows (Abwärtskompatibilität in modernen Tools) |
| Moderne Unterstützung | Wird von dBASE Plus und DBF Viewer Plus weiterhin für Altsysteme unterstützt |
| Schlüsseltypen | Zeichenketten und numerische Werte; Datumsfelder werden zur Indizierung in eine Zeichenfolgendarstellung konvertiert |
| Risiko veralteter Indizes | Eine `.ndx`, die nach DBF-Änderungen nicht neu erstellt wurde, liefert ohne Warnung falsche Abfrageergebnisse |
| Veröffentlicht | 1984 (dBASE III) |
| Neueste Version | dBASE III-compatible NDX (unchanged since dBASE III era) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | pic.hallikainen.org |
NDX-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu NDX-Dateien.
Häufig gestellte Fragen
Welches Programm öffnet NDX-Dateien?
Kann ich eine NDX-Datei löschen?
REINDEX in dBASE neu erstellen.Warum ist meine NDX-Datei veraltet?
REINDEX oder SET INDEX TO datei.ndx gefolgt von REINDEX in dBASE ausführen, um sie zu synchronisieren.