Notice
Recent Posts
Recent Comments
Link
변수의 기록
(DB)데이터베이스 시스템의 기본 개념 정리 본문
데이터베이스 시스템의 기본 개념 정리
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 설계 초기 단계에서 어떤 추상화 수준의 모델을 사용할지 결정하는 것은 시스템의 유연성과 유지보수에 큰 영향을 줍니다.
'CS지식 > 데이터베이스 (Database)' 카테고리의 다른 글
(데이터베이스)Three-tier Architecture와 Stored Function 활용법 (0) | 2025.05.17 |
---|---|
(데이터베이스)SQL 조인 정리 (0) | 2025.05.14 |
(데이터베이스)SQL에서의 NULL과 Three-Valued Logic: 반드시 알아야 할 핵심 개념 정리 (0) | 2025.05.14 |
(데이터베이스) SQL 설명 기본 dml ,ddl ,vdl (0) | 2025.05.10 |
(데이터베이스)관계형 데이터 모델 (Relational Data Model) 정리 (0) | 2025.05.07 |