The OPM Schema Translator presented in this document is part of a suite of data management tools based on the Object-Protocol Model (OPM) [1]. These tools allow defining a database in terms of application-specific objects and protocols. OPM data management tools provide users with powerful facilities for developing database systems while making the underlying database management system (DBMS) transparent [3].
An OPM schema can be specified using a text editor or using the OPM Schema Editor. Once an OMP schema is specified, the OPM Schema Translator is employed in order to generate the corresponding relational DBMS schema.
The OPM Schema Translator consists of two main modules: the first module takes OPM schemas as input and generates abstract (DBMS-independent) relational schemas and queries; the second module takes abstract relational schemas as input and generates schema definitions for specific commercial relational DBMS, such as Sybase 10, Sybase 11 and Oracle 7.
The OPM Schema Translator maps OPM schemas into normalized (BCNF) relational schemas consisting of definitions for relations (tables), keys and referential integrity constraints. For a relational DBMS that has a referential integrity mechanism (e.g., Sybase 11 and Oracle 7), the appropriate referential integrity procedures (e.g., Sybase triggers and Oracle triggers) or declarative referential integrity constraint specifications are generated. For relational DBMSs that have mechanisms for maintaining value constraints, domain rules are also generated. The OPM Schema Translator also generates procedures for verifying off-line the consistency of a database with regard to the referential integrity and value constraints.
Finally, the OPM Schema Translator generates files containing metadata describing the OPM and relational schemas, and their mapping.
Mapping OPM schemas into relational schemas and queries is described in [2].