----------  Create or Drop Table  ----------

The "create table" command creates a table in the database.  There  are three 
variations:

Syntax 1:

     create [table] TABLE  | ( ITEM {, ITEM} [, CONSTRAINT {, CONSTRAINT}])  |
                           | set ITEM {, ITEM} [, CONSTRAINT {, CONSTRAINT}] |

                           [locate [in] LOCATION_NAME]; 

ITEM is:  ATTR_NAME [DATATYPE [(PARAMETER {, PARAMETER})]
                              [[not] null]
                              [[not] encrypted]
                              [ATTR_CONSTRAINT]].

ATTR_CONSTRAINT is one of:

     a) primary key [KEY_NAME] [| btree      |]
                                | timeseries |

     b) constraint CONSTRAINT_ID primary key [| btree      |]
                                              | timeseries |

     c) foreign key [KEY_NAME]

                [| distinct                  |  | btree      |]
                 | unique                    |  | timeseries |
                 | [(]PRIMARY[,] OVERFLOW[)] |
                 | not index                                 |

                references TABLE (ATTR_NAME)

     d) constraint CONSTRAINT_ID foreign key

                [| distinct                  |  | btree      |]
                 | unique                    |  | timeseries |
                 | [(]PRIMARY[,] OVERFLOW[)] |
                 | not index                                 |

                references TABLE (ATTR_NAME)

     e) unique [| btree      |]
                | timeseries |

     f) constraint CONSTRAINT_ID unique [| btree      |]
                                         | timeseries |

CONSTRAINT is one of:

     a) primary key [KEY_NAME] [on] (ATTR_NAME {, ATTR_NAME}) [| btree      |]
                                                               | timeseries |

     b) constraint CONSTRAINT_ID primary key (ATTR_NAME {, ATTR_NAME} )

               [| btree      |]
                | timeseries |

     c) foreign key [KEY_NAME] [on] (ATTR_NAME {, ATTR_NAME})

                [| distinct                  |  | btree      |]
                 | unique                    |  | timeseries |
                 | [(]PRIMARY[,] OVERFLOW[)] |
                 | not index                                 |

               references TABLE (ATTR_NAME {, ATTR_NAME})

     d) constraint CONSTRAINT_ID foreign key (ATTR_NAME {, ATTR_NAME} )

                [| distinct                  |  | btree      |]
                 | unique                    |  | timeseries |
                 | [(]PRIMARY[,] OVERFLOW[)] |
                 | not index                                 |

               references TABLE (ATTR_NAME {, ATTR_NAME})

     e) unique (ATTR_NAME {, ATTR_NAME} ) [| btree      |]
                                           | timeseries |

     f) constraint CONSTRAINT_ID unique (ATTR_NAME {, ATTR_NAME} )

               [| btree      |]
                | timeseries |

Here, all required information for the attributes is contained in the  command
itself.  The desired table name is specified for TABLE.

The keywords "not null" may be used to ensure that a value will always be  en-
tered for one or all attributes.

CONSTRAINT can be used to create primary/foreign key(s) on assigned attributes.

"locate" option can be used to specify the location of the table.

For further information, enter:

                help datatypes;

Syntax 2:

     create [table] TABLE [locate [in] LOCATION_NAME] [from FILE] ;

If "from" option is specified, the information for the attributes is contained
in the file  FILE.   The file  must be in the format produced  by  a  "display 
TABLE dump into FILE;" command.

For further information, enter:

                help display;

If "from" option is not specified, you will be prompted for  attribute  infor-
mation via the Interactive  Interface.  You may  select  whether or  not null 
values will be allowed.

For further information on Interactive Interface commands, enter:

                help ia_create;

Syntax 3:

     create [and insert into] replicate [table] TABLE 
            from REPLICATION_MASTER_INFO;

Here, REPLICATION_MASTER_INFO is one of the form: 

     a)  SERVER_NAME:DB_NAME:TABLE_NAME 

     b)  SERVER_NAME:DB_NAME..TABLE_NAME 

This command is used to create a replicate table from a master table, if "and
insert into" option is specified, then the initial synchronization will be 
done.

For further information on "create replication", enter:

                help replication;


To REMOVE a table, its definition, and ALL its contents from the database, the
"drop_table" command is used.

Syntax:

     drop [table] TABLE [with force];

If "with force" option is specified, the TABLE and all its contents are
removed from the database without checking the corresponding primary/foreign
key(s) related to TABLE; and if TABLE is a master/replicate table, without
checking its replication replicate entries and the corresponding replication
master table(s).

"with force" option is different from "cascaded drop". Currently, "cascaded
drop" is not supported in Empress.

                    *** USE THIS COMMAND WITH CAUTION ***
