
정답일반 사용자용 인터페이스를 개발하는 일은 DBA가 아니라 응용 프로그래머의 역할이므로 틀린 설명입니다.
핵심 개념
데이터베이스 사용자 유형 - 일반 사용자·DBA·응용 프로그래머의 역할 구분
데이터베이스 사용자는 크게 일반 사용자(end user), 응용 프로그래머(application programmer), 데이터베이스 관리자(DBA)로 나뉩니다. 일반 사용자는 이미 만들어진 응용 프로그램이나 질의어를 통해 데이터를 조회하고 삽입·삭제·갱신하는 최종 이용자입니다. 응용 프로그래머는 C, Java 등 프로그래밍 언어에 SQL을 삽입해 일반 사용자가 쓸 인터페이스와 응용 프로그램을 개발합니다. DBA는 스키마 정의와 변경, 무결성·보안 정책 수립, 권한 부여, 백업과 회복, 성능 튜닝 등 데이터베이스 전체의 운영과 관리를 책임지는 사람입니다. 즉 '개발'은 응용 프로그래머, '관리'는 DBA로 역할이 구분된다는 점이 핵심입니다.
선지별 해설
①일반 사용자는 데이터베이스 구조를 몰라도 응용 프로그램이나 메뉴, 질의 화면을 통해 데이터베이스에 접속하여 원하는 정보를 얻는 최종 이용자입니다. 옳은 설명입니다.
②일반 사용자가 편리하게 접근하도록 인터페이스와 응용 프로그램을 개발하는 것은 응용 프로그래머의 업무입니다. DBA는 스키마 정의, 접근 권한 관리, 무결성·보안 유지, 백업과 회복, 성능 감시 등 운영·관리를 담당하므로 이 선지가 틀립니다.
③일반 사용자는 조회만 하는 것이 아니라 응용 프로그램을 통해 데이터의 삽입, 삭제, 갱신 같은 갱신 연산도 수행합니다. 은행 창구 직원이나 쇼핑몰 이용자를 떠올리면 이해가 쉽습니다.
④응용 프로그래머는 호스트 언어에 SQL을 내장(embedded SQL)하거나 API를 이용해 데이터베이스 응용 프로그램을 개발하는 사용자로, 선지의 서술 그대로입니다.

정답수행 중인 트랜잭션의 중간 값은 다른 트랜잭션이 접근할 수 없어야 하므로(격리성) 틀린 설명입니다.
핵심 개념
트랜잭션의 ACID 성질 - 원자성·일관성·격리성·지속성
트랜잭션이 올바르게 수행되도록 DBMS가 보장해야 하는 성질을 ACID라고 합니다. 원자성(Atomicity)은 트랜잭션의 연산이 모두 반영되거나 전혀 반영되지 않아야 한다는 성질이고, 일관성(Consistency)은 트랜잭션 수행 전후에 데이터베이스가 항상 일관된 상태를 유지해야 한다는 성질입니다. 격리성(Isolation, 고립성)은 수행 중인 트랜잭션의 중간 결과를 다른 트랜잭션이 볼 수 없어야 한다는 성질이며, 지속성(Durability, 영속성)은 성공적으로 완료(commit)된 트랜잭션의 결과가 시스템 장애가 나더라도 영구히 보존되어야 한다는 성질입니다. 특히 격리성은 '접근할 수 있어야 한다'가 아니라 '접근할 수 없어야 한다'로 기억해야 합니다.
선지별 해설
①모든 연산이 완료되거나 하나도 수행되지 않은 원래 상태로 되돌아가야 한다는 것은 원자성(Atomicity)의 정의로 all-or-nothing 원칙을 정확히 서술한 것입니다.
②트랜잭션이 성공적으로 완료되면 데이터베이스가 언제나 일관성 있는 상태로 변환되어야 한다는 것은 일관성(Consistency)에 대한 옳은 설명입니다.
③완료된 트랜잭션의 결과가 시스템 오류가 발생해도 계속 유지되어야 한다는 것은 지속성(Durability)의 설명이며, 로그와 회복 기법으로 보장됩니다.
④격리성(Isolation)에 따르면 트랜잭션이 실행되는 동안의 중간 값은 다른 트랜잭션이 접근할 수 없어야 합니다. 접근을 허용하면 오손 읽기(dirty read) 같은 문제가 생기므로 서술이 반대로 되어 틀립니다.