데이터 언어(data language)란?
- 사용자를 대신에 DB를 구축하고 활용 및 관리하는 DBMS에 부탁할 떄 사용하는 언어
- 사용자가 DB를 구축하고 접근하기 위해 DBMS와 통신하기 위한 수단
- 종류
- 데이터 정의어 (DDL)
- 데이터 조작어 (DML)
- 데이터 제어어 (DCL)
데이터 정의어 (DDL)
- DDL : Data Definition Language
- 스키마를 정의/수정/삭제하기 위해서 사용한다.
- DDL로 정의된 스키마는 데이터 사전에 저장되고, 수정/삭제가 발생하면 그 내용도 데이터 사전에 반영된다.
데이터 조작어 (DML)
- DML : Data Manipulation Language
- 데이터의 삽입/수정/삭제/검색 등의 처리를 요구하기 위해 사용한다.
- 종류
- 절차적 데이터 조작어
- 비절차적 데이터 조작어
절차적 데이터 조작어
- 사용자가 어떤 데이터를 원하고 데이터를 얻기 위해서는 어떻게 처리해야 하는지를 설명한다.
비절차적 데이터 조작어
- 사용자가 어떤 데이터를 원하는지만 설명한다.
- 어떻게 처리해야 하는지는 DBMS에 맡긴다.
데이터 제어어 (DCL)
- DCL : Data Control Language
- DB에 저장된 데이터를 여러 사용자가 무결성과 일관성을 유지하며 문제없이 공유할 수 있도록
내부적으로 필요한 규칙이나 기법을 정의하기 위해서 사용한다. - 사용자는 DB를 올바르게 관리하기 위해 필요한 규칙과 기법을 DBMS에 설명한다.
- DBMS가 설명받은 규칙과 기법에 따라 DB를 제어하고 보호한다.
- DCL을 통해 보장하려는 DBMS의 장점
- 무결성 (integrity) : DB에 정확하고 유효한 데이터만 유지한다,
- 보안 (security) : 허가된 사용자만 접근 권한이 있는 데이터에 접근할 수 있도록 한다.
- 회복 (recovery) : 장애가 발생해도 데이터의 일관성을 유지한다.
- 동시성 (concurrency) : 여러 사용자가 같은 데이터를 동시에 접근하여 처리할 수 있게 한다.
DCL은 기존에 DDL에 속해 있었지만 DB 제어 기능이 중요해지고 다양한 제어 기능이 만들어지면서 독립된 분류로 나뉘어졌다.