Definisce le tabelle logiche nello schema del database CA SDM e le colonne logiche (campi) in quelle tabelle. Queste tabelle e colonne logiche vengono quindi confrontate con le tabelle e le colonne fisiche usate dal sistema di gestione del database tramite un'istruzione di mappatura che segue l'istruzione TABLE.
Nota: se si definisce una nuova tabella, è necessario definire un'istruzione di mappatura per la tabella. L'istruzione di mappatura è illustrata alla fine di questo capitolo, seguita da un esempio che riunisce le istruzioni TABLE, TABLE_INFO e le istruzioni di mappatura.
TABLE nome_tabella {campo tipo_valore attributi_campo; [...]}
Introduce l'istruzione TABLE. Deve essere in lettere maiuscole. Per ogni tabella logica nello schema deve esserci un'istruzione TABLE.
Il nome della tabella del database, ad esempio Call_Req. Se si aggiunge una tabella, è possibile specificare un nome qualsiasi che inizi con la lettera z minuscola. In questo modo si evitano conflitti con i nomi attuali e futuri delle tabelle CA SDM. Se si modifica una tabella esistente, individuarla in uno dei file .sch e utilizzare lo stesso nome.
Il nome di una colonna logica nella tabella, ad esempio id o desc. Ogni colonna deve essere identificata in base al nome. Se si aggiunge una tabella o una colonna ad una tabella esistente, è possibile specificare qualsiasi nome con la lettera z minuscola purché non terminino con i caratteri “_f.” In questo modo si evitano conflitti con i nomi attuali e futuri delle colonne CA SDM. Se si modifica una colonna esistente, individuarla in uno dei file .sch e utilizzare lo stesso nome.
Il tipo di dati del campo. I valori validi sono:
|
Valore |
Descrizione |
|---|---|
|
STRING nn |
Una stringa lunga nn caratteri. |
|
INTEGER |
Un numero a 32 bit. |
|
LOCAL_TIME |
Il numero di secondi a partire dal 01 gennaio 1970. CA SDM riformatta automaticamente questo tipo di dati nel formato della data designato, ad esempio: |
|
DURATION |
Un periodo di tempo, espresso in secondi. |
|
REAL |
Un numero a virgola mobile. |
|
UUID |
Un valore binario a 16 byte. |
attributi_campo
La descrizione del campo. I valori validi sono:
|
Valore |
Descrizione |
|---|---|
|
KEY |
Identifica questo campo come chiave principale da usare per identificare i record da aggiornare con pdm_load. Viene usato se la chiave principale predefinita, id, non è specificata. Deve essere specificato se il campo è la chiave principale nella tabella. |
|
NOT_NULL |
Indica che il campo deve contenere un valore. Deve essere specificato se il campo è la chiave principale nella tabella. Opzionale se il campo non è la chiave principale. |
|
REF other_table_name |
Indica che il campo fa riferimento a un'altra tabella. Opzionale, indipendentemente dal fatto che il campo sia la chiave principale. |
|
S_KEY |
Opzionale, identifica questo campo come chiave secondaria da usare per identificare i record da aggiornare con pdm_load. |
|
UNIQUE |
Indica che i valori nel campo devono essere univoci. Deve essere specificato se il campo è la chiave principale nella tabella. Opzionale se il campo non è la chiave principale. |
Le macro sono sinonimi che verranno convertiti durante la configurazione nel valore rappresentato dalle macro. Le macro possono essere usate per i tipi di dati o per gli attributi. Se si desidera usare le macro, è necessario aggiungere l'istruzione #include per includere il file che definisce la macro, compreso il nome del percorso (di solito il percorso relativo del file dello schema). L'istruzione include deve essere definita prima di usare la macro. Esempio di un'istruzione include:
#include "../schema.mac"
Di seguito sono riportate alcune delle macro definite nei file .mac incluse nella directory $ NX_ROOT/site (UNIX) o directory-installazione/site (Windows).
|
Tipo di dati |
Equivalente |
|---|---|
|
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 |
Di seguito è illustrata un'istruzione TABLE nello schema del database che definisce i livelli di gravità. La macro nn indica che il campo del richiede un valore. La macro uniq indica che è necessario specificare i valori e che questi devono essere univoci:
#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
}
Questa istruzione TABLE modificata rende obbligatorio il campo Priorità nella finestra Dettagli richiesta:
TABLE Call_Req {priority INTEGER NOT_NULL;}
Questa istruzione TABLE aggiunge un campo resolution code alla tabella Call_Req. Il contenuto del campo è numerico e fa riferimento alla tabella Resolution_Code. Questo riferimento consente agli utenti di ‑fare doppio clic sul campo Codice risoluzione, nella finestra Dettagli richiesta, per visualizzare i valori nella tabella Resolution_Code:
TABLE Call_Req {zres_code INTEGER REF Resolution_Code;}
| Copyright © 2012 CA. Tutti i diritti riservati. | Contatta CA Technologies |