1. 트랜잭션(Transaction)

  • ACID 특성
    • 원자성(Atomicity): 트랜잭션 작업이 전부 성공하거나 전부 실패해야 함 (e.g., 계좌이체 시 A→B 이체 실패 시 A 출금도 롤백)
    • 일관성(Consistency): 트랜잭션 후 데이터베이스 상태가 모든 제약 조건을 만족해야 함
    • 격리성(Isolation): 동시 실행 트랜잭션이 서로에게 영향을 미치지 않아야 함
    • 지속성(Durability): 완료된 트랜잭션 결과는 시스템 장애 시에도 유지되어야 함
  • 트랜잭션 상태 전이: 생성 → 준비 → 실행 → 대기 → 완료

2. 데이터 무결성(Data Integrity)

  • 개체 무결성(Entity Integrity): 기본키(PK)는 NULL 또는 중복될 수 없음
  • 참조 무결성(Referential Integrity): 외래키(FK)는 참조하는 테이블의 PK 값이어야 함
  • 도메인 무결성(Domain Integrity): 속성 값이 정의된 도메인 범위에 속해야 함 (e.g., 나이 0~120)
  • 사용자 정의 무결성: 비즈니스 규칙에 따른 제약 (e.g., 주문 수량 ≤ 재고 수량)

3. 정규화(Normalization)

  • 목적: 데이터 중복 최소화, 이상 현상(Anomaly) 방지
  • 이상 현상 유형
    • 삽입 이상: 불필요한 정보 없이는 새 데이터 삽입 불가
    • 삭제 이상: 데이터 삭제 시 연관된 정보도 함께 삭제되는 문제
    • 갱신 이상: 중복 데이터 일부 수정 시 불일치 발생
  • 정규화 단계
단계조건
1NF모든 속성 값이 원자값(Atomic)
2NF부분 함수 종속 제거 (완전 함수적 종속)
3NF이행 함수 종속 제거
BCNF결정자가 후보키가 아닌 종속 제거
4NF다치 종속 제거
5NF조인 종속 제거

4. 인덱스(Index)

  • 목적: 검색 성능 향상을 위한 데이터 구조.
  • B-Tree 인덱스: 범위 검색에 효율적 (e.g., WHERE age > 30).
  • 해시 인덱스: 동등 검색에 효율적 (e.g., WHERE id = 100).
  • 클러스터드 인덱스: 물리적 데이터 순서 재배열 (테이블 당 1개만 가능).

5. 뷰(View)

  • 가상 테이블로 실제 데이터를 저장하지 않음.
  • 장점:
    • 보안성(특정 컬럼 접근 제한).
    • 쿼리 간소화.
  • Materialized View: 실제 데이터 저장, 성능 향상 but 갱신 오버헤드

6. 트리거(Trigger)와 저장 프로시저

  • 트리거: 이벤트(INSERT/UPDATE/DELETE) 발생 시 자동 실행
  • 저장 프로시저: 재사용 가능한 SQL 코드 블록, 성능 향상

7. 데이터베이스 설계

  • ERD(Entity-Relationship Diagram)
    • 개체(Entity): 독립적인 존재 (e.g., 학생, 과목).
    • 속성(Attribute): 개체의 특성 (e.g., 학번, 이름).
    • 관계(Relationship): 개체 간 연결 (1:1, 1:N, M:N)
  • 논리적 설계: 개념적 모델 → 관계형 스키마 변환.
  • 물리적 설계: 특정 DBMS에 맞는 저장 구조 정의

8. 동시성 제어(Concurrency Control)

  • 로킹(Locking):
    • 배타적 락(Exclusive Lock): 쓰기 전용.
    • 공유 락(Shared Lock): 읽기 전용.
  • 교착 상태(Deadlock) 방지:
    • 타임아웃, Wait-Die, Wound-Wait 기법

9. 회복(Recovery)

  • 로그 기반 회복:
    • UNDO: 장애 발생 시 변경 사항 취소.
    • REDO: 완료된 트랜잭션 재실행.
  • 체크포인트(Checkpoint): 장애 시 복구 지점 제공

10. 보안 및 접근 제어

  • DAC(Discretionary Access Control): 사용자별 권한 할당.
  • MAC(Mandatory Access Control): 시스템이 권한 강제 적용.
  • RBAC(Role-Based Access Control): 역할 기반 권한 관리

11. 분산 데이터베이스

  • 투명성(Transparency):
    • 분할 투명성, 위치 투명성, 중복 투명성.
  • 2PC(Two-Phase Commit): 분산 트랜잭션 원자성 보장.

12. 빅데이터 처리 기술

  • Hadoop: HDFS(분산 파일 시스템) + MapReduce(분산 처리)
  • NoSQL:
    • 문서형(MongoDB): JSON 형식 데이터 저장.
    • 키-값형(Redis): 고속 읽기/쓰기.

📚 시험 대비 Tip

  1. 키워드 암기: ACID, 무결성 유형, 정규화 단계는 반드시 외우세요.
  2. 이상 현상 예시: 삽입/삭제/갱신 이상을 실제 테이블 예시로 이해하세요.
  3. 기출 활용: 2023년 3회차 5번(트랜잭션), 2024년 1회차 8번(무결성) 참고