본문 바로가기

Database/Theory

Database。데이터베이스 관리 시스템(DBMS)

728x90
반응형

사용자와 데이터베이스 사이에 위차하여 데이터베이스를 관리하고 사용자가 요구하는 연산을 수행해서 정보를 생성해 주는 소프트웨어

 

데이터베이스 사용자가 표현한 데이터베이스 접근 요구(Access Request)를 접수해서 이것을 조사 분석한 뒤 컴퓨터가 이해할 수 있는 형태로 변환(Transform)

 

DBMS 구성요소

 

# DDL 컴파일러(DDL Conpiler) 또는 DDL 처리기(DDL Processor)

DDL로 명시된 스키마 정의를 내부 형태로 변환하여 시스템 카탈로그에 저장

 

# 메타데이터(Matadata)

카탈로그에 저장 된 데이터(파일 이름과 크기, 데이터 이름과 크기, 파일의 세부 사항, 제약 조건 등 DBMS 모듈들이 필요로 하는 정보)

 

# 질의어 처리기(Query Processor)

터미널을 통해 일반 사용자가 제출한 고급 질의문을 처리(질의문을 파싱(Parsing)하고 분석해서 컴파일 함)

효율적인 데이터베이스 접근을 할 수 있도록 코드를 생성한 뒤에 런타임 데이터베이스 처리기(Runtime Database Processor)로 보내 해당 코드 실행

 

# DML 예비 컴파일러(Precompiler)

호스트 프로그래밍 언어로 작성된 응용 프로그램 속에 삽입되어 있는 DML 명령문들을 추출하고 그 자리에는 함수 호출문(Call Statement) 삽입

 

추출된 명령문들은 데이터베이스 접근을 위한 목적 코드로 컴파일 되도록 DML 컴파일러에 보내지고, 나머지 수정된 응용 프로그램은 호스트 프로그래밍 언어의 컴파일러에 보내짐

 

# DML 컴파일러(DML Compiler) 또는 DML 처리기(DML Processor)

DML 예비 컴파일러가 넘겨준 DML 명령문을 파싱하고 컴파일하여 효율적인 목적 코드 생성

 

DML에 대한 목적 코드는 호스트 프로그래밍 언어 컴파일러에 의해 처리, 수정된 응용 프로그램의 목적 코드와 연결되어 런타임 데이터베이스 처리기에 의해 실행

 

# 런타임 데이터베이스 처리기(Run-time Database Processor)

실행 시간에 데이터베이스 접근을 관리

 

검색이나 갱신과 같은 데이터베이스 연산을 저장 데이터 관리자(Stored Data Manager)를 통해 디스크에 저장된 데이터베이스에 실행

 

# 트랜잭션 관리자(Transaction Manager)

데이터베이스를 접근하는 과정에서 무결성 제약조건이 만족하는지, 사용자가 데이터를 접슨할 수 있는 권한을 가지고 있는지 권한 검사(Authorization Check)를 함

 

여러 사용자의 요구를 동시에 처리할 수 있도록 트랜잭션의 병행 제어(Concurrency Control)나 장애 발생시 회복(Recovery) 작업 수행

 

# 저장 데이터 관리자(Stored Data Manager)

디스크에 저장되어 있는 사용자 데이터베이스나 시스템 카탈로그 접근을 책임짐

728x90
반응형

'Database > Theory' 카테고리의 다른 글

Database。사용자(Users)  (0) 2020.10.13
Database。데이터 언어  (0) 2020.10.12
Database。3단계 데이터베이스  (0) 2020.09.28
Database。데이터베이스 관리 시스템(DBMS) - 발전 배경  (0) 2020.09.27
Database。구조  (0) 2020.09.26