Vad är filformatet NDX?
En .ndx-fil är ett B-trädsindex för ett enskilt fält som är associerat med en dBASE-databas (.dbf). Den introducerades med dBASE III år 1984 och ger sorterad åtkomst till poster utan att hela tabellen behöver skannas - analogt med ett register i en tryckt bok.
Formatet lagrar ett B-träd av fasta noder på 512 byte. En header på 16 byte registrerar rotblockets nummer, totalt antal block, nyckellängd, nyckeltyp och en flagga för unika värden. Varje lövnode innehåller sorteringsnyckelvärden tillsammans med postnummerpekare tillbaka till .dbf-filen.
En .ndx-fil indexerar exakt ett nyckeluttryck - ett fältnamn eller en enkel formel, upp till 220 tecken, där det utvärderade nyckelvärdet är begränsat till 100 byte. Denna begränsning med endast ett index per fil är den främsta nackdelen med .ndx jämfört med det senare .MDX-formatet (dBASE IV, 1988), som lagrar upp till 47 index-taggar i en fil och uppdateras automatiskt.
Det är kritiskt att notera att .ndx-index inte underhålls automatiskt när poster läggs till, raderas eller ändras i .dbf-filen. Användare måste utfärda ett explicit REINDEX- eller SET INDEX TO-kommando i dBASE för att bygga om dem - ett inaktuellt index ger felaktiga sökresultat. Moderna verktyg som dBASE Plus och DBF Viewer Plus accepterar fortfarande .ndx-filer för bakåtkompatibilitet. FoxPro och Visual FoxPro föredrar istället det sammansatta indexformatet .cdx.
Säkerhet & trygghet
RISK: LOWNDX-filer innehåller endast indexdata (nycklar + postpekare); ingen exekverbar kod. Säker att öppna med valfri xBase-kompatibel visare. Korruption av en NDX påverkar inte DBF-data - indexet kan byggas om.
Formatdetaljer
i ett nötskal- FoxBase/FoxPro Index-fil - FoxBase och tidiga FoxPro använde också .ndx-filer för enskilda index (samma format som dBASE III NDX); FoxPro 2+ gick över till det sammansatta formatet .cdx.
- Indexfil (generisk namngivning) - Vissa anpassade applikationer använder .ndx generiskt som en textbaserad eller proprietär indexfil som inte är relaterad till dBASE.
Program som öppnar NDX-filer
Tekniska detaljer
djup specifikation| Formattyp | Binärt B-trädsindex för enskilda fält för dBASE-databaser |
| Kodning | Binär, little-endian |
| B-träd nodstorlek | Fasta 512 byte per nod (rot-, gren- och lövnoder) |
| Header | 16 byte - rotblocknummer, totalt antal block, nyckellängd, nyckeltyp (tecken/numerisk), unik-flagga, versionsbyte |
| Gräns för nyckeluttryck | Upp till 220 tecken i uttrycket; utvärderat sorteringsnyckelvärde begränsat till 100 byte |
| Indexkapacitet | Ett nyckeluttryck per fil (begränsning till ett index - en `.ndx`-fil per indexerat fält eller uttryck) |
| Länkad databas | Tillhörande `.dbf`-fil; lövnoder lagrar postnummerpekare till DBF-datarader |
| Auto-uppdatering | Indexet underhålls INTE automatiskt; kräver explicit `REINDEX` eller `SET INDEX TO` efter ändringar i DBF |
| Ursprung | dBASE III av Ashton-Tate; kompatibel med dBASE IV, V och moderna xBase-implementeringar |
| Ersatt av | `.mdx` (dBASE IV - upp till 47 automatiskt uppdaterade index-taggar per fil); `.cdx` (FoxPro / Visual FoxPro) |
| Associerat OS | DOS (ursprungligt), Windows (bakåtkompatibilitet i moderna verktyg) |
| Modernt stöd | Accepteras fortfarande av dBASE Plus och DBF Viewer Plus för bakåtkompatibilitet |
| Nyckeltyper | Teckensträngar och numeriska värden; datumfält konverteras till teckenrepresentation för indexering |
| Risk med inaktuellt index | En `.ndx` som inte byggts om efter DBF-ändringar returnerar felaktiga sökresultat utan varning |
| Släppt | 1984 (dBASE III) |
| Senaste version | dBASE III-compatible NDX (unchanged since dBASE III era) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | pic.hallikainen.org |
NDX-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om NDX-filer.