데이터베이스 시스템
데이터베이스에 데이터를 저장하고, 이를 관리하여 조직에 필요한 정보를 생성해주는 시스템
-> 정보 : 데이터를 토대로 의미있는 내용을 도출한 것
스키마와 인스턴스
- 스키마
- 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것
- class, definition의 개념
- 인스턴스
- 스키마에 따라 데이터베이스에 실제로 저장된 값
- object, 실체화된 내용임
3단계 데이터베이스 구조
ANSI/SPARC에서 데이터베이스를 쉽게 이해하고 이용할 수 있도록 하나의 데이터베이스를 관점에 따라 세 단계로 나눔.
- 외부 단계 : 개별 사용자 관점
- 데이터베이스 하나에 대해 여러 개의 외부 스키마가 존재할 수 있음
- 개별 사용자마다 필요한 데이터가 다르므로 -> 사용자마다 정의하는 외부 스키마가 다름
- 실제로는 20개의 정보가 존재하더라도 내게 보이는 것은 10개일 수 있음 (정의하는 외부 스키마가 다르기 때문!)
- 개념 단계 : 조직 전체의 관점
- 데이터베이스 하나에 개념 스키마가 하나만 존재함
- 개념 단계에서 데이터베이스 전체의 논리적 구조를 정의한 것
- 내부 단계 : 물리적인 저장 장치의 관점
- 데이터베이스 하나에 내부 스키마가 하나만 존재함
- 데이터베이스를 저장 장치의 관점에서 이해함
스키마 사이의 대응 관계
- 외부 / 개념 매핑 : 외부 스키마와 개념 스키마 사이의 매핑 관계
- 개념 / 내부 매핑 : 개념 스키마와 내부 스키마 사이의 매핑 관계
- DB를 3단계 구조로 나누고 단계별로 스키마 유지하며 스키마 사이의 대응 관계를 정의 -> 데이터 독립성의 실현
데이터 독립성 (Data Independency)
=> 하위 스키마를 변경하더라도 상위 스키마는 영향을 받지 않는 특성이다.
1. 논리적 데이터 독립성
- 개념 스키마가 변경되어도 외부 스키마는 영향을 받지 않음
- 개념 스키마가 변경되면 관련된 외부 / 개념 매핑 내용만 수정해주면 됨
2. 물리적 데이터 독립성
- 내부 스키마가 변경되어도 개념 스키마는 영향을 받지 않음
- 내부 스키마가 변경되면 관련된 개념 / 내부 매핑만 수정해주면 됨
데이터 언어
- 데이터 정의어 (DDL) -> definition
- 스키마를 정의하거나, 수정 또는 삭제하기 위해서 사용됨
- 데이터 조작어 (DML) -> modification
- 데이터의 삽입 / 삭제 / 수정 / 검색 등의 처리를 요구하기 위해 사용됨
- 데이터 제어어 (DCL) -> control
- 내부적으로 필요한 규칙, 기법을 정의하기 위해서 사용됨
DBMS의 구성
- 질의 처리기 (query processor)
- 사용자의 데이터 처리 요구 해석하여 처리함
- DDL 컴파일러, DML 컴파일러, DML 프리 컴파일러 (주황색 - DBMS request 요소), 런타임 DB 처리기, 트랜잭션 관리자 등이 포함됨.
- 저장 데이터 관리자
- 디스크에 저장된 DB, Dict(데이터 사전) 관리하고 접근함
예시 ) 파이썬 프로그램 -> DML 컴파일러는 이해하지 못하므로, 해당 py 파일에서 DML 프리 컴파일러가 SQL 추출을 진행함.
- 김연희. 『데이터베이스개론』. 한빛아카데미.
'Computer Science' 카테고리의 다른 글
[데이터베이스] 데이터베이스 저장 및 인덱스 (0) | 2023.11.29 |
---|---|
[데이터베이스] #3 데이터 모델링, 관계 데이터 모델 (1) | 2023.10.10 |
[데이터베이스] #1 데이터베이스 기본 개념, 관리 시스템 DBMS (0) | 2023.09.09 |