[데이터베이스 언어] DDL, DML, DCL이란?

2022. 10. 9. 00:49Intelligence Technology

데이터베이스 언어는 DBMS를 통해 전달되며, 기능에 따라 데이터 정의 언어(DDL, Data Definition Language), 데이터 조작 언어(DML, Data Manipulation Language), 데이터 제어 언어(DCL, Data Control Language)로 구분할 수 있습니다. 이러한 언어를 통해 데이터베이스 시스템과 사용자는 통신을 할 수 있습니다. 각 데이터 언어들의 특징은 다음과 같습니다.

 

 

 

데이터 정의 언어(DDL, Data Definition Language)

데이터 정의 언어는 데이터베이스(Database)의 구조를 정의, 제거, 변경할 수 있고 데이터 형식과 접근 방식 등 데이터베이스를 새로 생성하거나 변경할 목적으로 사용합니다. 데이터 정의 언어로는 외부 스키마를 정의하거나 데이터베이스의 논리적, 물리적 구조를 정의하고 제약 조건을 규정합니다.

데이터베이스 언어 종류 명령어 의미 사용 예시
데이터 정의 언어
(DDL)
CREATE 테이블 또는 데이터베이스를 생성 CREATE DATABASE [~~~~]
CREATE TABLE [~~~~]
ALTER 테이블의 내용을 수정 ALTER TABLE [~~~~]
DROP 테이블 또는 데이터베이스를 삭제 DROP DATABASE [~~~~]
DROP TABLE [~~~~]
RENAME 테이블의 이름을 변경 RENAME TABLE [~~~~] TO [****]

 

데이터 조작 언어(DML, Data Manipulation Language)

데이터 조작 언어는 사용자가 데이터를 변경 삭제, 검색을 할 수 있게 하는 도구로 사용자와 DBMS 간의 인터페이스를 제공합니다. 대표적인 데이터 조작 언어는 SQL과 같은 *질의어가 있습니다. 데이터 조작 언어는 사용자가 필요한 데이터를 찾아오게 데이터베이스에 구체적으로 기재하는 절차적 조작 언어와 사용자가 필요한 데이터를 명확하게 정의하지 않고 다양하게 찾도록 기재하는 비절차적 조작 언어의 형태로 사용이 됩니다. 물론, 비절차적 조작 언어가 사용하기 쉽지만, 원하는 값을 직접적으로 찾는 방식이 아니기에 효율성이 떨어지는 단점이 있습니다. 데이터 조작 언어는 데이터의 연산 및 데이터의 관계를 정확하게 명시해야 구하려는 값의 정확성이 높아집니다.

*질의어) 사용자가 DB에 쉽게 접근할 수 있게 대화식의 자연어로 만든 비절차적 조작 언어

데이터베이스 언어 종류 명령어 의미 사용 예시
데이터 조작 언어
(DML)
SELECT 사용자가 입력한 데이터 조회 SELECT * FROM [테이블 명]
*= all이라는 의미
INSERT 특정 컬럼에 값을 입력 INSERT INTO [테이블 명] VALUES(필드 값)
UPDATE 입력된 값을 수정 UPDATE [테이블 명] SET (필드명) = [수정할 값]
DELETE 지정된 내용을 삭제 DELETE FROM [테이블 명]

 

데이터 제어 언어(DCL, Data Control Language)

데이터 제어 언어는 무결성, 데이터 회복, 데이터 보안 및 사용자별 데이터 권한 제어 등을 위한 언어입니다. 주로 데이터를 보호하고 관리하기 위한 목적으로 사용됩니다.

데이터베이스 언어 종류 명령어 의미 사용 예시
데이터 제어 언어
(DCL)
GRANT 권한을 부여하는 기능 GRANT SELECT, DELETE ON [테이블 명] TO [사용자]
REVOKE 권한을 회수하는 기능 REVOKE SELECT ON [테이블 명] FROM [사용자]

 

기타 제어 언어

데이터베이스 언어 종류 명령어 의미
기타 제어 언어 COMMIT 변경한 데이터를 영구적으로 반영
ROLLBACK 입력, 수정, 삭제한 데이터를 이전 상태로 복귀

 

각각의 언어들은 조합을 해서 더욱 정밀하게 명령을 내릴 수도 있습니다. 데이터가 별로 없을 때는 포괄적으로 명령어를 입력해도 문제가 없지만, 데이터가 사람의 인력으로는 하나하나 확인하기가 어려울 정도로 많은 경우에는 각 명령어를 조합해서 원하는 값에 최대한 근사치의 정보를 도출할 수 있는 능력을 기르셔야 합니다.

원하는 데이터를 잘 찾고 다루는 전문가

이상으로 오늘은 데이터베이스를 생성, 저장된 값 불러오기 및 수정, 데이터별 접근 권한 부여를 명령하는 언어에 대해서 포스팅 해봤습니다.

 

똑구의 꿀팁 블로그를 방문해 주셔서 감사합니다.