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
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