1. DB 시스템의 구성 요소
1) 데이터베이스(DB)
2) 데이터베이스 관리 시스템(DBMS)
- DB를 생성, 관리, 조작함으로써 사용자와 DB를 연결해주는 소프트웨어
3) 데이터 언어(Data Language)
- DB 정의와 조작, 제어를 위한 DB 전용 언어
4) DB 사용자
- 데이터 언어를 사용해서 DB에 접근하는 사람으로, 일반 사용자와 응용 프로그래머, DB 관리자로 구분할 수 있다.
5) DB 컴퓨터
- 효율적인 DB 관리를 위해서 DB에 대한 연산을 전담하는 DB 관리 전용 컴퓨터이다.
2. 데이터 언어의 종류
1) 데이터 정의어 (DDL: Data Definition Language)
- DB 구조를 정의하거나 변경하기 위해서 사용하는 언어
2) 데이터 조작어 (DML: Data Manipulation Language)
- DB 사용자(응용 프로그램 포함)와 DBMS 사이의 통신수단으로서,
데이터 검색과 삽입, 삭제, 갱신과 같은 DB연산을 처리한다.
3) 데이터 제어어(DCL: Data Control Language)
- 공용의 DB의 관리를 위해 데이터 제어를 정의하고 기술하는 언어
3. DB 관리자의 주요 역할
- DB 시스템 감시(Monitoring) 및 성능 분석
- DB의 구성 요소 결정 및 스키마 정의
- DB의 저장 구조와 접근 방법 결정
- 보안 및 권한 부여 정책, 데이터의 유효성 검사 방법 수립
- 백업(Backup) 및 복구(Recovery) 절차 수립
- DB의 무결성 유지를 위한 대책 수립
- DB 시스템의 성능 향상 및 새로운 요그에 대응한 DB 재구성
- 시스템 카탈로그의 관리
- 데이터 표현 및 시스템 문서화에 대한 표준 설정
- 사용자의 요구 및 불만 해소 등
4. DBMS의 기능적 구성 요소와 그 역할
1) DDL 컴파일러(DDL Compiler)
- DDL로 정의된 스키마를 내부 형태로 변환해서 시스템 카탈로그에 저장한다.
2) 질의어 처리기(Query Processor)
- 터미널에서 일반 사용자가 입력한 질의문을 컴파일해서, DB에 접근하기 위한 오브젝트 코드(Object Code)를 생성한다.
3) DML 예비 컴파일러 (DML Pre-Compiler)
- 호스트 언어로 작성된 응용 프로그램에 삽입된 DML을 추출한 다음, 그 자리에 함수 호출문(Procedure Call Statement)을 삽입한다.
4) DML 컴파일러(DML Compiler)
- DML 명령어를 컴파일해서 오브젝트 코드로 변환한다.
5) 런타임 DB 처리기(Runtime Database Processor)
6) 트랜잭션 관리자(Transaction Manager)
- 트랜잭션(Transaction) 단위의 작업을 수행한다.
7) 저장 데이터 관리자(Stored Data Manager)
- 디스크에 저장되어있는 사용자 DB나 시스템 카탈로그에 대한 접근을 제어한다.