COMPOSITE KEY

복합 키는 여러 컬럼을 함께 묶어 식별한다

하나의 컬럼만으로 식별이 부족하면 여러 속성 조합을 기본키로 둘 수 있다.

CompositeNatural keyUnique
CREATE TABLE enrollments (
  student_id NUMBER NOT NULL,
  course_id  NUMBER NOT NULL,
  term       VARCHAR2(10) NOT NULL,
  grade      VARCHAR2(2),
  PRIMARY KEY (student_id, course_id, term)
);

판단: 복합 자연키가 너무 크거나 변경 가능성이 크면 대리키 + UNIQUE 조합을 고려한다.