Oracle 7 tables definitions generated from the OPM schema shown in section 3 are contained in file Example_relations.ORA7:
CREATE TABLE CLASSES (
"_cid" NUMBER(16)
CONSTRAINT ck_CLASSES_1__cid NOT NULL,
"_dbid" NUMBER(16),
"_alias" VARCHAR(80),
"_classDescr" VARCHAR(255),
"_className" VARCHAR(32)
CONSTRAINT ck_CLASSES_1__className NOT NULL,
"_type" VARCHAR(20)
CONSTRAINT ck_CLASSES_1__type NOT NULL
);
CREATE TABLE COURSE (
"_defaultVersion" NUMBER(16),
"_nextVersion" NUMBER(16),
"_oid" NUMBER
CONSTRAINT ck_COURSE_2__oid NOT NULL,
courseNumber CHAR(10)
CONSTRAINT ck_COURSE_2_courseNumber NOT NULL,
name VARCHAR(80)
);
CREATE TABLE COURSE_references (
"_aid" NUMBER
CONSTRAINT ck_COURSE_refe_3__aid NOT NULL,
"_oid" NUMBER
CONSTRAINT ck_COURSE_refe_3__oid NOT NULL,
"_version" NUMBER(16)
CONSTRAINT ck_COURSE_refe_3__version NOT NULL,
references NUMBER
CONSTRAINT ck_COURSE_refe_3_references NOT NULL
);
CREATE SEQUENCE Seq_COURSE_references START WITH 1;
CREATE TABLE DATABASES (
"_dbid" NUMBER(16)
CONSTRAINT ck_DATABASES_4__dbid NOT NULL,
"_dbDescr" VARCHAR(255),
"_dbName" VARCHAR(80)
CONSTRAINT ck_DATABASES_4__dbName NOT NULL
);
CREATE TABLE DEPARTMENT (
"_oid" NUMBER
CONSTRAINT ck_DEPARTMENT_5__oid NOT NULL,
name NUMBER(16)
CONSTRAINT ck_DEPARTMENT_5_name NOT NULL
);
CREATE TABLE DepartmentNames (
"_code" NUMBER(16)
CONSTRAINT ck_DepartmentN_6__code NOT NULL,
"_defn" VARCHAR(255),
"_value" VARCHAR(255)
CONSTRAINT ck_DepartmentN_6__value NOT NULL
);
CREATE TABLE FACULTY (
"_defaultVersion" NUMBER(16),
"_nextVersion" NUMBER(16),
"_oid" NUMBER
CONSTRAINT ck_FACULTY_7__oid NOT NULL,
department NUMBER,
rank VARCHAR(255)
CONSTRAINT ck_FACULTY_7_rank CHECK (rank IN ('Professor', 'Associate Professor', 'Assistant Professor') )
);
CREATE TABLE OBJECTS (
"_oid" NUMBER
CONSTRAINT ck_OBJECTS_8__oid NOT NULL
);
CREATE SEQUENCE Seq_OBJECTS START WITH 1;
CREATE TABLE PERSON (
"_oid" NUMBER
CONSTRAINT ck_PERSON_9__oid NOT NULL,
name VARCHAR(50),
ssn NUMBER(16)
CONSTRAINT ck_PERSON_9_ssn NOT NULL
);
CREATE TABLE REFERENCE (
"_foreignOid" VARCHAR(255)
CONSTRAINT ck_REFERENCE_10__foreignOid NOT NULL,
"_oid" NUMBER
CONSTRAINT ck_REFERENCE_10__oid NOT NULL
);
CREATE TABLE SCLASSES (
"_class" NUMBER(16)
CONSTRAINT ck_SCLASSES_11__class NOT NULL,
"_subclass" NUMBER(16)
);
CREATE TABLE STUDENT (
"_defaultVersion" NUMBER(16),
"_nextVersion" NUMBER(16),
"_oid" NUMBER
CONSTRAINT ck_STUDENT_12__oid NOT NULL
);
CREATE TABLE STUDENT_attends (
"_aid" NUMBER
CONSTRAINT ck_STUDENT_att_13__aid NOT NULL,
"_oid" NUMBER
CONSTRAINT ck_STUDENT_att_13__oid NOT NULL,
"_vcourse" NUMBER(16),
"_version" NUMBER(16)
CONSTRAINT ck_STUDENT_att_13__version NOT NULL,
course NUMBER,
inDepartment NUMBER
);
CREATE SEQUENCE Seq_STUDENT_attends START WITH 1;
CREATE TABLE "_vCOURSE" (
"_deleteDate" DATE,
"_fromDate" DATE
CONSTRAINT ck__vCOURSE_14__fromDate NOT NULL,
"_oid" NUMBER
CONSTRAINT ck__vCOURSE_14__oid NOT NULL,
"_preVersion" NUMBER(16),
"_version" NUMBER(16)
CONSTRAINT ck__vCOURSE_14__version NOT NULL
);
CREATE TABLE "_vFACULTY" (
"_deleteDate" DATE,
"_fromDate" DATE
CONSTRAINT ck__vFACULTY_15__fromDate NOT NULL,
"_oid" NUMBER
CONSTRAINT ck__vFACULTY_15__oid NOT NULL,
"_preVersion" NUMBER(16),
"_version" NUMBER(16)
CONSTRAINT ck__vFACULTY_15__version NOT NULL,
salary NUMBER(16)
CONSTRAINT ck__vFACULTY_15_salary CHECK (salary BETWEEN 30000 AND 150000)
);
CREATE TABLE "_vSTUDENT" (
"_deleteDate" DATE,
"_fromDate" DATE
CONSTRAINT ck__vSTUDENT_16__fromDate NOT NULL,
"_oid" NUMBER
CONSTRAINT ck__vSTUDENT_16__oid NOT NULL,
"_preVersion" NUMBER(16),
"_version" NUMBER(16)
CONSTRAINT ck__vSTUDENT_16__version NOT NULL
);
create view PROFESSOR ( "_oid" ) as
select "_oid" from FACULTY
where rank = 'Professor';