Co to jest format pliku NDX?
Plik .ndx to jednopoloowy indeks B-drzewa powiązany z bazą danych dBASE (.dbf). Wprowadzony wraz z dBASE III w 1984 roku, zapewnia posortowany dostęp do rekordów bez konieczności skanowania całej tabeli - analogicznie do indeksu w drukowanej książce.
Format przechowuje B-drzewo o stałych 512-bajtowych węzłach. 16-bajtowy nagłówek rejestruje numer bloku głównego, całkowitą liczbę bloków, długość klucza, typ klucza oraz flagę unikalnej wartości. Każdy węzeł liścia zawiera wartości klucza sortowania wraz ze wskaźnikami numerów rekordów prowadzącymi z powrotem do pliku .dbf.
Jeden plik .ndx indeksuje dokładnie jedno wyrażenie kluczowe - nazwę pola lub prostą formułę, o długości do 220 znaków, przy czym obliczona wartość klucza jest ograniczona do 100 bajtów. To ograniczenie do jednego indeksu na plik jest główną wadą .ndx w porównaniu do późniejszego formatu .MDX (dBASE IV, 1988), który przechowuje do 47 tagów indeksu w jednym pliku i aktualizuje się automatycznie.
Co istotne, indeksy .ndx nie są automatycznie aktualizowane przy dodawaniu, usuwaniu lub modyfikowaniu rekordów w .dbf. Użytkownicy muszą wydać jawne polecenie REINDEX lub SET INDEX TO w dBASE, aby je odbudować - nieaktualny indeks generuje nieprawidłowe wyniki zapytań. Nowoczesne narzędzia, takie jak dBASE Plus i DBF Viewer Plus, nadal akceptują pliki .ndx ze względu na kompatybilność wsteczną. FoxPro i Visual FoxPro preferują zamiast tego format indeksu złożonego .cdx.
Bezpieczeństwo
RYZYKO: LOWPliki NDX zawierają tylko dane indeksowe (klucze + wskaźniki rekordów); brak kodu wykonywalnego. Bezpieczne do otwarcia w dowolnej przeglądarce kompatybilnej z xBase. Uszkodzenie pliku NDX nie wpływa na dane DBF - indeks można odbudować.
Szczegóły formatu
w pigułce- Plik indeksu FoxBase/FoxPro - FoxBase i wczesne wersje FoxPro również używały plików pojedynczego indeksu .ndx (ten sam format co dBASE III NDX); FoxPro 2+ przeszedł na indeks złożony .cdx.
- Plik indeksu (nazewnictwo ogólne) - Niektóre niestandardowe aplikacje używają rozszerzenia .ndx ogólnie jako pliku indeksu tekstowego lub własnościowego, niezwiązanego z dBASE.
Programy otwierające pliki NDX
Szczegóły techniczne
specyfikacja| Typ formatu | Binarny indeks B-drzewa dla pojedynczego pola dla baz danych dBASE |
| Kodowanie | Binarne, little-endian |
| Rozmiar węzła B-drzewa | Stałe 512 bajtów na węzeł (węzły główne, gałęzi i liści) |
| Nagłówek | 16 bajtów - numer bloku głównego, całkowita liczba bloków, długość klucza, typ klucza (znakowy/numeryczny), flaga unikalności, bajt wersji |
| Limit wyrażenia kluczowego | Do 220 znaków w wyrażeniu; obliczona wartość klucza sortowania ograniczona do 100 bajtów |
| Pojemność indeksu | Jedno wyrażenie kluczowe na plik (ograniczenie do jednego indeksu - jeden plik `.ndx` na indeksowane pole lub wyrażenie) |
| Powiązana baza danych | Towarzyszący plik `.dbf`; węzły liści przechowują wskaźniki numerów rekordów do wierszy danych DBF |
| Zachowanie auto-aktualizacji | Indeks NIE jest utrzymywany automatycznie; wymaga jawnego użycia `REINDEX` lub `SET INDEX TO` po modyfikacjach DBF |
| Pochodzenie | dBASE III firmy Ashton-Tate; kompatybilny z dBASE IV, V oraz nowoczesnymi implementacjami xBase |
| Zastąpiony przez | `.mdx` (dBASE IV - do 47 auto-aktualizowanych tagów indeksu na plik); `.cdx` (FoxPro / Visual FoxPro) |
| Powiązany system operacyjny | DOS (oryginalnie), Windows (kompatybilność wsteczna w nowoczesnych narzędziach) |
| Współczesne wsparcie | Nadal akceptowany przez dBASE Plus i DBF Viewer Plus dla zachowania kompatybilności |
| Typy kluczy | Ciągi znaków i wartości numeryczne; pola daty są konwertowane na reprezentację znakową do indeksowania |
| Ryzyko nieaktualnego indeksu | Plik `.ndx` nieodbudowany po zmianach w DBF zwraca nieprawidłowe wyniki zapytań bez ostrzeżenia |
| Wydano | 1984 (dBASE III) |
| Najnowsza wersja | dBASE III-compatible NDX (unchanged since dBASE III era) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | pic.hallikainen.org |
Konwersje NDX
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki NDX.