|PREV PACKAGE NEXT PACKAGE||FRAMES NO FRAMES|
|Catalog||A Catalog is the unit of logon and identification.|
|CheckConstraint||A rule that specifies the values allowed in one or more columns of every row of a table.|
|Column||A column in a result set, a view, a table, or an SQLStructuredType.|
|ColumnOptionsColumnSet||Associates Columns with NamedColumnSets they reference in their OPTIONS clause.|
|ColumnRefStructuredType||Associates Columns of a StructuredType with the Type they reference in the REF clause|
|ColumnSet||A set of columns, representing either the result of a query, a view or a physical table.|
|ColumnSetOfStructuredType||Associates structured types with NamedColumnSets defined of this type.|
|ColumnValue||The value in a column instance.|
|ForeignKey||A Foreign Key associates columns from one table with columns of another table.|
|NamedColumnSet||A catalogued set of columns, which may be Table or View.|
|PrimaryKey||There is only one UniqueConstraint of type PrimaryKey per Table.|
|Procedure||This class describes Relational DBMS Stored procedures and functions.|
|QueryColumnSet||The result set of a query.|
|Row||An instance of a ColumnSet.|
|RowClass||An instance of a ColumnSet.|
|RowSet||Each instance of RowSet owns a collection of Row instances.|
|Schema||A schema is a named collection of tables|
|SqldataType||A SQLDataType is used to reference any datatype associated with a column|
|SqldistinctType||A datatype defined as a Distinct Type, per [SQL] standard.|
|Sqlindex||An Index on a table.|
|SqlindexColumn||Associates an index with its columns.|
|Sqlparameter||Parameters of stored procedures.|
|SqlsimpleType||A simple datatype used with an SQL column.|
|SqlstructuredType||A Datatype defined as Structured Type, per [SQL] standard.|
|Table||A materialized NamedColumnSet.|
|TableOwningTrigger||Associates a Table with its Triggers.|
|Trigger||An action run by the DBMS when specified events occur on the table owning the Trigger|
|TriggerUsingColumnSet||This associates a Trigger with the NamedColumnSets it uses in its expressions.|
|UniqueConstraint||A condition to define uniqueness of rows in a table.|
|View||A view is a non-materialized set of rows, defined by the associated query.|
The Relational package describes data accessible through a relational interface such as a native RDBMS, ODBC, or JDBC. The Relational package is based on the [SQL] standard section concerning RDBMS catalogs.
The scope of the top level container, Catalog, is intended to cover all the tables a user can use in a single statement. A catalog is also the unit which is managed by a data resource. A catalog contains schemas which themselves contain tables. Tables are made of columns which have an associated data type.
The Relational package uses constructs in the ObjectModel package to describe the object extensions added to SQL by the [SQL] standards.
The Relational package also addresses the issues of indexing, primary keys and foreign keys by extending the corresponding concepts from the Foundation packages.
The Relational package depends on the following packages:
The Relational package references the ObjectModel and Foundation packages.
Figure 9-1 (below) shows the Relational package classes and their inheritance from the ObjectModel and Foundation classes. The Relational package, as do the other data packages, define top-level containers (Catalog, Schema) that extend the ObjectModel Package class. ColumnSet and SQLStructuredType extend Class. The Columns contained in the ColumnSet are extensions of the ObjectModel Attribute. The data type of a column (SQLDataType) inherits from ObjectModel Classifier. This structuring of the classes will be particularly useful to describe the object extensions of SQL:
A ColumnSet represents any form of relational data. A NamedColumnSet is a cataloged version of a ColumnSet, which is owned by a Schema. A NamedColumnSet can be a logical View or a physical Table. Instead of being a NamedColumnSet, a ColumnSet can be a QueryColumnSet, which is the result of an SQL query.
Columns are associated with an SQLDataType, using the type association from StructuralFeature to Classifier inherited from ObjectModel Core.
The following figure shows the original two data types: simple type and distinct type. Simple types are defined by the [SQL] standards, however, some RDBMS implementations use additional types. An SQL distinct type is defined from a simple type.
Indexing is part of the Foundation and is extended in the Relational package.
For additional information, see the CWM specification at http://www.cwmforum.org.
|PREV PACKAGE NEXT PACKAGE||FRAMES NO FRAMES|