개요
데이터베이스(Database)는 개발자뿐 아니라 기획자, 데이터 분석가 등 모든 IT 직군이 기본적으로 이해해야 하는 핵심 개념이다. 이번 글에서는 데이터베이스의 기초를 다시 훑어보며, 주요 용어의 의미와 그들 간의 관계를 명확히 정리한다.
내용
데이터베이스의 정의
데이터베이스(Database)는 전자적으로 사용되는 관련 데이터의 조직화된 집합을 뜻한다.
- 데이터는 같은 목적이나 같은 출처로 묶이며,
- 조회와 갱신이 쉽도록 구조화되어 있다.
예를 들어, 쇼핑몰의 데이터베이스는 ‘상품 정보’, ‘고객 정보’, ‘주문 내역’처럼 서로 관련된 데이터를 체계적으로 저장한다.
DBMS의 정의
DBMS(Database Management System)는 데이터베이스를 정의·생성·접근·관리하는 소프트웨어를 말한다.
대표적으로 Oracle, MySQL, PostgreSQL 등이 있다.
또한, DBMS는 메타데이터(Metadata) 를 관리한다.
- 메타데이터: 데이터를 설명하는 데이터
- 예시: 스키마, 컬럼, 제약조건, 인덱스 등의 정의
- 이 정보들은 카탈로그(Catalog) 또는 데이터 사전(Data Dictionary) 에 저장된다.
데이터베이스 시스템의 정의
데이터베이스 시스템(Database System)은 다음 세 가지의 조합이다.
- 데이터베이스(Database)
- DBMS
- 관련 애플리케이션(Application)
문맥에 따라 단순히 "데이터베이스"라고 부르기도 한다.
데이터 모델(data model)
데이터 모델은 데이터베이스 구조를 기술하는 개념들의 모음이다.
- 데이터 유형, 데이터 간의 관계, 제약조건, 이를 다루는 연산까지 포함한다.
- 쉽게 말해, 데이터를 어떻게 표현하고 다룰지 정한 설계도이다.
데이터 모델의 분류
- Conceptual Model (개념적 모델)
- 비즈니스 관점에서 이해하기 쉬운 상위 수준 모델
- 예: ER(Entity–Relationship) 모델
- Logical Model (논리적 모델)
- 특정 DBMS에 종속되지 않으면서 구현에 가까운 모델
- 예: 관계형(Relational) 모델
- Physical Model (물리적 모델)
- 실제 저장 및 접근 방식을 기술하는 모델
- 예: 파일 구조, 페이지, 파티션, 인덱스 등
그 외에 객체 데이터 모델(Object Data Model), 객체-관계 모델(Object–Relational Model) 도 있다.
스키마와 상태
- 스키마(Schema): 데이터베이스 구조의 정의(변하지 않는 뼈대)
- 상태(State): 특정 시점의 실제 데이터(자주 변함)
비유하자면, 스키마는 건물 설계도이고, 상태는 현재 건물 안에 배치된 가구와 사람들의 위치다.
Three-schema architecture
사용자 애플리케이션과 물리 저장을 분리하여 변화의 영향을 최소화하려는 구조다.
- External Schema (외부 스키마)
- 사용자 관점의 View
- 필요한 데이터만 보여줌 (예: 고객별 주문 내역 화면)
- Conceptual Schema (개념 스키마)
- 조직 전체 관점의 통합 논리 구조
- 엔터티, 관계, 제약조건 포함, 물리적 세부사항은 숨김
- Internal Schema (내부 스키마)
- 물리 저장 관점
- 저장 구조, 인덱스, 접근 경로(access path) 기술
현대 DBMS에서는 이 구조를 엄밀히 구분해 제공하지 않지만, 개념적으로 이해해두면 데이터 독립성 확보에 도움이 된다.
DDL/VDL/SDL, DML
- DDL (Data Definition Language): 스키마 정의 (CREATE TABLE, ALTER TABLE 등)
- VDL (View Definition Language): 뷰 정의 (CREATE VIEW)
- SDL (Storage Definition Language): 내부 저장 정의 (현대에는 DDL 옵션으로 대체되는 경우 많음)
- DML (Data Manipulation Language): 데이터 조작 (SELECT, INSERT, UPDATE, DELETE)
현업에서는 주로 SQL 하나로 DDL과 DML을 모두 다룬다.
정리
- 데이터베이스: 관련 데이터를 전자적으로 구조화해 저장·관리하는 집합
- DBMS: 데이터베이스를 정의·관리하는 소프트웨어, 메타데이터는 카탈로그에 저장
- 데이터 모델: Conceptual / Logical / Physical로 나누어 설계
- 스키마 vs 상태: 구조와 실제 데이터의 차이
- Three-Schema Architecture: 데이터 독립성 확보를 위한 설계 개념
- SQL: DDL, DML, VDL, SDL 기능을 통합적으로 제공
참고
https://www.youtube.com/watch?v=aL0XXc1yGPs&list=PLcXyemr8ZeoREWGhhZi5FZs6cvymjIBVe
'기술 탐구 > RDB' 카테고리의 다른 글
| SQL에서 Null과 Three-Valued Logic 완벽 이해하기 (1) | 2025.08.09 |
|---|---|
| (RDB) 데이터베이스 이상 현상과 Transaction Isolation Level (0) | 2025.01.05 |