Package org.omg.cwm.resource.relational

The Relational package describes data accessible through a relational interface such as a native RDBMS, ODBC, or JDBC.

See:
          Description

Interface Summary
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.
DistinctTypeHasSimpleType  
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.
 

Package org.omg.cwm.resource.relational Description

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.

Organization of the Relational package

Inheritance

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:

Relational Package Inheritances SQLParameter ForeignKey PrimaryKey UniqueConstraint SQLIndex SQLIndexColumn View Table SQLDistinctType SQLSimpleType SQLStructuredType QueryColumnSet NamedColumnSet Procedure Column SQLDataType ColumnSet Schema Catalog Not implemented in the SDK ModelElement (from Core) Class (from Core) Not implemented in the SDK Not implemented in the SDK Not implemented in the SDK Not implemented in the SDK Not implemented in the SDK Not implemented in the SDK Not implemented in the SDK Attribute (from Core) DataType (from Core) Classifier (from Core) Package (from Core) Not implemented in the SDK Not implemented in the SDK

Tables, columns and data types

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.

Tables, columns and data types View Table SQLSimpleType SQLDistinctType NamedColumnSet SQLDataType Column ColumnSet Not implemented in the SDK Not implemented in the SDK

Index

Indexing is part of the Foundation and is extended in the Relational package.

Indexing SQLIndexColumn SQLIndex Table Column NamedColumnSet ColumnSet Not implemented in the SDK Not implemented in the SDK

For Additional Information

For additional information, see the CWM specification at http://www.cwmforum.org.

 

Since:
1.0


Copyright 1997-2005 by Object Management Group, Inc. (http://www.omg.org/), 250 First Ave. Needham, MA 02494 U.S.A. All rights reserved. Unless otherwise indicated, users may make a single copy of the contents, in whole or in part, of this web site strictly for personal, non-commercial use. In the event that all or part of this site is downloaded for personal use, users shall maintain all proprietary notices including copyright notices that appear on or in connection with that content. Other than creating a single copy of contents for personal use as described herein, users may not copy, reproduce, distribute, republish, download, display, post or transmit in any form or by any means, including but not limited to electronic, mechanical, photocopying, recording, or other means, any content found or linked to the OMG web site without the prior express written permission of OMG. Any unauthorized use of any content contained on the OMG web site may violate the copyright laws, trademark laws, laws relating to publicity and privacy, and other regulations and statutes in the U.S. and other countries.