본문 바로가기
IT

데이터베이스 언어(DDL, DML, DCL)

by 미니송 2017. 12. 5.

이번 포스팅은 데이터베이스 언어에 대해 하겠습니다. 데이터베이스 언어는 Database Language라고 하며 데이터베이스를 사용하는데 필요한 언어입니다.


데이터베이스 언어에는 데이터 정의 언어(DDL), 데이터 조작언어(DML), 데이터베이스 제어 언어 (DCL)등이 있습니다.



 

데이터 정의 언어(DDL)

데이터 정의 언어는 Data Definition Language의 약자입니다. DB구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어이며 변역한 결과가 데이터사전(Data-dictionary)


라는 특별한 파일에 여러 개의 테이블로서 저장됩니다. 데이터 정의 언어의 기능으로는 외부 스키마 명세 정의, 데이터베이스 정의 및 수정, 스키마에 사용되는 제약조건에 대한 명세 정의, 데이터의 물리적 순서 규정 등이 있습니다.


CREATE, DROP, ALTER, TRUNCATE 등이 있으며 CREATE는 새로은 데이터 베이스 관계, , 인덱스, 저장 프로시저 만들기 등을 수행할 수 있습니다. DROP은 이미 존재하는 데이터베이스 관계, , 인덱스, 저장 프로시저를 제거할 수 있습니다. ALTER는 이미 존재하는 데이터베이스 개체에 대한 변경, 이름 변경의 역할을 합니다. TRUNCATE는 관계에서 데이터를 제거하며 다시 복구할 수 없습니다.

 

데이터 조작 언어(DML)

데이터 조작 언어는 Data Manipulation Language의 약자입니다. 사용자가 데이터를 처리할 수 있게 하는 도구입니다. 사용자와 DBMS간의 인터페이스를 제공하며 응용 프로그램을 통하여 사용자가 DB의 데이터를 조작할 수 있도록 하기 위해 FORTRAN, COBOL 등의 호스트 언어에 DB기능을 추가시켜 만든 언어입니다. 대표적인 데이터 조작어에는 질의어가 있으며 질의어는 터미널에서 주로 이용하는 비절차적 데이터 언어입니다.


데이터 조작 언어에는 SELECT, INSERT, UPDATE, DELETE등이 있습니다. SELECT는 검색(질의)을 할 수 있으며 INSERT는 삽입(등록)을 할 수 있습니다. UPDATE는 수정을 할 수 있으며 DELETE는 삭제의 역할을 합니다.

 

데이터 제어 언어(DCL)

데이터 제어 언어는 Data Control Language의 약자입니다. 무결성, 보안 및 권한 제어, 회복을 하기 위한 언어입니다. 데이터를 보호하고 데이터를 관리하는 목적으로 사용하며 데이터 제어언어의 기능은 불법적인 사용자로부터 데이터를 보호하는 데이터 보안, 데이터 정확성을 위한 무결성 유지, 시스템 장애에 대비한 데이터 회복과 병행 수행 등이 있습니다.


데이터 제어 언어에는 GRANT, REVOKE가 있습니다. GRANT는 특정 데이터베이스 사용자에게 특정 작업을 수행할 수 있는 권한을 부여할 수 있습니다. REVOKE는 특정 데이터베이스 사용자에게 부여된 권한을 없앨 수 있습니다.


GRANT REVOKE로 주거나 없앨 수 있는 권한은 CONNECT, SELECT, INSERT, UPDATE, DELETE, USAGE등이 있으며 CONNECT는 연결 권한, SELECT는 검색 권한, INSERT는 등록 권한, UPDATE는 수정 권한, DELETE는 삭제 권한, USAGE는 데이터베이스 개체 사용 권한을 의미 합니다.

 

댓글