Vorheriges Thema: Syntax der SchemadateienNächstes Thema: TABLE_INFO-Anweisung


TABLE-Anweisung

Definiert die logischen Tabellen im CA SDM-Datenbankschema und die logischen Spalten (Felder) in diesen Tabellen. Diese logischen Tabellen und Spalten werden dann den physischen Tabellen und den Spalten zugeordnet, die von Ihrem Datenbank-Management-System in einer Zuordnungsanweisung verwendet werden, die der TABLE-Anweisung folgt.

Hinweis: Wenn Sie eine neue Tabelle definieren, müssen Sie für diese eine Zuordnungsanweisung definieren. Die Zuordnungsanweisung ist am Ende dieses Kapitels dargestellt, gefolgt von einem Beispiel, das die TABLE-, TABLE_INFO- und Zuordnungsanweisungen kombiniert.

Syntax

TABLE table_name {field value_type field_attributes; [...]}

Argumente

TABLE

Führt die TABLE-Anweisung ein. Muss in Großbuchstaben sein. Für jede logische Tabelle im Schema muss eine TABLE-Anweisung verfügbar sein.

table_name

Der Name der Datenbanktabelle (z. B. Call_Req). Wenn Sie eine Datenbanktabelle hinzufügen, können Sie einen beliebigen mit einem kleinen "z" beginnenden Namen angeben (dadurch werden mögliche Konflikte mit vorhandenen und künftigen CA SDM-Tabellennamen vermieden). Wenn Sie eine vorhandene Tabelle ändern, suchen Sie die Tabelle in einer der .sch-Dateien und verwenden denselben Namen.

field

Der Name einer logischen Spalte in der Tabelle (z. B. id oder desc). Sie müssen jede Spalte mit Namen identifizieren. Wenn Sie eine Tabelle oder einer vorhandenen Tabelle eine Spalte hinzufügen, können Sie einen beliebigen mit einem kleinen "z" beginnenden Namen angeben. Feldnamen dürfen allerdings nicht mit den Zeichen "_f" enden (dadurch werden mögliche Konflikte mit vorhandenen oder künftigen CA SDM-Namen vermieden). Falls Sie eine vorhandene Spalte ändern, suchen Sie die Spalte in einer der .sch-Dateien und verwenden denselben Namen.

value_type

Der Datentyp des Felds. Gültige Werte sind:

Wert

Beschreibung

STRING nn

Eine Zeichenfolge, die nn Zeichen lang ist.

INTEGER

Eine Zahl mit 32-Bit.

LOCAL_TIME

Die Anzahl von Sekunden seit 1. Januar 1970. CA SDM formatiert diesen Datentyp automatisch im angegebenen Datumsformat neu. Beispiel:
mm/tt/jj hh:mm:ss.

DAUER

Eine Zeitspanne (gemessen in Sekunden)

REAL

Eine Gleitkommazahl

UUID

Ein binärer Wert (16 Byte)

field_attributes

Eine Beschreibung des Feldes Gültige Werte sind:

Wert

Beschreibung

KEY

Identifiziert dieses Feld als den Primärschlüssel, der für die Identifizierung von Datensätzen verwendet wird, die mit pdm_load aktualisiert werden. Dieses Feld wird verwendet, wenn der standardmäßige Primärschlüssel (id) nicht angegeben ist. Muss angegeben werden, wenn das Feld der Primärschlüssel in der Tabelle ist.

NOT_NULL

Gibt an, dass das Feld einen Wert enthalten muss. Muss angegeben werden, wenn das Feld der Primärschlüssel in der Tabelle ist. Optional, wenn das Feld nicht der Primärschlüssel ist.

REF other_table_name

Gibt an, dass das Feld auf eine andere Tabelle verweist. Gibt optional an, ob das Feld den Primärschlüssel enthält oder nicht.

S_KEY

Identifiziert dieses Feld optional als den Sekundärschlüssel, der für die Identifizierung von Datensätzen verwendet wird, die mit pdm_load aktualisiert werden.

UNIQUE

Gibt an, dass die Werte in diesem Feld einmalig sein müssen. Muss angegeben werden, wenn das Feld der Primärschlüssel in der Tabelle ist. Optional, wenn das Feld nicht der Primärschlüssel ist.

Makros sind Synonyme, die während der Konfiguration zu dem Wert, den das Makro darstellt, konvertiert wird. Sie können Makros entweder für Datentypen oder Attribute verwenden. Wenn Sie Makros verwenden möchten, müssen Sie die #include-Anweisung hinzufügen, um die Datei einzufügen, die das Makro definiert, einschließlich des Pfadnamens (normalerweise relativ zu Ihrer Schemadatei). Die include-Anweisung muss vor der Verwendung des Makros definiert werden. Beispiel für include-Anweisung:

#include "../schema.mac"

Im Folgenden sind einige der Makros aufgeführt, die in .mac-Dateien im Verzeichnis "$ NX_ROOT/site" (UNIX) oder "Installationsverzeichnis/site" (Windows) definiert sind.

Datentyp

Entspricht

nn

NOT_NULL

uniq

UNIQUE NOT_NULL

ADDR_LINE

STRING 30

EMAILADDR

STRING 120

ENT_DESC

STRING 40

ENT_NAME

STRING 30

OSI_NAME

STRING 80

OSI_TYPE_STRING

STRING 60

USERID

STRING 85

PHONENUM

STRING 32

SYMBOL

STRING 12

HIER_SYM

STRING 60

LONG_SYM

STRING 30

COMMENT

STRING 1000

LONG_STR

STRING 500

LONG_DESC

STRING 240

BOOL

INTEGER

Beispiele

Diese TABLE-Anweisung im Datenbankschema definiert Schweregrade. Das Makro nn gibt an, dass im Feld „del“ ein Wert erforderlich ist. Das Makro uniq gibt an, dass eindeutige Werte erforderlich sind:

#include :../schema.mac”
TABLE Severity {
   id        INTEGER uniq KEY;    // key id
   del       INTEGER nn;          // 0=present,1=gone
   sym       SYMBOL uniq S_KEY; // type symbol
   desc      ENT_DESC;            // non‑OSI specified column
}

Durch diese modifizierte TABLE-Anweisung wird das Feld "Priorität" im Fenster "Anfrage - Detail" erforderlich:

TABLE Call_Req {priority INTEGER NOT_NULL;}

Diese TABLE-Anweisung fügt ein Feld für den Lösungscode zur Tabelle „Call_Req“ hinzu. Der Inhalt dieses Feldes ist numerisch und verweist auf die Tabelle „Resolution_Code“. Durch diesen Verweis können Benutzer im Fenster "Anfrage‑Detail" in das Feld "Lösungscode" doppelklicken, um die Werte in der Tabelle "Resolution_Code" anzuzeigen:

TABLE Call_Req {zres_code INTEGER REF Resolution_Code;}