Zum Hauptinhalt springen

Schlüssel bearbeiten

Schlüssel bearbeiten Anlegen, ändern und löschen von Schlüsseln

In der Entwicklungsumgebung kann die Datenstruktur über den Menüeintrag Extras / Datenstruktureditor… bearbeitet werden.

Wird in der Datenstruktur auf der linken Seite ein Schlüssel selektiert, werden in der rechten Hälfte Informationen über den Schlüssel dargestellt. Wird der Eintrag "Schlüssel" einer Datei durch Doppelklicken aufgeklappt, werden alle bereits existierenden Schlüssel angezeigt. Existierende Schlüssel können ebenfalls durch Doppelklicken aufgeklappt werden und zeigen dann die Schlüsselfelder des Schlüssels an.

Alle Schlüssel oder Schlüsselfelder in denen Änderungen vorgenommen wurden, werden in einem anderen Font und mit einem grünen Symbol gekennzeichnet. Erst nach Neuaufbau der Datenstruktur und gegebenenfalls einer Reorganisation des Schlüssels können diese Schlüssel von einem neu angemeldetem Client verwendet werden.

Schlüssel anlegen

Um einen neuen Schlüssel zu erzeugen, muss der Eintrag "Schlüssel" unter der Datei, in welcher der Schlüssel angelegt werden soll, oder ein bereits bestehender Schlüssel angeklickt und die Schaltfläche gedrückt werden.

Der Schlüssel wird erst angelegt, wenn die Schaltfläche gedrückt wird. Der gesamte Vorgang kann durch Drücken der Schaltfläche abgebrochen werden.

  • Name Hier kann der Name des Schlüssels angegeben werden. Der Name kann in der Programmierung als Referenz auf diesen Schlüssel verwendet werden. Wird kein Name angegeben, kann der Schlüssel nur über seine Nummer angesprochen werden. Die Nummer des Schlüssels wird automatisch vergeben.
info

Grundsätzlich sollten für Namen in der Datenstruktur nur Buchstaben, Zahlen und die Zeichen "." und "_" verwendet werden. Weitere Informationen zur Vergabe von Namen befinden sich im Abschnitt Konventionen .

  • Eindeutig Durch Aktivierung des Kontrollkästchens "eindeutig" kann die Eindeutigkeit eines Schlüssels erzwungen werden. Der erste Schlüssel jeder Datei ist immer eindeutig, bei ihm kann dieses Attribut nicht verändert werden. Alle weiteren definierten Schlüssel sind üblicherweise nicht eindeutig, d. h. es sind mehrere Datensätze mit den gleichen Schlüsselwerten zulässig. Wird das Attribut "eindeutig" aktiviert, kann später in der Datei immer nur ein Datensatz mit einem bestimmten Schlüsselwert existieren. Dies muss berücksichtigt werden, wenn beim Einfügen von neuen Daten die Meldung "Datensatz ist schon gespeichert" erscheint. Bei mehreren eindeutigen Schlüsseln kann jeder dieser eindeutigen Schlüssel mit einem bereits gespeicherten Satz kollidieren. Sind bereits Daten in der Datei gespeichert, kann die nachträgliche Änderung von "nicht eindeutig" auf "eindeutig" dazu führen, dass der Index des Schlüssels doppelte Werte enthalten würde. Dieser Fall wird bei der erforderlichen Reorganisation des Schlüssels festgestellt. Der Schlüssel kann dann nur benutzt werden, wenn das Attribut wieder auf "nicht eindeutig" geändert wird und eine erneute Reorganisation stattfindet.
  • Listeneintrag Durch Aktivieren des Kontrollkästchens "Listeneintrag" wird sichergestellt, dass der Schlüssel in der Schlüsselliste der Verwaltung angezeigt wird.
  • Lange Schlüsselwerte Durch Aktivieren des Kontrollkästchens "Lange Schlüsselwerte" umfasst der Schlüssel bis zu 950 Zeichen. Standardmäßig sind bis zu 240 Zeichen möglich. Die einzelnen Schlüsselfelder haben unabhängig davon immer eine Begrenzung von maximal 255 Zeichen. Nach einer Änderung der Option wird eine Schlüsselreorganisation durchgeführt.

Einfügen von Schlüsselfeldern

Um ein neues Schlüsselfeld zu erzeugen, muss der Schlüssel, dem ein Schlüsselfeld zugeordnet werden soll, oder ein bereits bestehendes Schlüsselfeld angeklickt und die Schaltfläche gedrückt werden.

