본문 바로가기

BASIC/DataBase

[DB] 데이터 언어(Data Language)

1. 데이터 언어

- 데이터 언어는 데이터베이스를 구축하고 이용하기 위한 데이터베이스 관리 시스템과의 통신 수단이다.

- 데이터 언어는 기능과 사용 목적에 따라 DDL(Data Definition Language), DML(Data Manipulation Language), DCL(Data Control Language)로 나뉜다.


2. DDL(데이터 정의어)

- 데이터베이스 구조, 데이터 형식, 접근 방식 등 데이터베이스를 구축하거나 변경할 목적으로 사용하는 언어이다.

- DDL 컴파일러가 컴파일한 후 데이터 사전에 저장한다.

- DDL의 기능

- 데이터베이스의 논리적, 물리적 구조를 정의 및 변경한다.

- 스키마에 사용되는 제약 조건을 정의한다.

- 데이터의 물리적 순서를 규정한다.


3. DML(데이터 조작어)

- 데이터 처리를 위해서 응용 프로그램과 데이터베이스 관리 시스템 간의 인터페이스를 위한 언어이다.

- 데이터 처리를 위한 연산의 집합으로 데이터의 검색, 삽입, 삭제, 갱신 연산 뜽이 있다.

- DML의 형태

- 절차적 데이터 조작어 : 사용자가 어떤 데이터를 필요로 하는지는 물론이고 필요한 데이터를 어떻게 구하는지를 명시하는 언어로서, 배우기도 어렵고 사용하기도 어렵다.

- 비절차적 데이터 조작어 : 사용자가 어떤 데이터가 필요한지만을 명시하고 어떻게 구하는지는 명시하지 않는 언어로서, 배우기 쉽고 사용하기 쉬우나 코드의 효율성 면에서 비효율적이다.


4. DCL(데이터 제어어)

- 보안 및 권한 제어, 무결성, 회복, 병행 제어를 위한 언어이다.

- DCL의 기능

- 데이터 보안 : 권한이 없는 접근으로부터 데이터베이스를 보호한다.

- 데이터 무결성 : 의미적인 측면에서 데이터가 정확하고 완전함을 의미한다. 사용자가 무결성 제약 조건을 정의하면 데이터베이스 관리 시스템은 데이터를 삽입, 삭제, 갱신할 때마다 제약 조건을 자동적으로 검사한다.

- 데이터 회복 : 시스템 오류 등으로부터 데이터베이스를 회복한다.

- 병행 제어 : 여러 사용자가 동시에 데이터베이스를 공유할 수 있도록 한다.

'BASIC > DataBase' 카테고리의 다른 글

[DB] 분산 데이터베이스  (0) 2018.02.22
[DB] 보안(Security)  (0) 2018.02.22
[DB] 무결성(Integrity)  (0) 2018.02.22
[DB] 병행제어(Concurrency Control)  (0) 2018.02.22
[DB] 트랜잭션의 개념  (0) 2018.02.21