[DB]DML, DDL, DCL

2025. 2. 18. 15:45·CS/데이터베이스

데이터베이스 언어는 DML, DDL, DCL로 구분된다. 각 언어는 데이터베이스를 다루는 목적에 따라 구분되며, SQL 문법에서 자주 사용된다.

1. 트랜잭션(Transaction)이란

트랜잭션(Transaction)은 데이터베이스의 일련의 작업 단위로, 모든 작업이 완벽히 실행되거나, 전혀 실행되지 않도록 보장하는 것을 말한다. 트랜잭션은 ACID 원칙을 기반으로 데이터의 일관성과 무결성을 유지한다. 쉽게 말하자면 임시 데이터베이스에 작업을 저장해두는 것이다.

ACID 원칙

Atomicity(원자성): 모든 작업이 전부 성공하거나 전부 실패해야 한다.

Consistency(일관성): 트랜잭션 완료 후 데이터는 항상 일관성을 유지한다.

Isolation(격리성): 동시에 실행되는 트랜잭션은 서로 간섭하지 않는다.

Durability(지속성): 트랜잭션이 완료되면 결과는 영구히 저장된다.

주요명령어

BEGIN: 트랜잭션 시작

COMMIT: 트랜잭션 완료 및 저장

ROLLBACK: 트랜잭션 취소 및 이전 상태 복구

2. DML(Data Manipulation Language)

특징

데이터를 조회, 삽입, 수정, 삭제하는 데 사용하며, 트랜잭션을 지원한다.

주요 명령어

SELECT: 데이터 조회

INSERT: 데이터 삽입

UPDATE: 데이터 수정

DELETE: 데이터 삭제

3. DDL(Data Definition Language)

특징

데이터베이스 객체를 정의, 수정, 삭제하며, 트랜잭션을 지원하지 않고 자동으로 COMMIT된다.

주요 명령어

CREATE: 데이터베이스 객체 생성

ALTER: 데이터베이스 객체 수정

DROP: 데이터베이스 객체 삭제

TRUNCATE: 테이블의 모든 데이터 삭제(구조는 유지)

4. DCL (Data Control Language)

특징

사용자 권한과 보안을 관리하며, 일부는 트랜잭션을 지원하지만 대부분 자동으로 COMMIT된다.

주요 명령어

GRANT: 사용자에게 권한 부여

REVOKE: 사용자에게 부여된 권한 취소

DENY: 특정 권한을 거부

'CS > 데이터베이스' 카테고리의 다른 글

[DB]DBMS 용어  (0) 2025.04.15
'CS/데이터베이스' 카테고리의 다른 글
  • [DB]DBMS 용어
yxxjxxeee
yxxjxxeee
  • yxxjxxeee
    공부 일지
    yxxjxxeee
  • 전체
    오늘
    어제
    • study
      • Framework
        • Spring
      • Language
        • JavaScript
        • C | C++
        • JAVA
        • PHP
      • CS
        • 네트워크
        • 자료구조
        • 데이터베이스
        • 운영체제
      • DBMS
        • MySQL
      • 코딩테스트
        • 백준
        • 프로그래머스
        • LeetCode
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 쇼핑몰 제작 프로젝트(PHP)
    • github
  • 공지사항

  • 인기 글

  • 최근 글

  • hELLO Designed By 정상우
    Version v4.10.2
yxxjxxeee
[DB]DML, DDL, DCL
상단으로

티스토리툴바