데이터베이스시스템

01강-데이터베이스의 이해

2026-02-23

전통적인 데이터 관리: 파일 처리 시스템

전통적인 데이터 관리 방식은 파일 처리 시스템 기반
각 애플리케이션이 고유한 파일을 직접 저장·관리하는 구조

현장에서 자주 발생하는 문제:

  • 파일이 여러 개로 분산
  • 같은 데이터가 여러 파일에 중복
  • “최종본” 식별 어려움
  • 변경 사항 반영 누락 발생

파일 처리 시스템의 한계

파일 처리 시스템은 구조적으로 다음 문제를 해결하기 어렵다

데이터 종속

환경 변화에 취약한 구조

  • 물리적 종속: 디스크 추가/변경, 파일 위치 변경, 파일 시스템 변경 시 영향 발생
  • 논리적 종속: 데이터 항목 구조, 순서, 인코딩 변경 시 애플리케이션 수정 필요

데이터 중복

애플리케이션별 파일 관리로 동일 데이터가 여러 곳에 저장

  • 값 불일치 가능성 증가
  • 일관성 유지 어려움
  • 보안 수준 동기화 어려움
  • 저장 공간 낭비 → 비용 증가

무결성 훼손

파일은 “저장 요청된 값”을 그대로 저장

  • 값의 범위/제약 조건 검증 불가
  • 잘못된 데이터가 저장되어 신뢰성 저하

예: 수강학점 범위가 0~18인데 24가 저장되는 상황

동시 접근 문제

여러 사용자가 동시에 같은 데이터 수정 시 일관성 훼손

예: 은행 계좌 인출/입금이 동시에 진행되면 결과가 상황에 따라 달라짐
정상 결과(1500원)가 보장되지 않는 구조


데이터베이스가 만든 변화

애플리케이션이 파일에 직접 접근하지 못하도록 분리
DB가 요청을 받아 데이터를 관리하고 결과를 전달하는 브로커 역할 수행

핵심 변화:

  • 데이터 사용 영역(애플리케이션)과 데이터 관리 영역(DB) 분리
  • 파일 처리 시스템의 구조적 문제 해결 방향 제시

데이터베이스의 주요 특징

자기 기술성(Self-describing)

데이터만 저장하는 구조가 아님
데이터의 의미를 설명하는 메타데이터까지 함께 관리

관련 개념:

  • 메타데이터: 값의 의미를 설명하는 정보
  • 시스템 카탈로그 / 데이터 사전: 메타데이터 집합

값(예: 12)만으로는 의미 파악 불가
“오늘, 낮 최고 기온, 12”처럼 의미가 붙어야 데이터로 기능

프로그램-데이터 분리와 추상화

애플리케이션이 “어디 파일의 어느 위치”를 직접 지정하지 않음
필요한 데이터의 의미(개념)만 요청하면 DB가 찾아서 제공

다중 뷰(Multiple View)

사용자/권한/업무별로 필요한 데이터만 보여주는 구조

  • 업무 효율 개선
  • 보안성 강화
  • 불필요한 데이터 노출 방지

데이터 공유와 트랜잭션 처리

다수 사용자가 동시에 접근해도 일관성 유지하도록 제어

트랜잭션:

  • 하나의 논리적 작업을 수행하는 DB 명령의 집합
  • 작업 단위를 묶어 중간 개입을 막고 결과의 일관성 보장

DBMS의 3단계 구조

DBMS는 데이터 수준을 3단계로 나눠 관리

외부 단계(External)

사용자 관점
권한/업무별로 필요한 데이터만 제공하는 뷰 중심

개념 단계(Conceptual)

전체 데이터 구조와 관계 정의
데이터베이스 전체 논리 구조를 설명하는 중심 단계

내부 단계(Internal)

물리적 저장 방식 정의
디스크 분산 저장, 저장 위치 등 실제 저장 구조 관리

이 구조로 해결되는 포인트:

  • 개념 ↔ 내부 사상: 물리적 데이터 독립성 확보
  • 외부 ↔ 개념 사상: 논리적 데이터 독립성 확보

데이터 관련 용어 정리

데이터(Data)

사실을 표현하는 값 + 그 값의 의미(메타데이터)

데이터베이스(Database)

특정 기관/업무 목적에 맞춰 통합된 데이터의 집합
소프트웨어가 아니라 데이터 자체

DBMS(Database Management System)

데이터베이스를 저장·관리·검색·보호하는 소프트웨어 패키지
일관성/무결성/동시성 문제를 관리하는 핵심 시스템

데이터베이스 시스템(Database System)

DBMS + 데이터베이스 + 이를 사용하는 애플리케이션까지 포함한 전체 시스템


데이터베이스 언어

DBMS에 “무엇을” “어떻게” 요청할지 정의하는 인터페이스

현재 표준은 SQL 중심

DDL (Data Definition Language)

DB 객체 생성/수정/삭제

  • 테이블, 인덱스, 뷰 등 구조 정의
  • 물리적/논리적 구성 및 사상 정의

DML (Data Manipulation Language)

데이터 접근 및 조작

  • 검색(SELECT)
  • 삽입(INSERT)
  • 수정(UPDATE)
  • 삭제(DELETE)

요구 조건:

  • 사용이 쉬움
  • 요청이 명확하고 결과가 일관됨
  • 내부적으로 효율적 처리 가능

데이터베이스 시스템 아키텍처

중앙 집중 방식

중앙 DBMS 서버가 대부분의 처리 수행
터미널은 입력/출력 중심의 단말

특징:

  • 구성 단순, 구축 비용 낮음
  • 중앙 서버 과부하 시 전체 성능 저하 가능

클라이언트-서버 방식

역할 분담 구조 네트워크 기반

2계층 구조

  • 클라이언트: UI/표현/일부 처리
  • 서버(DBMS): 데이터 저장 및 처리

3계층 구조

  • 클라이언트
  • 애플리케이션 서버
  • DBMS 서버

특징:

  • 변화에 유연 (애플리케이션 서버만 수정 가능)
  • 설계/구현 복잡도 및 비용 증가 가능

핵심 정리

  • 파일 처리 시스템: 애플리케이션별 파일 직접 관리 구조
  • 구조적 한계: 데이터 종속, 중복, 무결성 훼손, 동시 접근 문제
  • 데이터베이스: 데이터 관리 영역 분리 + 브로커 역할 수행
  • DBMS 핵심 특징: 자기 기술성, 추상화, 다중 뷰, 트랜잭션 처리
  • 3단계 구조: 외부/개념/내부 단계로 종속성 문제 완화
  • 용어 구분: 데이터 / 데이터베이스 / DBMS / 데이터베이스 시스템
  • DB 언어: DDL(구조) + DML(조작), 표준 SQL 중심
  • 아키텍처: 중앙 집중 vs 클라이언트-서버(2계층/3계층)