IT 지식/데이터베이스(DB Database)

[DB] Database 요약 & 정리 DDL, DML, DCL

나아가는중 2021. 3. 20. 15:56
반응형

[DB] Database 요약 & 정리 DDL, DML, DCL

데이터베이스 언어

  • DBMS는 사용자와의 의사소통을 위해 데이터베이스 언어를 제공한다.
  • 사용자는 데이터베이스 언어를 이용하여 사용자의 요구사항을 DBMS에 표현한다.
  • 데이터베이스 언어를 분류할때 기능적인 관점과 표현방식 관점에서 분류한다.
  • 기능적 관점에서는 다음과 같이 구분된다.
    • DDL (Data Definition Language), Definition: 정의
    • DML (Data Manipulation Language) Manipulation: 조작
    • DCL (Data Control Language) Control: 제어
  • 표현적인 관점에서는 다음과 같이 구분된다.
    • 절차적인(Procedural) 언어
    • 비절차적인(Declarative) 언어

 

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

  • DB 스키마에 대한 조작을 담당한다.
  • 스키마의 생성(CREATE), 삭제(Drop), 변경(ALTER) 등을 담당한다.
  • DBMS는 스키마에 대한 정보를 데이터 사전(Data Dictionary)에 저장 관리하므로, DDL의 실행 효과는 데이터 사전에 반영된다.
  • DDL은 스키마에 관련되는 도메인, 데이터 제약 조건 등을 표현할 수 있는 기능을 제공한다.

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

  • DB 인스턴스에 대한 조작을 담당한다.
  • 인스턴스의 생성(INSERT), 조회(SELECT), 삭제(DELETE), 변경(UPDATE) 등을 담당한다.
  • 사용자는 DML을 이용하여 질의(Query)를 생성하여 DBMS에 전달, 처리한다.

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

  • DBMS의 스키마와 인스턴스를 제외한 다른 객체를 조작을 담당한다.
  • 트랜잭션 시작, 트랜잭션 종료, 트랜잭션 분리도 지정, 세션 시작, 세션 종료, 회복 및 복구 기능 등이 있다.
  • DBMS에 접근 권한을 주고 회수하는 부여(GRANT), 회수(REVOKE) 등을 담당한다.

 

 

Procedural langauage 절차적인 언어

  • 절차적인 언어는 처리 방법 및 절차를 명시한다.

Declarative language 비절차적 언어

  • 대표적으로 SQL이 있다.
  • 데이터를 선언적으로 표현할 뿐, 어떻게 데이터를 구하는 지를 명시하지 않는다.
  • 비절차적 언어는 절차적인 언어보다 진보된 언어이다.
  • 컴퓨터 시스템이 처리하는 방법 및 절차를 자체적으로 발견해야 하므로, 처리가 더 어렵고 복잡하다.
반응형