문제
다음 테이블 생성문에서 발생할 수 있는 문제로 가장 적절한 것은?
SQLCREATE TABLE EMPLOYEE ( EMP_ID INT PRIMARY KEY, DEPT_ID INT, SALARY INT CHECK(SALARY > 0), CONSTRAINT FK_DEPT FOREIGN KEY(DEPT_ID) REFERENCES DEPARTMENT(DEPT_ID) );
① PRIMARY KEY에 NULL이 입력될 수 있다 ② SALARY에 0이 입력될 수 있다 ③ DEPARTMENT 테이블이 존재하지 않으면 테이블 생성이 실패한다 ④ DEPT_ID에는 중복값이 입력될 수 없다
정답
3번
해설
③ FOREIGN KEY 제약조건은 참조되는 테이블(DEPARTMENT)이 먼저 존재해야 하므로, 해당 테이블이 없으면 생성이 실패합니다. ① PRIMARY KEY는 자동으로 NOT NULL이므로 NULL 입력 불가합니다. ② CHECK(SALARY > 0) 조건으로 인해 0은 입력할 수 없습니다. ④ DEPT_ID는 FOREIGN KEY이지만 UNIQUE 제약이 없으므로 중복값 입력 가능합니다.