Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Schema-DDL ändern

Wollen Sie Ihre Schema-DDL ändern, so müssen Sie eine neue bzw. geänderte, vollständige Schema-Definition erstellen und diese neu übersetzen. Dabei sind jeweils an allen Stellen in der DDL- und SSL-Source die neuen Namen zu nutzen.
BALTER prüft die Umbenennung und aktualisiert die Strukturinformationen.

Damit BGSIA umbenannte Realms, Satzarten und Sets erkennt und die vorhandenen Referenzen unverändert lässt, müssen vorzunehmende Namensänderungen für Realms, Satzarten und Sets vollständig in zusätzlichen Anweisungen übergeben werden.

In der Schema-DDL sind folgende Änderungen möglich:

  • Feldnamen in Satzarten ändern
    Die Namen müssen an allen Stellen (z.B. auch bei Schlüsseldefinitionen) geändert werden.

  • Typen von Feldern ändern
    Die Länge der Datenfelder in Bytes darf nicht geändert werden. Es sind Typveränderungen von CHAR und nach CHAR möglich. Bei der Umwandlung nach NCHAR werden in dem neuen Feld nur die Hälfte der Zeichen abgespeichert. Typveränderungen von variablen Feldern und von Feldern in komprimierten Sätzen sind nicht erlaubt. Die Benutzerdaten in der Datenbank bleiben auch bei Typänderung physisch unverändert. Es wird nicht geprüft, ob sie mit dem neuen Typ verträglich sind. Typänderungen erfordern daher gesonderte Maßnahmen zur Anpassung der in den Benutzerrealms abgespeicherten Benutzerdaten (siehe „Benutzerdaten anpassen").
    Bei einer Änderung in einen numerischen Typ, sind gegebenenfalls notwendige Ausrichtungen des numerischen Typs zu berücksichtigen.

  • ein vorhandenes Feld vom Typ CHAR in mehrere Felder aufteilen
    Die Gesamtlänge muss dabei erhalten bleiben. Wird das Ursprungsfeld als Schlüsselfeld verwendet, muss es als solches durch die Nutzung der neuen Felder erhalten bleiben. Die Besonderheiten bei Änderungen von NCHAR und numerischen Typen gelten entsprechend den Änderungen des Typs eines Einzelfeldes. Die Aufteilung eines Feldes in mehrere erfordert gesonderte Maßnahmen zur Anpassung der in den Benutzerrealms abgespeicherten Benutzerdaten (siehe „Benutzerdaten anpassen").

  • vorhandene hintereinanderliegende Felder zu einem Feld vom Typ CHAR zusammenfassen
    Die Gesamtlänge muss dabei erhalten bleiben. Die Zusammenfassung ist nur möglich, wenn nicht einzelne Felder isoliert als Schlüsselfelder genutzt werden. Die Zusammenfassung mehrerer Felder erfordert gesonderte Maßnahmen zur Anpassung der in den Benutzerrealms abgespeicherten Benutzerdaten (siehe „Benutzerdaten anpassen").

  • einen Vektor zu einem Feld vom Typ CHAR zusammenfassen
    Die Gesamtlänge muss dabei erhalten bleiben. Die Zusammenfassung eines Vektors erfordert gesonderte Maßnahmen zur Anpassung der in den Benutzerrealms abgespeicherten Benutzerdaten (siehe „Benutzerdaten anpassen").

  • ein Feld vom Typ CHAR in einen Vektor umwandeln
    Die Gesamtlänge muss dabei erhalten bleiben. Die Erzeugung eines Vektors erfordert gesonderte Maßnahmen zur Anpassung der in den Benutzerrealms abgespeicherten Benutzerdaten (siehe „Benutzerdaten anpassen").

  • eine Wiederholungsgruppe zu einem oder mehreren Feldern vom Typ CHAR zusammenfassen
    Die Gesamtlänge muss dabei erhalten bleiben. Die Zusammenfassung einer Wiederholungsgruppe erfordert gesonderte Maßnahmen zur Anpassung der in den Benutzerrealms abgespeicherten Benutzerdaten (siehe „Benutzerdaten anpassen").

  • ein Feld oder mehrere hintereinanderliegende Felder vom Typ CHAR in eine Wiederholungsgruppe umwandeln
    Die Gesamtlänge muss dabei erhalten bleiben. Die Erzeugung einer Wiederholungsgruppe erfordert gesonderte Maßnahmen zur Anpassung der in den Benutzerrealms abgespeicherten Benutzerdaten (siehe „Benutzerdaten anpassen"). 

  • evtl. vorhandene freie Bytes vor einem implizit ausgerichteten numerischen Feld (FIXED BINARY) auf Stufe 0 für neue Felder nutzen
    In Wiederholungsgruppen sind FIXED BINARY Felder in den abgespeicherten Sätzen nicht ausgerichtet. Deshalb gibt es vor diesen Feldern keine impliziten freien Bytes.

  • mehrere vorhandene Feldern in mehrere neue Felder neustrukturieren
    Für die Neustrukturierung müssen zwei RENAME/BALTER-Zyklen durchlaufen werden. Zunächst werden die Ausgangsfelder zu einem CHAR-Feld zusammengefasst. In einem zweiten Schritt kann dieses CHAR-Feld in die neue Struktur aufgeteilt werden. Diese Vorgehensweise kann besonders auch für das Zusammenfassen oder Aufteilen von NCHAR-Feldern genutzt werden.

  • Felder vom Typ DBKEY bzw. DBKEY-LONG umbenennen
    Felder vom Typ DBKEY bzw. DBKEY-LONG, die mit LOCATION MODE DIRECT verwendet werden, können in einem Umbenennungszyklus nicht mit anderen Feldern zusammengefasst werden.

  • Satzarten umbenennen
    Die Umbenennung muss in DDL und SSL an allen Stellen erfolgen.

  • Sets umbenennen
    Die Umbenennung muss in DDL und SSL an allen Stellen erfolgen.

  • Realms umbenennen
    Die Umbenennung muss in DDL und SSL an allen Stellen erfolgen. Ein alter Realmname darf in einem Umbenennungsschritt nicht sofort als neuer Name für einen anderen Realm genutzt werden. Es darf keine Datei mit dem neuen Dateinamen des User Realms existieren.