next up previous contents
Next: Rules Up: Oracle 7 Database Previous: Oracle 7 Database

Table and View Definitions

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';