데이터베이스를 정의하고 접근하기 위한 데이터베이스 관리 시스템(DBMS)과의 통신 수단
1. 데이터 정의어(DDL : Data Definition Language)
데이터베이스를 정의하거나 그 정의를 수정할 목적으로 사용하는 언어
기본적으로 데이터베이스 스키마를 데이터베이스 관리 시스템에 이해할 수 있게끔 기술하는 데 사용되기에 데이터베이스 관리자나 데이터베이스 설계자가 사용
# 데이터 저장 정의어(DSDL : Data Storage Definition Language)
개념 스키마와 내부 스키마를 구분하는 시스템에서 내부 스키마를 명세하기 위해 DDL이나 DSDL 중 하나가 사용
EX. 생성(CREATE), 수정(ALTER), 삭제(DROP)
2. 데이터 조작어(DML : Data Manipulation Language)
사용자가 DBMS로 하여금 원하는 데이터를 처리하게끔 명세하는 도구로서 사용자(응용 프로그램)와 DBMS간의 인터페이스를 제공
기본적 데이터 처리로 검색, 삽입, 삭제, 변경 등을 표함
# 절차적 데이터 조작어(Procedural DML)
사용자가 무슨 데이터를 원하며 어떻게 그것을 접근하여 처리해야 되는지를 명세해야 되는 저급 데이터 언어
# 비절차적 데이터 조작어(Nonprocedural DML)
사용자가 무슨 데이터를 원하는지만 명세하고 그것을 어떻게 접근하여 처리할 것인가에 대해서는 명세할 필요 없이 데이터베이스 관리 시스템에 위임하는 고급 데이터 언어
# 질의어(Query Language)
특별히 독자적이고 상호 작용 형태로 터미널에서 많이 사용하고 있는 고급 명령어(Command) 형태의 독립된 데이터 조작어
# 데이터 부속어(DSL : Data SubLanguage)
호스트 프로그램속에 삽입되어 사용되는 DML 명령어
# 데이터 언어의 완전성(Completeness Of Data Language) - 데이터 언어의 필수적 요건 중 하나
사용자가 원하는 데이터베이스의 어떤 객체도 추출할 수 있고 처리할 수 있으며 어떤 연산도 표현할 수 있는 데이터 언어의 능력
EX. 조회(SELECT), 추가(INSERT), 수정(UPDATE), 제거(DELETE)
3. 데이터 제어어(DCL : Data Control Language)
데이터 제어에 관해 정의하고 기술하는 언어
불법적인 사용자로부터 데이터를 보호하기 위한 데이터 보안(Security), 데이터 정확성 유지를 위한 무결성(Integrity), 시스템 장애에 대비한 데이터 회복(Recovery)과 데이터베이스의 동시 접근을 가능하게 하는 병행 수행 제어(Concurrency Control)를 명세할 수 있는 명령어들을 포함하기에 데이터 관리 목적으로 데이터베이스 관리자(Database Administrator)가 사용
EX. COMMIT, ROLLBACK, GRANT, REVOKE
'Database > Theory' 카테고리의 다른 글
Database。관계형 데이터 모델(Relational Database) (0) | 2020.10.15 |
---|---|
Database。사용자(Users) (0) | 2020.10.13 |
Database。데이터베이스 관리 시스템(DBMS) (0) | 2020.09.29 |
Database。3단계 데이터베이스 (0) | 2020.09.28 |
Database。데이터베이스 관리 시스템(DBMS) - 발전 배경 (0) | 2020.09.27 |