본문 바로가기
카테고리 없음

정보처리기사 필기 - 데이터베이스 구축 기초

by kik328288 2026. 5. 2.

데이터베이스 설계 3단계와 스키마 구조

데이터베이스를 처음부터 구축한다는 것은 단순히 테이블 몇 개를 생성하는 작업이 아니다. 비즈니스 요구사항을 추출해 그것을 추상적인 모델로 그려내고, 다시 관계형 모델로 변환한 뒤, 마지막으로 실제 저장 구조까지 결정하는 일련의 체계적 절차를 거쳐야 한다. 이 과정의 표준 절차가 바로 데이터베이스 설계의 3단계이며, 그 결과물인 데이터베이스의 논리적·물리적 구조를 표현하는 도구가 ANSI/SPARC가 제정한 3계층 스키마이다. 두 개념은 데이터베이스 분야의 가장 기초적이면서도 가장 자주 출제되는 핵심 주제로, 정보처리기사 시험에서도 매회 빠지지 않고 등장한다. 실무에서도 시스템의 유지보수성과 확장성을 결정짓는 가장 근본적인 토대가 된다.

 

데이터베이스와 DBMS의 기본 개념

데이터베이스(Database)란 여러 사용자가 공유하여 사용할 목적으로 통합 관리되는 데이터의 집합을 의미한다. 단순히 데이터를 저장한 파일들의 모음과는 다르며, 데이터의 일관성·무결성·중복 최소화·동시 접근 제어 같은 핵심 특성을 보장하는 구조화된 저장소이다. 이러한 데이터베이스를 효율적으로 관리하기 위해 등장한 소프트웨어가 데이터베이스 관리 시스템, 즉 DBMS(Database Management System)이다. 대표적인 관계형 DBMS로는 오라클, MySQL, PostgreSQL, Microsoft SQL Server가 있으며, 비관계형 DBMS로는 MongoDB, Redis, Cassandra가 폭넓게 사용되고 있다.

DBMS는 사용자와 데이터베이스 사이의 중개자로 작동하면서 세 가지 핵심 기능을 제공한다. 첫째는 정의 기능으로, 데이터의 형식과 구조, 제약 조건 등을 명세하는 데이터 정의어(DDL)를 통해 스키마를 작성하고 변경할 수 있게 한다. 둘째는 조작 기능으로, 데이터의 검색·삽입·수정·삭제를 지원하는 데이터 조작어(DML)를 제공한다. 셋째는 제어 기능으로, 데이터의 정확성과 안전성을 위해 무결성 제약, 권한 관리, 동시성 제어, 회복 기능 등을 제공한다. 이 세 가지 기능이 조화를 이루어야 비로소 신뢰할 수 있는 데이터 관리가 가능해진다.

데이터베이스의 사용자는 역할에 따라 네 부류로 구분된다. 데이터베이스 관리자(DBA)는 데이터베이스의 설계·운영·보안을 총괄하는 전문가이고, 시스템 분석가는 사용자 요구를 분석해 시스템 설계로 변환한다. 응용 프로그래머는 SQL과 호스트 언어를 결합해 데이터베이스를 활용하는 프로그램을 개발하며, 일반 사용자는 응용 프로그램을 통해 간접적으로 데이터에 접근한다. 이러한 역할 구분은 단순히 인적 분업이 아니라, 데이터베이스 관리의 책임 소재를 명확히 하기 위한 구조적 장치라는 점에서 중요하다.

데이터베이스 설계의 3단계

데이터베이스 설계는 일반적으로 요구사항 분석을 시작점으로 하여 개념적 설계, 논리적 설계, 물리적 설계, 그리고 마지막 구현 단계로 진행된다. 그러나 가장 본질적이고 핵심적인 부분은 가운데 세 단계, 즉 개념적·논리적·물리적 설계이다. 각 단계는 추상화 수준이 점점 낮아지며 구체적인 구현에 가까워지는 흐름으로 이어지고, 단계마다 산출물이 명확하게 정의된다.

개념적 설계(Conceptual Design)는 사용자의 요구사항을 분석해 현실 세계의 데이터를 추상적인 모델로 표현하는 단계이다. 가장 보편적으로 사용되는 도구가 개체-관계 다이어그램(ER Diagram)이며, 데이터베이스를 어떤 종류의 DBMS로 구현할지에 무관하게 비즈니스 관점에서 엔티티와 속성, 관계를 식별하는 작업이 핵심이다. 이 단계의 산출물은 개념적 데이터 모델이라 불리며, 이해관계자와의 의사소통 도구로도 폭넓게 활용된다.

