모두CBT

다음 SQL 문으로 오류 없이 생성된 ‘고객’과 ‘주문’ 테이블에 다음… | [7급 국가직 데이터베이스론] 26년 1회차 기출문제 상세 페이지

1[7급 국가직 데이터베이스론] 26년 1회차
다음 SQL 문으로 오류 없이 생성된 ‘고객’과 ‘주문’ 테이블에 다음과 같이 투플이 삽입되어 있을 때 성공적으로 수행되는 SQL 문은?
CREATE TABLE 고객 (
고객번호 VARCHAR(2),
이름 VARCHAR(10),
추천고객 VARCHAR(2),
PRIMARY KEY(고객번호),
FOREIGN KEY(추천고객) REFERENCES 고객(고객번호)
ON DELETE CASCADE
);

CREATE TABLE 주문 (
주문번호 VARCHAR(2),
고객 VARCHAR(2),
제품 VARCHAR(10),
수량 INT,
PRIMARY KEY(주문번호),
FOREIGN KEY(고객) REFERENCES 고객(고객번호)
);
고객
고객번호이름추천고객
C1김유신NULL
C2홍길동C1
C3이순신C2
C4임꺽정C3
C5유관순C1
주문
주문번호고객제품수량
O1C1HDD2
O2C1SSD1
O3C4USB5
1
INSERT INTO 주문 VALUES (“O4”, “C6”, “VGA”, 2);
2
DELETE FROM 고객 WHERE 고객번호 = “C3”;
3
DELETE FROM 고객 WHERE 고객번호 = “C5”;
4
UPDATE 고객 SET 고객번호=“C7” WHERE 고객번호=“C4”;
해설

추천고객이나 주문에서 참조되지 않는 C5를 삭제하는 문장만 제약 위반 없이 수행된다.

‘주문’의 외래키에는 참조 동작이 지정되지 않아 기본값(NO ACTION/RESTRICT)이 적용되므로, 주문에서 참조 중인 고객번호는 삭제·변경할 수 없다.

  • C6의 주문 삽입은 ‘고객’에 C6이 없어 참조 무결성 위반으로 실패한다.
  • C3 삭제는 ON DELETE CASCADE로 C3을 추천고객으로 둔 C4까지 삭제되어야 하는데, C4를 주문 O3가 참조하고 있어 실패한다.
  • C4를 C7로 바꾸는 갱신은 주문 O3가 C4를 참조하고 ON UPDATE 동작이 없어 거부된다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[7급 국가직 데이터베이스론] 26년 1회차 25문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요7급 국가직 데이터베이스론 기출문제 암기장 전체 보기