아래 학생·학과 ERD와 ON DELETE CASCADE 정책에서
DELETE FROM 학과 WHERE 학과코드 = 'CS'; 실행 결과로 옳은 것은?
보기
[학과 (실행 전)]
| 학과코드 | 학과명 |
|---|---|
| CS | 컴퓨터공학과 |
| EE | 전자공학과 |
[학생 (실행 전)]
| 학번 | 이름 | 학과코드 |
|---|---|---|
| 1001 | 김철수 | CS |
| 1002 | 이영희 | CS |
| 1003 | 박민수 | EE |
-- FK 정의 (학생 테이블 생성 시) CREATE TABLE 학생 ( 학번 VARCHAR2(10) PRIMARY KEY, 이름 VARCHAR2(20), 학과코드 VARCHAR2(4), CONSTRAINT FK_학생_학과 FOREIGN KEY (학과코드) REFERENCES 학과(학과코드) ON DELETE CASCADE ); -- 부모 행 삭제 DELETE FROM 학과 WHERE 학과코드 = 'CS';
- 1학과 한 행이 삭제되고, 해당 학과를 참조하던 학생 행도 함께 삭제된다.
- 2학과를 학생이 참조하고 있어 참조 무결성 오류로 삭제가 중단된다.
- 3학과 행은 그대로 남고 학생 행만 삭제된다.
- 4학과 한 행이 삭제되고 학생.학과코드 가 모두 NULL로 갱신된다.
꿈라CBT