Das Schlüsselfeld wird erst angelegt, wenn die Schaltfläche gedrückt wird. Der gesamte Vorgang kann durch Drücken der Schaltfläche abgebrochen werden.

  • Teildatensatz In diesem Feld wird der Teildatensatz des Schlüsselfeldes ausgewählt. Die Felder des ersten Schlüssels müssen aus dem ersten Teildatensatz stammen. Eine Auswahl des Teildatensatzes ist daher für den ersten Schlüssel nicht möglich.

  • Feld Nach der Auswahl des Teildatensatzes kann in diesem Feld das Schlüsselfeld ausgewählt werden. Die Auswahl beschränkt sich auf den in "Teildatensatz" ausgewählten Teildatensatz.

  • Absteigende Sortierung Damit kann definiert werden, ob das Feld im Schlüssel aufsteigend oder absteigend sortiert wird.

  • Groß-/Kleinwandlung (Nur bei alphanumerischen Feldern) Wird dieser Parameter aktiviert, so werden alle Kleinbuchstaben für den Schlüsseleintrag in Großbuchstaben umgewandelt. Dies ermöglicht einen von der Schreibweise unabhängigen Zugriff.

  • Umlaute in alphabetischer Sortierung (Nur bei alphanumerischen Feldern) Ist "Groß-/Kleinschreibung" aktiviert, folgt dieser Parameter. Mit dieser Option werden die Umlaute "ä", "ö", "ü" und "ß" wie "ae", "oe", "ue" und "ss" behandelt. Dies kann für sortierte Listen wesentlich sein, da die normale Sortierung nach ASCII-Werten erfolgt (Umlaute folgen erst nach Z).

  • Ohne Sonderzeichen (Nur bei alphanumerischen Feldern) Mit dieser Option können alle Zeichen, die nicht 0 bis 9 oder A bis Z sind, bei der Schlüsselerzeugung ignoriert werden. Für den Zugriff wird somit die Stellung von Kommata, Leerzeichen oder ähnlichem unwichtig.

  • SOUNDEX 1 Diese Funktion ermöglicht eine "phonetische" Suche. Doppelte Buchstaben werden durch einfache Buchstaben ersetzt. Ähnlich lautende Buchstabenfolgen werden gleichgesetzt, um auf einen Datensatz wie z. B. "Meier, Josef" zuzugreifen, unabhängig von seiner Schreibweise (auch "Mayer, Joseph" oder "Maier, Yossef" würden den richtigen Satz finden). Detailierte Informationen zur Zeichenumwandlung mit Soundex befinden sich in der Beschreibung der Konstante _StrSoundex1.

  • SOUNDEX 2 In dieser Stufe werden zusätzlich zu Soundex 1 noch weitere Umsetzungen durchgeführt. Detailierte Informationen befinden sich in der Bechreibung der Konstanten _StrSoundex2.

info

Wird die Soundex-Funktion benutzt, ist die Sortierfolge des Schlüssels ungeeignet für Listen oder Selektionen. In diesem Fall kann man einen weiteren Schlüssel ohne SOUNDEX über das gleiche Feld definieren.

  • Maximale Länge In diesem Dialogfeld wird die Eingabe einer "Maximalen Länge" verlangt. Damit kann die Anzahl der für die Schlüsselerzeugung relevanten Zeichen reduziert werden (eventuell bei langen Schlüsseln notwendig). Im Normalfall wird hier 0 eingegeben. Bei 0 wird die definierte Feldlänge benutzt.
info

Bei eindeutigen Schlüsseln sollten keine Gleitkommafelder verwendet werden. Durch die Umwandlung vom dezimalen in das binäre Zahlensystem entstehen Ungenauigkeiten, die unter Umständen dazu führen können, dass ein Datensatz nicht gespeichert oder gefunden werden kann. Gerade bei Werten mit einer hohen Anzahl von Stellen kommt es zu Rundungsfehlern. Zu beachten ist ebenfalls, dass eine Berechnung des Schlüsselwertes immer mit einem Fehler behaftet ist.

Die maximale Länge des Schlüsselwertes ist auf 240 Bytes beschränkt. D. h. besteht ein Schlüssel aus einem Feld ganzzahlig lang und einem alphanumerischen-Feld, können nur die ersten 235 Zeichen des alpha-Feldes unterschieden werden. Von den 240 Bytes werden 4 Bytes für das ganzzahlige Feld benötigt und 235 Byte (plus ein längenbegrenzendes Byte) für das alpha-Feld.

Die Limitation besteht auch, wenn die Option "Lange Schlüsselwerte" aktiviert ist. Nur liegt hier die Gesamtlänge bei 950 Byte.

info

Befindet sich in dem Schlüssel ein alpha -Feld, dessen Wert die noch zur Verfügung stehenden Bytes ausfüllt, werden nachfolgende Schlüsselfelder nicht mehr berücksichtigt. Um dies zu verhindern, kann die maximale Länge in dem entsprechenden Dialog-Feld angegeben werden.

Ändern von Schlüsselfeldern

Die Eigenschaften eines Schlüsselfeldes können nach der Auswahl des Feldes über die Schaltfläche verändert werden. Es können alle Eigenschaften des Schlüsselfeldes geändert werden. Befinden sich in der betreffenden Datei Datensätze, kann der Schlüssel erst nach einer Reorganisation benutzt werden.

Löschen von Schlüsselfeldern

Das selektierte Schlüsselfeld kann durch Drücken der Schaltfläche gelöscht werden. Befinden sich in der betreffenden Datei Datensätze, kann der Schlüssel erst nach einer Reorganisation benutzt werden.

Schlüssel ändern

Eigenschaften des Schlüssels können nach der Auswahl des Schlüssels über die Schaltfläche verändert werden. Es können alle Eigenschaften des Schlüssels geändert werden. Lediglich der erste Schlüssel ist immer ein eindeutiger Schlüssel.

Schlüssel löschen

Der selektierte Schlüssel kann durch Drücken der Schaltfläche gelöscht werden.

Schlüssel reorganisieren

Die Schlüsselreorganisation wird über die Schaltfläche angestoßen.

Nach Drücken der Schaltfläche werden entweder alle Schlüssel der Datenbank (Eintrag "Datei" wurde selektiert), alle Schlüssel einer Datei (eine Datei wurde selektiert) oder der betreffende Schlüssel angezeigt.

Alle Schlüssel, die reorganisiert werden müssen, besitzen in der Spalte "" einen Haken. Sollen einzelne Schlüssel nicht reorganisiert werden, können sie von der Reorganisation ausgenommen werden, indem der Haken in der Spalte "" durch einen Doppelklick entfernt wird. Der Fortschritt der Reorganisation wird in einem Dialog angezeigt.

info

Die Reorganisation von Schlüsseln benötigt in Abhängigkeit der Anzahl der Datensätze in der betreffenden Datei Zeit. Durch Vergrößerung des Datenbankpuffers kann die benötigte Zeit verringert werden.