Referential Integrity
외래키 값은 설명 가능한 부모 키를 가리켜야 한다
자식 테이블의 외래키는 같은 테이블 또는 다른 테이블의 참조 대상 키에 존재하는 값이어야 합니다. NULL은 컬럼이 허용할 때만 관계 미지정을 뜻합니다.
참조 대상
departments
dept_id가 기본키 또는 UNIQUE 키라고 가정합니다.
| dept_id | dept_name |
|---|---|
| 10 | 컴퓨터 |
| 20 | 경영학 |
←
외래키 보유
students
students.dept_id가 departments.dept_id를 참조합니다.
| student_id | name | dept_id |
|---|---|---|
| 1 | 김철수 | 10 |
| 2 | 이영희 | NULL |
dept_id = 10
허용
참조 대상 키에 10이 존재합니다.
dept_id = NULL
조건부 허용
선택 관계이고 FK 컬럼이 NULL을 허용할 때만 가능합니다.
dept_id = 99
거부
참조 대상에 99가 없으므로 고아 참조가 됩니다.