Page History
Table of Contents | ||||
---|---|---|---|---|
|
DDML, a language based on XML (Extensible Markup Language), allows you to logically define the entities you want to add to the Precise schema, such as tables, views, indexes, foreign keys, and all other required components. It covers the common entities available in most popular DBMSs.
After you have defined all database entities in DDML, you must run the DDML creation script to physically create the entities in the database.
General DDML document format
The general format of a DDML document looks as follows:
...
Root element of a DDML document. Its children are the main database entities:
...
.
...
...
Children Display |
---|
...
If a table is a statistics table, meaning means that the type attribute has the value STATISTICS, the <summary-hour>
, <summary-day>
, <summary-week>
, and <summary-month>
tags can be specified as children of the <table-definition>
tag.
...
<tables-definition> tag
Root element of the DDML document.
...
Required. Holds the product short name (product shortcut) consisting if two characters that define the product.
In this case, three custom-defined products are available:
C1
For customer-defined 1C2
For customer-defined 2C3
For customer-defined 3
<table-definition> tag
Holds all of the information included in a single table.
...
Required. Specifies the table type and can hold one of the following values:
- Statistics. A PMDB table that holds information about certain database activity, summarized into hours or time slices.
- Events. A PMDB table that keeps a log of database incidents.
...
Optional. Affects only Oracle and is developed as PCTFREE pctfree
.
Can have a value between 0 and 99.
If the PMDB is a Microsoft SQL Server database, this attribute is transformed to fill factor
.
...
Optional. Affects only Oracle and is developed as STORAGE(oracle-storage-clause)
. For example:
oracle-storage-clause="initial 1M next 1M minextents 1maxextents unlimited pctincrease 100"
...
The <table-definition>
tag can have the following children:
<column-definition>
<index-definition>
<foreign-key-definition>
...
Optional. Instructs to define an hour-level summary table for this table. Used for time slice statistics tables.
The name of the summary table is specified by the name attribute (required). The summary table name should follow the naming conventions specified in Naming conventions.
...
Optional. Instructs to define a day-level summary table for this table.
The name of the summary table is specified by the name attribute (required). The summary table name should follow the naming conventions specified in Naming conventions.
...
Optional. Instructs to define a week-level summary table for this table.
The name of the summary table is specified by the name attribute (required). The summary table name should follow the naming conventions specified in Naming conventions.
...
Optional. Instructs to define a month-level summary table for this table.
The name of the summary table is specified by the name attribute (required). The summary table name should follow the naming conventions specified in Naming conventions.
<ddl-definition> tag
Holds DDL (Data Definition Language) and DML (Data Manipulation Language) statements that can be performed during installation or uninstallation, such as stored procedures.
...
Optional. the RDBMS type on which the DDL generates. Must be one of the following:
oracle
mssql
""
If left empty (""), the DDL is created on all relational database management systems (RDBMS).
...
Optional. The RDBMS version on which the DDL generates. Should have the format 8.1. ...
If left empty, the DDL is created on all RDBMS versions.
...
Optional. The RDBMS version on which the DDL generates. Must be one of the following:
INSTALL
Default. During the installation process only.UNINSTALL
During the uninstallation process only.PREINSTALL
Before the installation process.PREUNINSTALL
Before the uninstallation process.
<view-definition> tag
Holds all the parameters required for a view definition.
...
Required. Specifies the view type and can hold one of the following values:
STATISTICS
A PMDB view that holds information about certain database activity, summarized into hours or time slices.INTERNAL
A PMDB view that keeps any other, non-statistical information.
...
<column-definition> tag
Holds all the parameters of a column.
...
Required. Holds the data type of a column:
BOOLEAN
Does not requiredata-length
ordata-scale
attributes. These attributes should not be specified. Implementation on all DBMSs:CHAR(1)
whereT
is the booleanTRUE
value andF
isFALSE
.
CHAR
Requiresdata-length
attribute. Implementation on all DBMSs:CHAR(data-length)
CLOB
Requiresdata-length
attribute. Implementation:TEXT
for Microsoft SQL ServerCLOB
for Oracle
DECIMAL
Requiresdata-length
(used for precision) anddata-scale
attributes. Implementation:NUMBER(data-length, data-scale)
for Microsoft SQL Server and IBM UDB Oracle
FLOAT
Requiresdata-length
attribute. Implementation:FLOAT(data-length)
for Microsoft SQL ServerNUMBER
without any parameters for Oracle
INTEGER
Requiresdata-length
attribute. Implementation:data-length
less than three:TINYINT
;data-length
two-to-four:SMALLINT
;data-length
more than four:BIGINT
for Microsoft SQL ServerNUMBER(data-length)
for Oracle
TIMESTAMP
Does not requiredata-length
ordata-scale
attributes. These attributes should not be specified. Implementation:DATETIME
for Microsoft SQL ServerTIME
for Oracle
UNIQUE INTEGER
Does not requiredata-length
ordata-scale
attributes. These attributes should not be specified. This is a data type for a unique integer whose values are generated automatically. Implementation:IDENTITY
for Microsoft SQL ServerNUMBER(20,0)
for Oracle. In addition, aSEQUENCE
and a TRIGGER BEFORE INSERT are created, which select theNEXTVAL
of theSEQUENCE
fromDUAL
.
VARCHAR
Requires thedata-length
attribute. Implementation:VARCHAR(data-length)
for Microsoft SQL ServerVARCHAR2(data-length)
for Oracle
VARBINARY
Requires thedata-length
attribute. Implementation:VARBINARY(data-length)
for Microsoft SQL ServerRAW(data-length)
for Oracle
...