문제
다음 릴레이션에서 참조 무결성 제약조건 위반이 발생할 수 있는 상황으로 가장 적절한 것은?
EMPLOYEE(emp_id, name, dept_id)
DEPARTMENT(dept_id, dept_name)
EMPLOYEE.dept_id는 DEPARTMENT.dept_id를 참조
① DEPARTMENT 테이블에서 dept_id가 'D001'인 부서를 삭제하는데, 해당 부서에 소속된 직원이 존재하는 경우 ② EMPLOYEE 테이블에 새로운 직원을 추가할 때 dept_id에 NULL 값을 입력하는 경우 ③ DEPARTMENT 테이블의 dept_id를 'D001'에서 'D002'로 변경하는데, EMPLOYEE에서 해당 부서를 참조하는 직원이 없는 경우 ④ EMPLOYEE 테이블에서 동일한 dept_id를 가진 여러 직원이 존재하는 경우
정답
1번
해설
①이 정답이다. 참조 무결성은 외래키가 참조하는 기본키 값이 삭제되면 외래키가 존재하지 않는 값을 참조하게 되어 위반된다. ②는 외래키에 NULL이 허용되므로 문제없고, ③은 참조하는 직원이 없으므로 안전하며, ④는 여러 직원이 같은 부서를 참조하는 것은 정상적인 상황이다.