Database Languages
DBMS는 사용자가 DB를 조작할 수 있는 언어를 지원함
- 예시 언어: QUEL, SQL, Relational Algebra(관계 대수), Query-by-Example, LDL 등
- SQL이 현재 가장 널리 사용되는 언어
SQL 예시
-- ID가 22222인 교수의 이름 찾기
SELECT name FROM professor WHERE pID = '22222';
-- 해당 교수가 담당하는 강좌의 제목 찾기
SELECT title
FROM teaches, course
WHERE teaches.cID = course.cID AND pID = '22222';
- 응용 프로그램은 다음 방법으로 DB에 접근함:
- SQL의 절차적 확장 사용
- SQL을 다른 언어(C, Java 등)에 내장
- API 사용 (ODBC / JDBC 등)
DBMS Components
DBMS는 매우 복잡한 대형 소프트웨어이며, 기본적으로 다음 두 핵심 구성 요소로 이루어짐:
| 구성요소 |
기능 |
| **Query Processor |
|
| (질의어 처리기)** |
질의 처리, 인증/인가 등의 권한 부여/철회 |
| **Storage Manager |
|
| (저장 관리자)** |
데이터 저장·검색·갱신 효율화, 파일 조직화, 인덱스·해시 관리, 트랜잭션 관리 등 |

- 저장 관리자가 디스크에 존재하는 데이터 베이스와 데이터 사전(Data Dictionary;
Meta data)을 관리함
- 데이터 베이스 시스템을 사용하는 사용자는 다수이며, 이들은 데이터베이스 application(응용)을 통하여 DBMS에 접근함. 사용자는 일반 사용자 외에 다른 응용 프로그램을 의미할 수도 있음.
Data Dictionary
- **메타데이터(Metadata)**를 저장하는 저장소
- 내용:
- DB 스키마
- 무결성 제약조건
- 권한
- 통계정보 등