변수의 기록

(DB)데이터베이스 시스템의 기본 개념 정리 본문

CS지식/데이터베이스 (Database)

(DB)데이터베이스 시스템의 기본 개념 정리

불광동 물주먹 2025. 5. 7. 00:49

데이터베이스 시스템의 기본 개념 정리

1. 데이터베이스(Database, DB)

  • 전자적으로 저장되고 사용하는 관련 있는 데이터들의 조직화된 집합.
  • 단순한 데이터의 집합이 아니라, 구조화되고 목적에 맞게 조직된 정보임.
  • 예시: 회원 정보, 주문 내역, 게시글 등.

2. 데이터베이스 관리 시스템(DBMS: Database Management System)

  • 데이터베이스를 생성, 저장, 관리, 접근하도록 도와주는 소프트웨어 시스템.
  • 주요 역할: 데이터의 무결성, 보안성, 동시성 제어, 장애 복구 등.
  • 대표적인 DBMS:
    • 관계형: Oracle, MySQL, PostgreSQL, MS SQL Server
    • NoSQL: MongoDB, Cassandra, Redis

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

  • DB + DBMS + 관련 응용 프로그램을 포함하는 전체 시스템.
  • 사용자의 질의에 응답하고 데이터를 안전하게 처리하는 종합적인 환경.

4. 메타데이터(Metadata)

  • 데이터에 대한 데이터.
  • 예: 테이블의 구조, 데이터 타입, 제약 조건, 인덱스 정보, 사용자 권한 등.
  • 카탈로그(Catalog) 혹은 시스템 카탈로그에 저장되며, DBMS가 내부적으로 관리.

5. 데이터 모델(Data Model)

  • 데이터베이스의 구조를 추상화해서 표현할 수 있는 수단.
  • 데이터 간의 관계, 제약조건, 저장 방식 등을 정의하는 틀.
  • DB 설계과정에서 모델링에 사용되며, 논리적 구조물리적 구조를 모두 포괄.

5-1. 개념적 데이터 모델 (Conceptual Data Model)

  • 추상화 수준이 가장 높음.
  • 일반 사용자가 이해할 수 있는 비즈니스 중심의 데이터 구조 설명.
  • 예: Entity-Relationship(ER) 모델 → ERD(ER Diagram)

5-2. 논리적 데이터 모델 (Logical Data Model)

  • 개념 모델보다 더 구체적이며, DBMS에 종속적이지 않음.
  • 예: 관계형 모델(Relational), 객체지향 모델, 객체-관계 모델 등
  • 실제 데이터베이스 구조에 가까움.

5-3. 물리적 데이터 모델 (Physical Data Model)

  • 데이터가 물리적 저장장치에 어떻게 저장되는지를 표현.
  • 데이터 포맷, 정렬 방식, 인덱스, 접근 경로(Access Path) 등 구체적이고 기술적인 요소 포함.

6. 데이터베이스 스키마(Schema)와 상태(State)

스키마(Schema)

  • 데이터 모델을 기반으로 정의한 데이터베이스 구조.
  • 테이블, 뷰, 인덱스 등의 정적 정의이며, 자주 바뀌지 않음.

상태(State, Snapshot)

  • 데이터베이스에 실제로 저장되어 있는 데이터의 값.
  • 스키마는 유지되지만 상태는 시간에 따라 바뀜.

7. Three-Schema Architecture (3계층 아키텍처)

  • 사용자와 물리적 데이터 사이의 독립성 확보 목적.
  • 데이터베이스를 세 가지 계층으로 나누어 각 계층을 독립적으로 관리.

7-1. 외부 스키마 (External Schema) / External Level

  • 특정 사용자나 응용 프로그램에 필요한 부분 데이터만 표현.
  • 사용자 맞춤형 뷰(View).
  • 표현: 논리적 데이터 모델

7-2. 개념 스키마 (Conceptual Schema) / Conceptual Level

  • 전체 데이터베이스 구조를 기술.
  • 데이터 간 관계, 제약조건, 연산 등을 기술.
  • 물리적 저장 방식은 숨김.

7-3. 내부 스키마 (Internal Schema) / Internal Level

  • 실제 데이터가 저장되는 물리적 구조 표현.
  • 파일 구조, 인덱스, 접근 경로 등 포함.

사진 출처 - 유튜브 쉬운코드

 

대부분의 DBMS는 이 구조를 엄격히 구분하지 않지만, 논리적으로는 중요하다.


8. 데이터베이스 언어 (Database Languages)

8-1. DDL (Data Definition Language)

  • 스키마 정의 (개념적/논리적 수준)
  • 예: CREATE, ALTER, DROP

8-2. SDL (Storage Definition Language)

  • 내부 스키마 정의 (물리적 구조)
  • 최근에는 설정 파라미터 등으로 대체됨 (명시적 언어는 드뭄)

8-3. VDL (View Definition Language)

  • 외부 스키마(뷰)를 정의하기 위한 언어
  • 대부분 DBMS는 DDL이 VDL 역할도 겸함

8-4. DML (Data Manipulation Language)

  • 데이터의 추가, 삭제, 수정, 조회를 담당
  • 예: SELECT, INSERT, UPDATE, DELETE

8-5. 통합 언어 (Integrated Language)

  • 현대의 DBMS는 DDL, DML, VDL 기능이 통합된 언어를 제공
  • 대표 예: SQL

마무리

이러한 개념들은 데이터베이스를 효과적으로 설계하고 운영하기 위한 기초입니다. 실제 시스템을 구축하거나 운영하는 개발자/관리자/분석가라면 각각의 레벨과 역할, 그리고 데이터 모델의 계층적 구조를 명확히 이해하고 있어야 합니다. 특히 DB 설계 초기 단계에서 어떤 추상화 수준의 모델을 사용할지 결정하는 것은 시스템의 유연성과 유지보수에 큰 영향을 줍니다.