Freigeben über


Verwenden anderer Indextypen

Außer dem gebräuchlichsten Index, dem komprimierten strukturierten CDX-Mehrfachindex, unterstützt Visual FoxPro zwei weitere Indexdateitypen: den nichtstrukturierten CDX-Index und den eigenständigen IDX-Index. Nichtstrukturierte CDX-Indizes werden für seltener verwendete Mehrfachschlüssel eingesetzt. Eigenständige (oder IDX-) Indizes werden für temporäre oder selten verwendete Einfachindizes eingesetzt und sind in erster Linie für Abwärtskompatibilität verfügbar.

Die folgende Tabelle gibt einen Überblick über die drei Indextypen, ihre Namensgebung, die zulässige Anzahl von Schlüsseln sowie die jeweilige maximale Zeichenanzahl.

Visual FoxPro-Indextypen

Indextyp Beschreibung Anzahl der Schlüssel Einschränkung
Strukturierter CDX-Index Verwendet denselben Basisnamen wie die Tabellendatei und wird mit der Tabelle automatisch geöffnet Mehrfachindex-
ausdrücke,
Indextags genannt
Maximal 240 Zeichen bei ausgewertetem Ausdruck
Nichtstrukturierter CDX-Index Muss explizit geöffnet werden; verwendet einen anderen Namen als den Basistabellennamen Mehrfachindex-
ausdrücke,
Indextags genannt
Maximal 240 Zeichen bei ausgewertetem Ausdruck
Eigenständiger IDX-Index Muss explizit geöffnet werden; der Basisname der IDX-Datei ist benutzerdefiniert Einfachindexausdruck Maximal 100 Zeichen bei ausgewertetem Ausdruck

Verwenden von nichtstrukturierten CDX-Indizes

Ein nichtstrukturierter CDX-Index ist zweckmäßig, wenn Sie mehrere Indextags für einen besonderen Zweck erstellen, Ihre Anwendung diese Indizes jedoch nicht laufend verwalten soll. Beispielsweise enthält Ihre Anwendung eine spezielle Gruppe von Berichten, die Daten auf der Basis von normalerweise nicht indizierten Feldern analysiert. Dann kann Ihr Anwendungsprogramm einen nichtstrukturierten CDX-Index mit den erforderlichen Indextags erstellen, die speziellen Berichte ausführen und anschließend die nichtstrukturierte CDX-Datei löschen.

So erstellen Sie einen nichtstrukturierten CDX-Indextag

  • Verwenden Sie den INDEX-Befehl mit den Klauseln TAG und OF.

Mit dem INDEX-Befehl und der OF-Klausel weisen Sie Visual FoxPro an, den Indextag in einer anderen Datei als der strukturierten CDX-Indexdatei für die Tabelle zu speichern. Beispielsweise erstellt der folgende Befehl die Indextags title und hire_date für die Tabelle employee und speichert sie in der nichtstrukturierten CDX-Datei QRTLYRPT.CDX:

USE employee
INDEX ON title TO TAG title OF QRTLYRPT
INDEX ON hire_date TO TAG hiredate OF QRTLYRPT

Verwenden von eigenständigen Indizes

Die eigenständige Indexdatei, die auf einem Einfachindexausdruck basiert, wird als IDX-Datei gespeichert. Im Gegensatz zu CDX-Indizes, die Mehrfachindexausdrücke speichern können, speichert der IDX-Index nur einen Einfachindexausdruck.

Eigenständige Indizes verwenden Sie normalerweise als temporäre Indizes, die Sie erst unmittelbar vor ihrer Verwendung erstellen oder neu indizieren. So verfügen Sie zum Beispiel über einen Index, den Sie nur für einen zusammenfassenden Quartals- oder Jahresbericht verwenden. Statt nun diesen selten verwendeten Index in den strukturierten CDX-Index einzubeziehen, wo er bei jeder Verwendung der Tabelle verwaltet würde, können Sie einen eigenständigen IDX-Index erstellen. Für eine bestimmte Tabelle lassen sich beliebig viele IDX-Dateien erstellen.

So erstellen Sie einen eigenständigen IDX-Index

  • Verwenden Sie den INDEX-Befehl mit der COMPACT-Klausel.

    - Oder -

  • Verwenden Sie den COPY TAG-Befehl.

Der INDEX-Befehl mit der COMPACT-Klausel erstellt einen neuen eigenständigen Index in einer kleinen Indexdatei, auf die schnell zugegriffen werden kann. Wenn Sie aus Gründen der Kompatibilität mit den älteren Indexformaten von FoxBASE+® und FoxPro®, Version 1.0, eine unkomprimierte eigenständige IDX-Datei erstellen möchten, ist die COMPACT-Klausel nicht erforderlich.

Der folgende Code erstellt in der Tabelle orders eine eigenständige IDX-Datei für order_date, legt die Reihenfolge auf den neuen Index fest und öffnet dann ein Datenblattfenster, das die Bestellungen in der Reihenfolge von order_date anzeigt:

USE ORDERS
INDEX ON order_date TO orddate COMPACT
SET ORDER TO orddate
BROWSE

Mit dem COPY TAG-Befehl können Sie aus einem Indextag in einer bereits vorhandenen CDX-Datei eine eigenständige Indexdatei erstellen. So bemerken Sie beispielsweise, dass einer der Indizes, den Sie momentan in der strukturierten CDX-Datei verwalten, nur für Quartals- oder Jahresberichte verwendet wird. Der folgende Code erstellt aus dem Indextag birth_date in der Tabelle employee einen eigenständigen Index:

COPY TAG birth_date to birthdt COMPACT

Nachdem Sie aus einem Indextag in einer CDX-Datei einen eigenständigen Index erstellt haben, löschen Sie normalerweise den jetzt nicht mehr benötigten Indextag aus der CDX-Datei. Im nächsten Abschnitt wird das Löschen eines Indexes beschrieben.

Siehe auch

Festlegen der Reihenfolge von Datensätzen zur Laufzeit | Löschen eines Indexes | Arbeiten mit Datensätzen | Indexerstellung auf der Grundlage von Ausdrücken | Erstellen eines Indexes | Ordnen nach mehreren Feldern | Indexerstellung für Tabellen