Example of Foreign Key Constraint
Example: Alternative formulation for 6.3 as a foreign key constraint
ALTER TABLE EXAM_MARK
ADD CONSTRAINT Must_be_enrolled_to_take_exam_alternative3
FOREIGN KEY (StudentId, CourseId)
REFERENCES IS_ENROLLED_ON;
The formulation in Example is available only because the following conditions hold:
- There is a one-to-one correspondence from the specified columns, in the specified order, to those of the primary key of IS_ENROLLED_ON. Corresponding columns do not have to have the same name but they must be of the same declared type. The table name for the referenced table (IS_ENROLLED_ON in the example) can be followed by a commalist of column names in parentheses, in which case that commalist-the referenced columns-must correspond exactly, in the correct order, to some key specified for the referenced table. The referenced columns must be explicitly specified when the applicable key is declared using UNIQUE rather than PRIMARY KEY, or when it is declared using WITHOUT OVERLAPS.
- The referenced table and the referencing table (EXAM_MARK in the example) are both base tables.