정보처리기사

[정보처리기사 요약 2-1] 데이터베이스(DB) 기초(스키마, DBMS 기능, 설계 순서 등)

Hong's_Computer 2026. 2. 24. 09:56
반응형
본문에 오류가 있을 수 있음을 감안하고 봐주시길 바랍니다.
# 문제 풀이 중 오답노트 하면서 나온 내용을 정리한 것

 

데이터 저장소: 데이터들을 논리적인 구조로 조직화하거나 물리적인 공간에 구축한 것을 의미한다.

  • 논리 데이터 저장소: 데이터 및 데이터 간의 연관성, 제약조건을 식별하여 논리적인 구조로 조직화한 것이다.
  • 물리 데이터 저장소: 논리 데이터 저장소를 소프트웨어가 운용될 환경의 물리적 특성을 고려하여 실제 저장장치에 저장한 것을 의미한다.

 

데이터베이스: 여러 사람에 의해 공동으로 사용될 데이터를 중복으로 배제하여 통합하고 쉽게 접근하여 처리할 수 있도록 저장장치에 저장하여 항상 사용할 수 있도록 운영하는 운영 데이터이다.

  • 통합된 데이터(Integrated Data): 자료의 중복을 배제한 데이터의 모임
  • 저장된 데이터(Stored Data): 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료
  • 운영 데이터(Operational Data): 조직의 고유한 업무를 수행하는 데 반드시 필요한 자료
  • 공용 데이터(Shared Data): 여러 응용 시스템들이 공동으로 소유하고 유지하는 자료

 

DBMS(데이터베이스 관리 시스템): 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해 주는 소프트웨어이다. 데이터의 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템이다.

  • 정의(Definition) 기능: 데이터의 형(Type)과 구조에 대한 정의, 이용 방식, 제약조건 등을 명시하는 기능
  • 조작(Manipulation) 기능: 데이터 검색, 갱신, 삽입, 삭제 등을 위해 인터페이스 수단을 제공하는 기능
  • 제어(Control) 기능: 데이터의 무결성, 보안, 권한 검사, 병행 제어를 제공하는 기능

 

데이터의 독립성

  • 논리적 독립성: 응용 프로그램과 데이터베이스를 독립시킴으로써 데이터의 논리적 구조를 변경시키더라도 응용 프로그램은 영향을 받지 않음
  • 물리적 독립성: 응용 프로그램과 보조기억장치 같은 물리적 장치를 독립시킴으로써 디스크를 추가/변경하더라도 응용 프로그램은 영향을 받지 않음

 

스키마(Schema): 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 것이다.

종류 내용
외부 스키마 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것
개념 스키마 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 데이터베이스의 전체적인 논리적 구조로 단 하나만 존재함
내부 스키마 물리적 저장장치의 입장에서 본 데이터베이스 구조로 레코드 형식, 물리적 순서 등을 나타냄

 

 

데이터베이스 설계시 고려사항

항목 내용
무결성 삽입, 삭제, 갱신 등의 연산 후에도 데이터베이스에 저장된 데이터가 정해진 제약조건을 항상 만족해야 함
일관성 데이터베이스에 저장된 데이터들의 사이나 특정 질의에 대한 응답이 처음부터 끝까지 변함없이 일정해야 함
회복 시스템에 장애가 발생했을 때 장애 발생 직전의 상태로 복구할 수 있어야 함
보안 불법적인 데이터의 노출 또는 변경이나 손실로부터 보호할 수 있어야 함
효율성 응답시간의 단축, 시스템의 생산성, 저장 공간의 최적화 등이 가능해야 함
데이터베이스 확장 데이터베이스 운영에 영향을 주지 않으면서 지속적으로 데이터를 추가할 수 있어야 함

 

 

 

데이터베이스 설계 순서: 요구 조건 분석 → 개념적 설계 → 논리적 설계 → 물리적 설계 → 데이터베이스 구현

  • 요구 조건 분석: 데이터베이스를 사용할 사람들로부터 필요한 용도를 파악하는 것이다. 데이터베이스 사용자에 따른 수행 업무와 필요한 데이터의 종류, 용도, 처리 형태, 흐름, 제약조건 등을 수집한다. 수집된 정보를 바탕으로 요구 조건 명세를 작성한다.
  • 개념적 설계(정보 모델링, 개념화): 정보의 구조를 얻기 위하여 현실 세계의 무한성과 계속성을 이해하고 다른 사람과 통신하기 위하여 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정이다. 개념 스키마 모델링과 트랜잭션 모델링을 병행 수행한다. 요구 분석에서 나온 결과인 요구 조건 명세를 DBMS에 독립적인 E-R 다이어그램으로 작성하고 독립적인 개념 스키마를 설계한다.
  • 논리적 설계(데이터 모델링): 현실 세계에서 발생하는 자료를 컴퓨터가 이해하고 처리할 수 있는 물리적 저장장치에 저장할 수 있도록 변환하기 위해 특정 DBMS가 지원하는 논리적 자료 구조로 변환(Mapping) 시키는 과정이다. 개념 스키마를 평가 및 정제하고 DBMS에 따라 서로 다른 논리적 스키마를 설계하는 단계이다. 트랜잭션의 인터페이스를 설계한다.
  • 물리적 설계(데이터 구조화): 논리적 설계에서 논리적 구조로 표현된 데이터를 디스크 등의 물리적 저장장치에 저장할 수 있는 물리적 구조와 데이터로 변환하는 과정이다. 데이터베이스 파일의 저장 구조 및 액세스 경로를 결정하며 저장 레코드의 형식(양식), 순서, 접근 경로 설계, 조회 집중 레코드(레코드 집중의 분석 및 설계) 등의 정보를 사용하여 데이터가 컴퓨터에 저장되는 방법을 묘사한다.
  • 데이터베이스 구현: 논리적인 설계와 물리적 설계에서 도출된 데이터베이스 스키마를 파일로 생성하는 과정이다. 응용 프로그램을 위한 트랜잭션을 작성하며 데이터베이스 접근을 위한 응용 프로그램을 작성한다.
반응형