next up previous contents
Next: Trigger Procedures Up: Oracle 7 Database Previous: Primary Keys

Foreign Keys

Oracle 7 foreign key definitions generated from the OPM schema shown in section 3 are contained in file Example_foreignkeys.ORA7:

ALTER TABLE CLASSES
    ADD CONSTRAINT fk_CLASSES_1__dbid_1
        FOREIGN KEY ("_dbid")
        REFERENCES DATABASES;

ALTER TABLE COURSE
    ADD CONSTRAINT fk_COURSE_2__oid_2
        FOREIGN KEY ("_oid")
        REFERENCES OBJECTS
            ON DELETE CASCADE;

ALTER TABLE COURSE
    ADD CONSTRAINT fk_COURSE_2__oid_3
        FOREIGN KEY ("_oid", "_defaultVersion")
        REFERENCES "_vCOURSE";

ALTER TABLE COURSE_references
    ADD CONSTRAINT fk_COURSE_refe_3__oid_4
        FOREIGN KEY ("_oid", "_version")
        REFERENCES "_vCOURSE"
            ON DELETE CASCADE;

ALTER TABLE COURSE_references
    ADD CONSTRAINT fk_COURSE_refe_3_references_5
        FOREIGN KEY (references)
        REFERENCES REFERENCE;

ALTER TABLE DEPARTMENT
    ADD CONSTRAINT fk_DEPARTMENT_5__oid_6
        FOREIGN KEY ("_oid")
        REFERENCES OBJECTS
            ON DELETE CASCADE;

ALTER TABLE DEPARTMENT
    ADD CONSTRAINT fk_DEPARTMENT_5_name_7
        FOREIGN KEY (name)
        REFERENCES DepartmentNames;

ALTER TABLE FACULTY
    ADD CONSTRAINT fk_FACULTY_7__oid_8
        FOREIGN KEY ("_oid")
        REFERENCES PERSON
            ON DELETE CASCADE;

ALTER TABLE FACULTY
    ADD CONSTRAINT fk_FACULTY_7__oid_9
        FOREIGN KEY ("_oid", "_defaultVersion")
        REFERENCES "_vFACULTY";

ALTER TABLE FACULTY
    ADD CONSTRAINT fk_FACULTY_7_department_10
        FOREIGN KEY (department)
        REFERENCES DEPARTMENT;

ALTER TABLE PERSON
    ADD CONSTRAINT fk_PERSON_9__oid_11
        FOREIGN KEY ("_oid")
        REFERENCES OBJECTS
            ON DELETE CASCADE;

ALTER TABLE REFERENCE
    ADD CONSTRAINT fk_REFERENCE_10__oid_12
        FOREIGN KEY ("_oid")
        REFERENCES OBJECTS
            ON DELETE CASCADE;

ALTER TABLE SCLASSES
    ADD CONSTRAINT fk_SCLASSES_11__class_13
        FOREIGN KEY ("_class")
        REFERENCES CLASSES;

ALTER TABLE SCLASSES
    ADD CONSTRAINT fk_SCLASSES_11__subclass_14
        FOREIGN KEY ("_subclass")
        REFERENCES CLASSES;

ALTER TABLE STUDENT
    ADD CONSTRAINT fk_STUDENT_12__oid_15
        FOREIGN KEY ("_oid")
        REFERENCES PERSON
            ON DELETE CASCADE;

ALTER TABLE STUDENT
    ADD CONSTRAINT fk_STUDENT_12__oid_16
        FOREIGN KEY ("_oid", "_defaultVersion")
        REFERENCES "_vSTUDENT";

ALTER TABLE STUDENT_attends
    ADD CONSTRAINT fk_STUDENT_att_13__oid_17
        FOREIGN KEY ("_oid", "_version")
        REFERENCES "_vSTUDENT"
            ON DELETE CASCADE;

ALTER TABLE STUDENT_attends
    ADD CONSTRAINT fk_STUDENT_att_13_course_18
        FOREIGN KEY (course, "_vcourse")
        REFERENCES "_vCOURSE";

ALTER TABLE STUDENT_attends
    ADD CONSTRAINT fk_STUDENT_att_13_inDepartm_19
        FOREIGN KEY (inDepartment)
        REFERENCES DEPARTMENT;

ALTER TABLE "_vCOURSE"
    ADD CONSTRAINT fk__vCOURSE_14__oid_20
        FOREIGN KEY ("_oid")
        REFERENCES COURSE
            ON DELETE CASCADE;

ALTER TABLE "_vFACULTY"
    ADD CONSTRAINT fk__vFACULTY_15__oid_21
        FOREIGN KEY ("_oid")
        REFERENCES FACULTY
            ON DELETE CASCADE;

ALTER TABLE "_vSTUDENT"
    ADD CONSTRAINT fk__vSTUDENT_16__oid_22
        FOREIGN KEY ("_oid")
        REFERENCES STUDENT
            ON DELETE CASCADE;