정보처리기사 기출문제 총정리 ② 데이터베이스 – SQL·정규화·트랜잭션

데이터베이스 파트 출제 특징

정보처리기사에서 데이터베이스는 비중이 높고 실기 시험에서도 SQL 작성 문제가 출제됩니다. 정규화 단계별 개념, SQL 문법(특히 JOIN·GROUP BY·서브쿼리), 트랜잭션 ACID 속성은 반드시 완벽히 숙지해야 합니다.

【기출 토픽 1】 트랜잭션 ACID 속성

기출 문제 예시: 트랜잭션의 ACID 속성 중 “트랜잭션이 완료되면 그 결과는 영구적으로 반영되어야 한다”는 속성은?

  • ① 원자성 (Atomicity)
  • ② 일관성 (Consistency)
  • ③ 격리성 (Isolation)
  • ④ 지속성 (Durability) ✅

해설:

  • 원자성(A): 모두 실행되거나 모두 취소 (All or Nothing)
  • 일관성(C): 트랜잭션 전후 DB 무결성 유지
  • 격리성(I): 동시 실행 트랜잭션 간 간섭 없음
  • 지속성(D): COMMIT된 결과는 장애 후에도 유지

【기출 토픽 2】 정규화 단계

기출 문제 예시: 릴레이션의 모든 속성 값이 원자값(Atomic Value)을 가져야 한다는 조건을 만족하는 정규형은?

  • ① 제1정규형 (1NF) ✅
  • ② 제2정규형 (2NF)
  • ③ 제3정규형 (3NF)
  • ④ BCNF

정규화 단계 암기:

  • 1NF: 모든 속성이 원자값 (반복 그룹 제거)
  • 2NF: 1NF + 부분 함수 종속 제거 (완전 함수 종속)
  • 3NF: 2NF + 이행적 함수 종속 제거
  • BCNF: 3NF + 결정자가 모두 후보키
  • 4NF: BCNF + 다치 종속 제거

【기출 토픽 3】 SQL JOIN 유형

기출 문제 예시: 두 테이블에서 조인 조건을 만족하는 행만 반환하는 기본 JOIN 방식은?

  • ① LEFT OUTER JOIN
  • ② INNER JOIN ✅
  • ③ FULL OUTER JOIN
  • ④ CROSS JOIN

JOIN 유형 요약:

  • INNER JOIN: 양쪽 테이블 모두에 매칭되는 행만 반환
  • LEFT OUTER JOIN: 왼쪽 테이블 전체 + 오른쪽 매칭 행 (없으면 NULL)
  • RIGHT OUTER JOIN: 오른쪽 테이블 전체 + 왼쪽 매칭 행
  • FULL OUTER JOIN: 양쪽 테이블 전체 행 반환
  • CROSS JOIN: 두 테이블의 카테시안 곱 (모든 조합)

【기출 토픽 4】 뷰(View)와 인덱스(Index)

기출 문제 예시: 데이터베이스에서 인덱스(Index)를 사용하는 주된 목적은?

  • ① 데이터 무결성 보장
  • ② 검색 속도 향상 ✅
  • ③ 저장 공간 절약
  • ④ 트랜잭션 처리 속도 향상

해설: 인덱스는 B-Tree 등의 구조로 검색 속도를 크게 향상시킵니다. 단, 삽입/수정/삭제 시 인덱스도 갱신해야 하므로 DML 성능이 저하되고, 추가 저장 공간이 필요합니다. 자주 검색되고 변경이 적은 컬럼에 인덱스를 생성하는 것이 적합합니다.

데이터베이스 최종 정리

ACID 속성의 각 의미, 정규화 단계별 조건(1NF→BCNF), SQL JOIN 유형과 결과, 인덱스의 장단점을 중심으로 학습하세요. 실기 시험을 위해 SELECT·INSERT·UPDATE·DELETE·GROUP BY·HAVING 문법도 직접 작성 연습이 필수입니다.

Leave a Comment