데이터 입출력 구현

정보처리기사
공개

2026년 1월 10일

데이터베이스 설계 단계

  1. 개념적 설계: 현실 세계를 추상적 개념으로 표현. E-R 다이어그램, 개념 스키마
  2. 논리적 설계: 개념 모델을 특정 DBMS의 논리적 구조(테이블 등)로 변환. 정규화 수행, 논리 스키마
  3. 물리적 설계: 저장 장치에 실제 저장될 형태로 설계. 인덱스, 접근 경로, 저장 구조 결정
  • DBMS에 독립적 → 종속적 순서 (개념/논리는 독립, 물리는 종속)

관계 대수

  • 순수 관계 연산자
연산자 기호 설명
Select σ 조건을 만족하는 행(튜플) 추출 (수평)
Project π 특정 속성(열) 추출 (수직)
Join 공통 속성 값이 일치하는 튜플을 결합
Division ÷ S의 모든 값과 관계된 R의 튜플 추출 (“모두 만족”)
  • 일반 집합 연산자: 합집합(∪), 교집합(∩), 차집합(−), 교차곱(×)

카티션 프로덕트 (×)

  • 두 릴레이션의 모든 튜플을 조합 (조건 없음)
  • 차수(속성 수) = 두 릴레이션 차수의
  • 카디널리티(튜플 수) = 두 릴레이션 튜플 수의

조인 (⋈)

  • 카티션 프로덕트 + 조건 (공통 속성이 일치하는 튜플만 결합)
  • 자연 조인: 공통 속성을 하나만 남김

디비전 (÷)

  • R ÷ S: S의 모든 값을 만족하는 R의 튜플을 추출 (“~ 전부를 수강한 학생” 같은 질의)
  • 결과 속성 = R의 속성 − S의 속성

정규화

  • 데이터 중복 최소화 + 이상 현상 제거를 위해 테이블을 분해하는 과정
  • 이상 현상(Anomaly): 삽입 이상, 삭제 이상, 갱신 이상

단계 (도부이결다조)

  1. 1NF: 도메인이 원자값 (한 칸에 값 하나)
  2. 2NF: 부분 함수 종속 제거 (키의 일부에만 종속되는 속성 제거)
  3. 3NF: 이행 함수 종속 제거 (A→B, B→C ⟹ A→C 제거)
  4. BCNF: 모든 결정자가 후보키가 되도록
  5. 4NF: 다치 종속 제거
  6. 5NF: 조인 종속 제거
  • 반정규화: 성능(조인 감소)을 위해 일부러 중복을 허용 (정규화의 반대)

무결성

  • 개체 무결성
  • 참조 무결성
  • 도메인 무결성
  • 사용자 무결성
  • 키 무결성

데이터베이스 파일 조직 방법

  • 순차, 인덱스, 해싱 방법
맨 위로