
정답데이터 조작어(DML)로 스키마 구조를 기술해 시스템 카탈로그에 저장한다는 설명이 잘못되었습니다.
핵심 개념
DBMS의 구성 요소별 역할 — DDL과 DML의 구분
DBMS는 여러 내부 모듈이 협력해 동작합니다. DDL 컴파일러는 CREATE·ALTER 같은 데이터 정의어를 처리해 스키마 구조를 시스템 카탈로그(데이터 사전)에 저장하고, DML 컴파일러와 질의어 처리기는 SELECT·INSERT 같은 데이터 조작어를 파싱·최적화해 실행 코드를 만듭니다. 트랜잭션 관리자는 무결성·권한 검사와 병행제어·회복을 담당하고, 저장 데이터 관리자는 디스크의 사용자 데이터베이스와 시스템 카탈로그 접근을 책임집니다. 즉 '스키마 정의는 DDL, 데이터 조작은 DML'이라는 역할 구분이 이 문제의 핵심입니다.
선지별 해설
①스키마의 구조를 기술해 시스템 카탈로그에 저장하는 것은 데이터 정의어(DDL)와 DDL 컴파일러의 역할입니다. DML은 이미 정의된 스키마 위에서 데이터를 검색·삽입·삭제·갱신하는 언어이므로 설명이 뒤바뀌었습니다.
②질의어 처리기는 질의문을 파싱·검증하고 질의 최적화를 거쳐 효율적인 데이터베이스 접근 코드(실행 계획)를 생성합니다. 옳은 설명입니다.
③트랜잭션 관리자는 무결성 제약조건 검사, 사용자 권한 검사, 병행제어, 장애 발생 시 회복 등 트랜잭션의 ACID 보장을 위한 작업을 수행합니다.
④저장 데이터 관리자(저장 시스템)는 디스크에 저장된 사용자 데이터베이스와 시스템 카탈로그에 대한 실제 접근을 담당하며, 운영체제의 파일 접근 기능을 이용합니다.

정답옳지 않은 설명은 ㄱ, ㄴ, ㄷ 세 가지입니다.
핵심 개념
관계형 데이터베이스의 키 개념과 무결성 제약조건
관계 모델에서 슈퍼키는 튜플을 유일하게 식별하는 속성 집합이고, 그중 최소성까지 만족하는 것이 후보키이며, 후보키 하나를 선택한 것이 기본키입니다. 무결성 제약조건은 크게 네 가지로, 도메인 제약조건(값이 정의된 도메인에 속할 것), 키 제약조건(기본키 값 중복 금지), 개체 무결성(기본키는 NULL 불가 — 복합키라면 구성 속성 전부 NULL 불가), 참조 무결성(외래키 값은 참조되는 릴레이션의 기본키 값과 일치하거나 NULL)이 있습니다. 이 문제는 이 네 가지를 정확히 구분하는지 묻고 있습니다.
선지별 해설
①ㄱ, ㄴ이 옳지 않은 것은 맞지만 ㄷ도 옳지 않은 설명이므로 빠진 항목이 있어 정답이 될 수 없습니다.
②ㄹ은 옳은 설명입니다. 튜플 삽입 시 기본키 중복·NULL(키/개체 무결성), 도메인 위반, 존재하지 않는 외래키 값(참조 무결성) 모두 위반될 수 있으므로 ㄹ을 포함한 조합은 답이 아닙니다.
③ㄱ은 개체 무결성 위반입니다. 기본키가 복합 속성이면 구성 요소 속성 어느 하나도 NULL을 가질 수 없습니다. ㄴ은 슈퍼키가 후보키의 필요조건일 뿐 최소성을 만족해야 후보키가 되므로 '필요충분조건'이라는 표현이 틀립니다. ㄷ은 외래키가 참조 대상 릴레이션의 기본키(또는 그에 준하는 유일 키)를 참조해야 하며 '기본키가 아닌 후보키를 참조해야 한다'는 서술이 틀립니다.
④ㄴ이 빠지고 옳은 설명인 ㄹ이 들어가 있어 잘못된 조합입니다.