데이터베이스론_7급(최종)정답(2025-07-05 / 323.1KB / 29회)
데이터베이스론(7급) (과목코드 : 029) 2025년 군무원 채용시험 응시번호 : 1. 정규화(normalization)의 주된 목적에 대한 설명 으로 가장 적절한 것은? 성명 : 3. SQL문의 데이터 정의어(DDL) 그룹으로 가장 적절한 것은? ① 테이블의 크기를 최대화하여 디스크 공간을 효율적으로 사용하는 데 목적이 있다. ② 모든 데이터를 하나의 테이블에 넣어 데이터 접근을 빠르게 만드는 과정이다. ③ 데이터를암호화하여보안을강화하는과정이다. ④ 데이터 중복을 최소화하고 이상(anomaly)을 방지하기 위한 데이터 구조화 과정이다. 2. Employees 테이블에 대해서 다음의 SQL문의 의미에 대한 설명으로 가장 적절한 것은? emp_id (직원번호) name (이름) department (부서) manager_id (관리자번호) 1 2 3 4 5 Alice Bob Charlie David Erin HR IT IT Sales Sales NULL 1 1 2 2 SELECT name FROM Employees E1 WHERE EXISTS (SELECT name FROM Employees E2 WHERE E2.manager_id = E1.emp_id AND E2.department = ‘Sales’ ); ① 부서가‘Sales’인 직원의 이름을 모두 출력한다. ② ‘Sales’ 부서 직원을 관리하는 관리자의 이름을 출력한다. ③ 모든관리자의이름을출력한다. ④ ‘Sales’ 부서에 속한 관리자가 존재하면 해당 관리자가 관리하는 직원이름을출력한다. ① CREATE–VIEW–DROP ② CREATE–DROP–ALTER ③ DROP–ALTER–SELECT ④ DROP–SET–TABLE 4. 다음과 같이 작성된 CREATE TABLE 문에서 가장 적절하지 않은 것은? (1) 각 직원은 고유한 사번(emp_id)을 가진다. (2) 직원의이름(name)은50자까지저장가능해야한다. (3) 입사일(hire_date)은 날짜 형식으로 저장된다. (4) 급여(salary)는 소수 둘째 자리까지 저장되는 10자리 숫자다. (5) 각 직원은 하나의 부서에 소속되며, 부서 ID(dept_id)가 저장된다. (6) 부서 ID는 다른 테이블에 정의된 부서 테이블 (departments)의 dept_id를 참조해야 한다. ① CREATE TABLE Employees ( emp_id INT PRIMARY KEY, ② name VARCHAR(50), hire_date DATE, ③ salary DECIMAL(10,2), dept_id INT, ④ KEY (dept_id) REFERENCES departments(dept_id)); 5. 분산 데이터베이스 관리 시스템의 단편화 접근 방법으로 가장 적절하지 않은 것은? ① 수평 단편화 ②수직단편화 ③ 대각 단편화 ④혼합단편화 데이터베이스론(7급) 5- 1 6. 회복(recovery)에서 수행하는 REDO와 UNDO에 대한 설명으로 가장 적절한 것은? ① UNDO는 커밋(commit)된 트랜잭션을 다시 실행하여 데이터베이스를 최신 상태로 만드는 작업이다. ② REDO는 실패한 트랜잭션의 작업을 모두 취소 하여 데이터의 일관성을 되돌리는 작업이다. ③ UNDO는 커밋(commit)되지 않은 트랜잭션의 작업을 취소하고, REDO는 커밋(commit)된 트랜잭션의 작업을 다시 적용한다. ④ REDO와 UNDO는 모두 시스템 장애 시에만 사용되며, 트랜잭션 완료 후 로그를 삭제하는 과정이다. 7. 구체화된 뷰(materialized view)와 비트맵 인덱스 (bitmap index)에 대한 설명으로 가장 적절한 것은? ① 구체화된 뷰는 질의결과를미리저장해조회 성능을 향상시킬 수 있다. 비트맵 인덱스는 범주형 데이터가 적은경우에효과적이다. ② 구체화된뷰는실제데이터를저장하지않으며 View와 동일하게 작동한다. 비트맵 인덱스는 트리기반인덱스보다공간을더많이사용한다. ③ 구체화된 뷰는 항상 사용자의 요청 시에만 데이터를 동적으로 생성한다. 비트맵 인덱스는 고유한 값이많은컬럼에서가장효과적이다. ④ 구체화된 뷰는 갱신이 불가능하며 한번 생성 하면 내용을변경할수없다. 비트맵인덱스는 동시성 제어가 뛰어나고 트랜잭션 시스템에 적합하다. 8. 관계형 데이터베이스에서 NULL값에 대한 설명으로 가장 적절하지 않은 것은? ① 의미없는 속성값 ② 존재하지만 가용하지 않은 속성값 ③ 알려지지 않은 속성값 ④ 정의되지 않은 속성값 9. 데이터베이스 관리 시스템에서 트랜잭션 실행의 일관성과 안전성을 보장하기 위한 트랜잭션 동시성 제어(concurrency control) 기능의 구현 기법으로 가장 적절하지 않은 것은? ① 2단계-락킹(two-phase locking) 기법 ② 전진 및후진롤백(forward/backward roll-back) 기법 ③ 타임스탬프(timestamp) 기법 ④ 낙관적인(optimistic) 기법 10. SQL문에서 JOIN 연산에 대한 설명으로 가장 적절한 것은? ① JOIN 연산은 두 테이블에서 서로 일치하는 값만 갖는 튜플들을 조합할 수 있다. ② WHERE 절에서 JOIN ON 구문을 이용하여 JOIN을 기술할 수 있다. ③ 테이블 재명명(renaming)을 통해서 테이블을 자신과 JOIN 할 수 있다. ④ JOIN을 수행한 뒤의 결과 테이블은 항상 입력 테이블들보다 적은 수의튜플을갖는다. 11. 데이터베이스 색인(index)에 대한 설명으로 가장 적절한것은? ① 인덱스는 데이터베이스의 보안을 강화하는 역할을 하며, 접근 제어를 담당한다. ② 인덱스를 사용하면 검색 성능은 향상되지만, INSERT, UPDATE, DELETE 연산에는 영향을 주지않는다. ③ 인덱스는 테이블의 특정 열에 대해 생성되며, 검색 성능을 향상시키는 데 사용된다. ④ 모든테이블에는기본적으로자동으로인덱스가 생성되며, 별도로 만들필요가없다. 데이터베이스론(7급) 5- 2 12. 트랜잭션(transaction)이 가져야 할 네 가지 특성 중 가장 적절한것은? ① 원자성(atomicity)–일관성(consistency) 소속성(inclusion)–영속성(durability) ② 원자성(atomicity)–일관성(consistency) 격리성(isolation)–영속성(durability) ③ 원자성(atomicity)–제어성(control) 격리성(isolation)–효율성(efficiency) ④ 원자성(atomicity)–제어성(control) 격리성(isolation)–영속성(durability) 13. SQL문에서 사용할 수 있는 서브-질의어 유형에서 다중-행(multi-row) 서브-질의어의 비교 연산자 그룹으로 가장 적절한것은? ① 비교연산자그룹: (=, ≠, >, ≯, , ) ④ 비교연산자그룹: ( IN, ANY, SOME, EXISTS ) 14. 다음과 같은 속성을 갖는 릴레이션의 튜플과 단일 인덱스를 저장하기 위한 각각의 디스크 블록킹 (DBF: Disk Blocking Factor) 인수로 가장 적절 한 것은? (1) 파일 저장 방법: 단일인덱스 순차 파일 (2) 레코드(또는 튜플) 수: 30,000개 (3) 파일시스템의 디스크 블록 크기: 1,024byte (4) 각 레코드(또는 튜플) 크기: 고정길이100byte (5) 각 인덱스의 크기: 고정길이 15byte (키값: 9byte, 블록포인터: 6byte) ① 튜플 DBF–10 / 인덱스 DBF–68 ② 튜플 DBF–10 / 인덱스 DBF–69 ③ 튜플 DBF–11 / 인덱스 DBF–70 ④ 튜플 DBF–11 / 인덱스 DBF–67 15. 다음 그림은 E-R 모델로 객체 “COMPANY”, “JOB_APPLICANT”의 관계 “INTERVIEW”를 나타낸 것이다. “INTERVIEW”에 대한 SQL문 으로 가장 적절한 것은? (단, 밑줄 친 속성은 기본 키이다) n n ① CREATE TABLE INTERVIEW ( Contact_name VARCHAR(15) NOT NULL, Contact_phone VARCHAR(11), Date DATE, PRIMARY KEY (Contact_name, Contact_phone, Date) ); ② CREATE TABLE INTERVIEW ( Cname VARCHAR(15) NOT NULL, Contact_name VARCHAR(15), Contact_phone VARCHAR(11), Date DATE, PRIMARY KEY (Cname) ); ③ CREATE TABLE INTERVIEW ( Ssn VARCHAR(13) NOT NULL, Contact_name VARCHAR(15), Contact_phone VARCHAR(11), Date DATE, PRIMARY KEY (Ssn) ); ④ CREATE TABLE INTERVIEW ( Cname VARCHAR(15) NOT NULL, Ssn VARCHAR(13) NOT NULL, Contact_name VARCHAR(15), Contact_phone VARCHAR(11), Date DATE, PRIMARY KEY (Cname, Ssn) ); 데이터베이스론(7급) 5- 3 16. 다음 설명으로 가장 적절한 시스템 구성요소는? (1) 모든 사용자에게 부여된 권한(privileges)을 확인한다. (2) 특정 테이블에 설정된 무결성 제약조건 (UNIQUE 등)을 검토한다. (3) 시스템에 존재하는 모든 테이블, 뷰, 인덱스 등의 정의 정보를 파악한다. ① 뷰(view) ② 데이터 사전(data dictionary) ③ 커서(cursor) ④ 트리거(trigger) 17. 데이터베이스 관리자(DBA)의 주요 역할에 대한 설명으로 가장 적절한 것은? ① 데이터베이스의 성능 최적화, 보안 관리, 백업 및 복구등전반적인운영관리 ② 데이터베이스에 저장된 데이터의 내용 결정 및 입력 업무 수행 ③ UI 구성 요소 설계 및 사용자 인터페이스 디자인 ④ 비즈니스 요구사항 정의 및 애플리케이션 로직 작성 18. 관계대수(relational algebra)에서 각각의 관계 연산자 기호와 이름의연결이가장적절한것은? ① σ : Projection ② ∏: Selection ③ × : Intersection ④ ⋈: Join 19. 데이터베이스의 기본 데이터형인 VARCHAR와 DATE에 대한 설명으로 가장 적절한 것은? ① VARCHAR는 숫자형 데이터를 저장하는데 사용되며 고정길이로 공간을 차지한다. ② DATE 자료형은 시간 정보까지 포함하므로 생년월일과 같이 날짜만 필요한 경우에는 적합하지 않다. ③ VARCHAR(50)는 최대 50자까지의 가변 길이 문자열을 저장할 수 있으며 실제 저장 시 필요한 공간만 사용된다. ④ DATE 자료형은 날짜를 문자열로 저장하기 때문에 날짜 연산이 불가능하다. 20. 다음 조건을 바탕으로 환자테이블을 정의하는 CREATE문을 작성할 때, 환자의 나이(age)와 혈액형(blood_type)에 대해 작성한 것으로 가장 적절한 것은? (1) 환자의 나이는0세이상120세이하만유효하다. (2) 혈액형은 ‘A’, ‘B’, ‘AB’, ‘O’ 중 하나만 허용 되어야 한다. (3) 나이와 혈액형 조건은 반드시 무결성 제약 조건으로 강제해야 한다. ① age INT NOT NULL, blood_type VARCHAR(2) ② age INT CHECK (age >= 0 AND age = 0 AND age = 0 AND age = 1000000; ② UPDATE 사원 SET 월급여 = CASE WHEN 월급여 < 1000000 THEN 월급여 * 1.05 ELSE 월급여 * 1.10 END; ③ UPDATE 사원 SET 월급여 = 월급여 * 1.05 WHERE 월급여 >= 1000000; UPDATE 사원 SET 월급여 = 월급여 * 1.10 WHERE 월급여 < 1000000; ④ UPDATE 사원 SET 월급여 = 월급여 * 1.10 WHERE 월급여 < 1000000 AND SET 월급여 = 월급여 * 1.05 WHERE 월급여 >= 1000000; 22. 트랜잭션에 대한 설명으로 가장 적절한 것은? ① 여러 작업을 하나의 단위로 묶어 처리하며 모두 성공하거나 모두 실패해야 한다. ② 데이터를자동으로백업하는기능을제공한다. ③ 1개의 SELECT 문만 실행 시에는 적용되지 않는다. ④ 동시에여러개의트랜잭션이실행될수없다. 23. 관계형 데이터모델에 대한 설명으로 가장 적절한 것은? ① 관계형 데이터모델은 계층 관계로 구성되며 계층은 부모와 자식 관계를 갖는다. ② 관계형데이터모델은관계들로구성되며관계는 속성을가진튜플들로이루어진다. ③ 관계형 데이터모델은 객체 간의 관계로 구성 되며 객체는 속성과 메소드로 이루어진다. ④ 관계형 데이터모델은 개체와 관계로 구성되며 개체는 이름과속성을가진다. 24. JDBC의 Prepared Statement에 대한 설명으로 가장 적절한 것은? ① SQL문을 실행한 후에만 파라미터를 바인딩 할 수있다. ② 정적SQL만지원하며실행시동적값은사용을 할수없다. ③ SQL인젝션을 유발하기 쉬우므로 일반적으로 사용하는 Statement보다 보안에 취약하다. ④ SQL구조를 미리 컴파일하고 파라미터만 바꿔 여러 번실행할수있다. 25. 다음 설명에 대한 대표적인 차세대 데이터베이스 관리 시스템으로 가장 적절한 것은? 가장 최신의 데이터(up-to-date)만을 유지관리하는 기본적인 특성을 양보하여, 데이터(튜플)뿐만 아니라 그의 변경이력을 유지관리하고, 그에 따른 변경이력 데이터관련질의어를지원한다. ① 시간지향(temporal) 데이터베이스 관리 시스템 ② 객체지향(object-oriented) 데이터베이스 관리 시스템 ③ 멀티미디어(multimedia) 데이터베이스 관리 시스템 ④ 분산및연방(distirbuted and federate) 데이터 베이스 관리시스템 데이터베이스론(7급) 5- 5