논리적 설계(Logical Design)는 개념적 모델을 특정 데이터 모델, 일반적으로 관계형 모델로 변환하는 단계이다. 이 과정에서 엔티티는 테이블로, 속성은 컬럼으로, 관계는 외래 키로 변환되며, 정규화(Normalization)를 통해 데이터 중복과 이상 현상을 최소화한다. 정규화는 보통 제3정규형(3NF) 또는 보이스-코드 정규형(BCNF)까지 진행하는 것이 일반적이다. 마지막으로 물리적 설계(Physical Design)는 논리적 스키마를 실제 저장 장치에 어떻게 배치할지를 결정하는 단계이다. 인덱스 설계, 파티셔닝 전략, 클러스터링, 데이터 파일 구조, 트랜잭션 처리 방식 같은 물리적 요소를 결정하며, 성능과 가용성에 직접적인 영향을 미친다. 이 단계에서 잘못된 결정은 시스템 운영 단계에서 큰 비용으로 돌아오기 때문에, 가장 신중한 검토가 필요하다.

스키마의 3계층과 데이터 독립성

ANSI/SPARC 위원회가 1975년 제정한 3계층 스키마 구조는 오늘날 모든 DBMS의 설계 기반이 되는 추상화 모델이다. 이 모델은 데이터베이스를 외부 스키마(External Schema), 개념 스키마(Conceptual Schema), 내부 스키마(Internal Schema)의 세 단계로 나누어 표현한다. 같은 데이터베이스를 바라보는 관점을 추상화 수준에 따라 분리했다는 점에서, 이는 단순한 분류가 아니라 데이터 관리의 복잡성을 다루는 가장 근본적인 설계 철학이라고 볼 수 있다.

외부 스키마는 개별 사용자나 응용 프로그램이 데이터베이스를 바라보는 관점을 정의한다. 한 데이터베이스에 여러 외부 스키마가 존재할 수 있으며, 사용자는 자신의 권한에 따라 정해진 외부 스키마를 통해서만 데이터에 접근할 수 있다. SQL의 뷰(View)가 바로 외부 스키마를 구현하는 대표적인 도구이다. 개념 스키마는 데이터베이스 전체의 논리적 구조를 기술하는 단일한 스키마로, 모든 사용자에게 공통되는 통합된 관점을 제공한다. 우리가 일반적으로 데이터베이스 설계라고 할 때 가리키는 것이 바로 이 개념 스키마이며, 테이블·관계·제약 조건이 모두 여기에서 정의된다. 내부 스키마는 데이터가 물리적 저장 매체에 어떻게 저장되는지를 명세하는 가장 낮은 추상화 수준의 스키마로, 인덱스 구조·블록 크기·파일 조직 방식 같은 물리적 세부사항을 포함한다.

3계층 구조의 가장 큰 가치는 데이터 독립성(Data Independence)을 보장한다는 점이다. 데이터 독립성은 한 계층의 변화가 다른 계층에 영향을 미치지 않도록 만드는 성질이며, 두 가지 종류로 구분된다. 논리적 데이터 독립성은 개념 스키마가 변경되더라도 외부 스키마와 그것을 사용하는 응용 프로그램에는 영향을 주지 않는 성질이다. 예를 들어 새로운 컬럼을 테이블에 추가하더라도, 기존 뷰를 사용하는 프로그램은 수정할 필요가 없다. 물리적 데이터 독립성은 내부 스키마가 변경되더라도 개념 스키마와 외부 스키마, 그리고 응용 프로그램에는 영향을 주지 않는 성질이다. 디스크 저장 구조를 변경하거나 인덱스를 추가하더라도 SQL 쿼리는 그대로 작동한다는 의미이다. 이러한 데이터 독립성 덕분에 데이터베이스는 시스템의 발전에 맞춰 유연하게 진화할 수 있으며, 응용 프로그램의 생명주기가 데이터베이스 구조 변경에 의해 단축되는 일을 막아준다.

 

메타 디스크립션: 데이터베이스 구축의 핵심 절차인 설계 3단계(개념·논리·물리)와 ANSI/SPARC 3계층 스키마, 그리고 논리적·물리적 데이터 독립성 개념을 정보처리기사 출제 기준에 맞춰 정리합니다.


소개 및 문의 · 개인정보처리방침 · 면책조항

© 2026 블로그 이름