Standardtabellen Spalten hinzufügen

Sie können Tabellen Spalten hinzufügen, indem Sie die XML-Erweiterungsdateien für Entitäten der Datenbank ändern und anschließend die Anwendungsdatenbank und die JAR-Dateien neu erstellen. Wenn die Anwendung neu erstellt wurde, erkennen die APIs diese hinzugefügten Spalten und verwenden diese beim Speichern und Abrufen von Daten.

Informationen zu diesem Vorgang

So fügen Sie einer Standardtabelle eine Spalte hinzu:

Vorgehensweise

  1. Kopieren Sie die Datei installationsverzeichnis/repository/entity/extensions/Extensions.xml.sample als Datei installationsverzeichnis/extensions/global/entities/ihr_dateiname.xml oder ändern Sie Ihre vorhandene XML-Erweiterungsdatei.
  2. Bearbeiten Sie die Datei your_filename.xml, um ein neues Entitätstag hinzuzufügen, wie im folgenden Beispiel für jede Tabelle, die Sie erweitern möchten, dargestellt. Wenn das Tag bereits vorhanden ist, verwenden Sie dieses. Eine Beschreibung der XML-Attribute finden Sie in der Tabelle, die auf das Beispiel folgt.
    <!-- element exposed to create a column --> 
    <DBSchema Depends="" Name=""> 
      <Entities> 
        <Entity TableName="REQUIRED"> 
        <Attributes> 
          <Attribute ColumnName="REQUIRED" DataType="" DecimalDigits="" 
           CompressionSupported="false"
           UseCompression="false" QueryAllowed="false" DefaultValue="" Description=""
           Nullable="false" Size="1" Type="REQUIRED" XMLName="OPTIONAL" Name="OPTIONAL" XMLGroup=""
           SqlServerDataType="" /> 
        </Attributes> 
        </Entity> 
      </Entities> 
    </DBSchema>
    Hinweis: Wenn ColumnName mit einem Nicht-ASCII-Zeichensatz angegeben wird, sind die Attribute XMLName und Name erforderlich.

    Die folgende Beispielerweiterungs-XML-Datei stellt ein Attribut oder einen Index dar, wenn sie einer Tabellenspalte hinzugefügt wird:

    Einer Tabellenspalte hinzugefügtes Attribut

    <DBSchema Name="FunctionalExtensions"> 
      <Entities> 
        <Entity TableName="REQUIRED"> 
        <Attributes> 
          <Attribute ColumnName="REQUIRED" DataType="" DecimalDigits="" 
           CompressionSupported="false"
           UseCompression="false" QueryAllowed="false" DefaultValue="" Description=""
           Nullable="false" Size="1" Type="REQUIRED" XMLName="OPTIONAL" Name="OPTIONAL" XMLGroup=""
           SqlServerDataType="" /> 
        </Attributes> 
        </Entity> 
      </Entities> 
    </DBSchema>

    Einer Tabellenspalte hinzugefügter Index

    <DBSchema Depends="FunctionalExtensions" Name="SystestIndexes"> 
      <Entities> 
        <Entity TableName="REQUIRED"> 
        <Indices> 
          <Index Name="ExtnIndex_1"/> 
             <Column Name="REQUIRED"/>
          </Index> 
        </Indices>
        </Entity> 
      </Entities> 
    </DBSchema>

    Attribut

    Beschreibung

    Depends

    Optionaler Parameter. Name der Erweiterungsdatei, die Ihre abhängigen Entitäten enthält. Die nicht benannten Dateien werden implizit benannt. Der Abschnitt ".xml" wird intern vom Dateinamen entfernt. Sie müssen den Pfad relativ zum Verzeichnis der Repository-Entität einbeziehen. In diesem Fall befindet sich die Datei "FunctionalExtensions.xml" beispielsweise in "resources.jar" im Verzeichnis "database/entities/upgradeextensions/".

    Ihren Namen

    Optional. Wenn Sie jedoch einen Nicht-ASCII-Zeichensatz verwenden, ist dieses Attribut neben "XMLName" erforderlich.

    Ein Name für diese Entität-Erweiterungsdatei, der die Erweiterungsdatei angibt, falls eine andere Entität von dieser Datei abhängig ist. Die nicht benannten Dateien werden implizit benannt. Der Abschnitt ".xml" wird intern vom Dateinamen entfernt. Sie müssen den Pfad relativ zum Verzeichnis der Repository-Entität einbeziehen. In diesem Fall befindet sich die Datei "SystestIndexes.xml" beispielsweise in "resources.jar" im Verzeichnis "database/entities/upgradeextensions/".

    ColumnName

    Erforderlich. Name der Spalte, die dieser Tabelle hinzugefügt wird. Der Name für "ColumnName" muss mit "EXTN_" beginnen.

    "XMLName" und "Name" sind erforderlich, falls es sich um ein Nicht-ASCII-Attribut handelt.

    DataType

    Optionaler Parameter. Gültige Werte werden in der Datei installationsverzeichnis/repository/datatypes/datatypes.xml bereitgestellt.

    Hinweis: Der Datentyp BLOB wird nicht unterstützt.

    DecimalDigits

    Optionaler Parameter. Anzahl an erforderlichen Nachkommastellen. Nur für numerische Felder erforderlich.

    CompressionSupported

    Optionaler Parameter. Mit diesem Attribut wird angegeben, ob die Datenkomprimierung für diese Spalte unterstützt wird. Gültige Werte sind True oder False. Wenn "True" festgelegt ist, ist die Unterstützung der Komprimierung aktiviert.

    Hinweis: Wenn Sie Daten in eine Spalte eingefügt haben und sowohl das Attribut CompressionSupported als auch das Attribut UseCompression auf "True" gesetzt haben, setzen Sie das Attribut CompressionSupported nicht wieder auf "False". Andernfalls würden alle komprimierten Daten ohne jegliche Dekomprimierung abgerufen werden.

    UseCompression

    Optionaler Parameter. Mit diesem Attribut werden Daten für diese Spalte komprimiert. Gültige Werte sind True oder False. Wenn "True" festgelegt ist, werden die Daten komprimiert.

    Hinweis: Der Wert dieses Attributs sollte nur auf "True" gesetzt werden, wenn das Attribut CompressionSupported auf "True" gesetzt ist.

    QueryAllowed

    Optionaler Parameter. Mit diesem Attribut wird eine komprimierbare Spalte aktiviert, die für Abfragen in einer Listen-API verwendet wird. Gültige Werte sind True oder False. Wenn "True" festgelegt ist, kann die Spalte für Abfragen in den Listen-APIs verwendet werden.

    Hinweis: Wenn der Wert des Attributs CompressionSupported auf "true" gesetzt ist, sollte auch der Wert dieses Attributs auf "true" gesetzt werden.

    DefaultValue

    Erforderlich. Dieses Attribut wird unverändert für die Standardklausel in Ihrer Datenbank verwendet.

    Beschreibung

    Optionaler Parameter. Die Beschreibung der Spaltenverwendung.

    NULL-Werte zulassen

    Optionaler Parameter. Mit diesem Attribut wird der nullfähige Wert eines Feldes beschrieben. Die Standardeinstellung ist false.

    Es wird empfohlen, sie auf truezu setzen, sofern es sich nicht um die Primärschlüsselspalte handelt.

    Größe

    Die Größe der Datenbankspalte.

    Typ

    Erforderlich. Der Datentyp der Datenbankspalte. Dieses Attribut bestimmt auch den Typ des Attributs in den generierten Java™ -Klassen und das Format des Attributs in der XML. Die gültigen Typen lauten CHAR, VARCHAR2, NUMBER, DATE und TIMESTAMP.

    Hinweis Bei Angabe von DATE wird nur das Kalenderdatum gespeichert. Wenn TIMESTAMP angegeben ist, werden das Kalenderdatum und die Uhrzeit gespeichert.

    XMLName

    Der XML-Name des Attributs, wenn er sich vom Namen des Attributs unterscheidet. Neben dem Name-Attribut ist dieses Attribut bei Verwendung eines Nicht-ASCII-Zeichensatzes erforderlich.

    Wählen Sie einen Namen aus, der nicht mit der Basiserweiterung in Konflikt steht. Es wird empfohlen, dass Sie "Extn" als Präfix verwenden. Es wird außerdem dringend empfohlen, dass Sie dieselbe Konvention für XMLName verwenden wie vom Basisprodukt verwendet: Verwenden Sie für jeden Buchstaben, der auf einen Unterstrich im Spaltennamen folgt, die Großschreibung und schreiben Sie die übrigen Buchstaben klein. Entfernen Sie anschließend die Unterstriche. Dadurch muss aus "Extn_Item_Id" Folgendes werden: ExtnItemId.

    XMLGroup

    Wenn vorhanden, gibt dies das untergeordnete Tag an, in dem das Attribut vorhanden ist. Wenn das Attribut in der XML nicht vorhanden ist, verwenden Sie die Zeichenfolge NOT_SHOWN.

    XMLGroup muss Extn sein. Daher befinden sich die Daten für die erweiterten Spalten in einem separaten Element in der XML-API-Ausgabe.

    VirtualDefaultValue

    Optionaler Parameter. Dieses Attribut ist für Null-Spalten gültig. Wenn von der Datenbank eine Null zurückgegeben wird, wird sie im Speicher als Standardwert gespeichert.

    ForceUpperCase

    Optionaler Parameter. Wenn für eine Textspalte eine von der Groß-/Kleinschreibung unabhängige Suche erforderlich ist, muss dieses Feld auf "True" festgelegt werden.

    Wenn es auf "True" festgelegt ist, wandelt das System die in diesem Feld eingegebenen Daten in Großbuchstaben um.

  3. Erstellen Sie für jede Spalte, die Sie der Tabelle hinzufügen möchten, ein neues Tag "Attribute".
  4. Erweitern Sie die entsprechenden API-Vorlagen, indem Sie die Schritte ausführen, die unter "Informationen zum Erweitern von API-Vorlagen" aufgeführt sind.
  5. Erstellen und implementieren Sie Ihre Erweiterungen. Beim Erstellen von Datenbankerweiterungen wird das Tool "dbverify" ausgeführt, wobei von "dbverify" generierte SQLs auf die Datenbank angewendet werden.

Ergebnisse

Ein Sonderfall der Erweiterung von Spalten zum Hinzufügen eindeutiger Tag-IDs oder Deskriptoren wird im Abschnitt Eindeutige Tag-IDs und Deskriptoren zu einer Standardtabelle hinzufügenerläutert.