Hvad er NDX-filformatet?
En .ndx-fil er et enkeltfelts B-træ-indeks tilknyttet en dBASE-database (.dbf). Den blev introduceret med dBASE III i 1984 og giver sorteret adgang til poster uden at skulle scanne hele tabellen - svarende til et stikordsregister i en trykt bog.
Formatet gemmer et B-træ af faste 512-byte noder. En 16-byte header registrerer rodbloknummeret, det samlede antal blokke, nøglelængde, nøgletype og et flag for unikke værdier. Hver bladnode indeholder sorteringsnøgleværdier sammen med postnummer-pointere tilbage til .dbf-filen.
Én .ndx-fil indekserer præcis ét nøgleudtryk - et feltnavn eller en simpel formel på op til 220 tegn, hvor den evaluerede nøgle er begrænset til 100 bytes. Denne begrænsning med kun ét indeks pr. fil er .ndx-formatets største svaghed sammenlignet med det senere .MDX-format (dBASE IV, 1988), som gemmer op til 47 indekstags i én fil og opdateres automatisk.
Det er afgørende at bemærke, at .ndx-indekser ikke vedligeholdes automatisk, når poster tilføjes, slettes eller ændres i .dbf-filen. Brugere skal udføre en eksplicit REINDEX- eller SET INDEX TO-kommando i dBASE for at genopbygge dem - et forældet indeks giver forkerte forespørgselsresultater. Moderne værktøjer som dBASE Plus og DBF Viewer Plus accepterer stadig .ndx-filer af hensyn til bagudkompatibilitet. FoxPro og Visual FoxPro foretrækker i stedet det sammensatte .cdx-indeksformat.
Sikkerhed og tryghed
RISIKO: LOWNDX-filer indeholder kun indeksdata (nøgler + post-pointere); ingen eksekverbar kode. Sikker at åbne med enhver xBase-kompatibel viser. Beskadigelse af en NDX påvirker ikke DBF-data - indekset kan genopbygges.
Formatdetaljer
kort fortalt- FoxBase/FoxPro Index File - FoxBase og tidlige FoxPro brugte også .ndx enkelt-indeksfiler (samme format som dBASE III NDX); FoxPro 2+ skiftede til .cdx sammensat indeks.
- Indeksfil (generisk navngivning) - Nogle specialudviklede applikationer bruger .ndx generisk som en almindelig tekstfil eller proprietær indeksfil, der ikke er relateret til dBASE.
Programmer der åbner NDX-filer
Tekniske detaljer
dyb specifikation| Format-type | Binært enkeltfelts B-træ-indeks til dBASE-databaser |
| Kodning | Binær, little-endian |
| B-træ nodestørrelse | Fast 512 bytes pr. node (rod-, gren- og bladnoder) |
| Header | 16 bytes - rodbloknummer, samlet antal blokke, nøglelængde, nøgletype (tegn/numerisk), unik-flag, versions-byte |
| Grænse for nøgleudtryk | Op til 220 tegn i udtrykket; evalueret sorteringsnøgleværdi begrænset til 100 bytes |
| Indekskapacitet | Ét nøgleudtryk pr. fil (begrænsning til enkeltindeks - én `.ndx`-fil pr. indekseret felt eller udtryk) |
| Tilknyttet database | Tilhørende `.dbf`-fil; bladnoder gemmer postnummer-pointere til DBF-datarækker |
| Auto-opdatering | Indekset vedligeholdes IKKE automatisk; kræver eksplicit `REINDEX` eller `SET INDEX TO` efter DBF-ændringer |
| Oprindelse | dBASE III af Ashton-Tate; kompatibel med dBASE IV, V og moderne xBase-implementeringer |
| Efterfulgt af | `.mdx` (dBASE IV - op til 47 auto-opdaterede indekstags pr. fil); `.cdx` (FoxPro / Visual FoxPro) |
| Tilknyttet OS | DOS (oprindelig), Windows (bagudkompatibilitet i moderne værktøjer) |
| Moderne understøttelse | Accepteres stadig af dBASE Plus og DBF Viewer Plus til arv-systemer |
| Nøgletyper | Tegnrenge og numeriske værdier; datofelter konverteres til tegnrepræsentation ved indeksering |
| Risiko ved forældet indeks | En `.ndx`, der ikke er genopbygget efter DBF-ændringer, returnerer forkerte forespørgselsresultater uden advarsel |
| Udgivet | 1984 (dBASE III) |
| Seneste version | dBASE III-compatible NDX (unchanged since dBASE III era) |
| Åben standard | Ja · royaltyfri |
| Specifikation | pic.hallikainen.org |
NDX-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om NDX-filer.