데이터베이스 언어(Database Language)

Kkd·2024년 12월 4일
0

매일메일 개념정리

목록 보기
17/93

데이터베이스 언어(Database Language)는 데이터베이스를 구축하고 이용하기 위한 데이터베이스 시스템과의 통신 수단으로 데이터베이스를 설계, 정의, 질의, 조작, 관리하기 위한 언어들입니다. 데이터베이스 언어는 데이터베이스 시스템의 기능을 수행하기 위해 다양한 유형으로 나뉩니다.


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

정의

  • 데이터베이스의 구조와 스키마를 정의하거나 수정, 삭제할 때 사용됩니다.

기능

  • 테이블, 인덱스, 뷰, 제약 조건 등 데이터베이스의 구조를 정의합니다.

주요 명령어

  • CREATE: 데이터베이스 객체 생성
    CREATE TABLE Users (
        id INT PRIMARY KEY,
        name VARCHAR(50),
        email VARCHAR(50)
    );
  • ALTER: 기존 객체 변경
    ALTER TABLE Users ADD COLUMN age INT;
  • DROP: 데이터베이스 객체 삭제
    DROP TABLE Users;
  • TRUNCATE: 테이블 데이터 초기화 (구조는 유지)
    TRUNCATE TABLE Users;

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

정의

  • 데이터베이스에 저장된 데이터를 조작(삽입, 수정, 삭제, 조회)하는 데 사용됩니다.

기능

  • 데이터를 추가하거나 수정, 삭제, 검색할 수 있습니다.

주요 명령어

  • INSERT: 데이터 삽입
    INSERT INTO Users (id, name, email) VALUES (1, 'Alice', 'alice@example.com');
  • UPDATE: 데이터 수정
    UPDATE Users SET email = 'newemail@example.com' WHERE id = 1;
  • DELETE: 데이터 삭제
    DELETE FROM Users WHERE id = 1;
  • SELECT: 데이터 조회
    SELECT * FROM Users WHERE name = 'Alice';

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

정의

  • 데이터베이스 시스템에서 사용자 권한을 제어하기 위해 사용됩니다.

기능

  • 사용자의 접근 권한을 부여하거나 회수합니다.

주요 명령어

  • GRANT: 사용자에게 권한 부여
    GRANT SELECT, INSERT ON Users TO 'username';
  • REVOKE: 사용자 권한 회수
    REVOKE INSERT ON Users FROM 'username';

4. 트랜잭션 제어 언어 (TCL, Transaction Control Language)

정의

  • 데이터베이스 트랜잭션의 처리와 제어를 담당합니다.

기능

  • 트랜잭션을 완료하거나 취소합니다.

주요 명령어

  • COMMIT: 트랜잭션의 변경 내용을 영구적으로 반영
    COMMIT;
  • ROLLBACK: 트랜잭션 변경 내용을 취소
    ROLLBACK;
  • SAVEPOINT: 트랜잭션 내 특정 시점을 설정
    SAVEPOINT sp1;
  • RELEASE SAVEPOINT: 설정한 SAVEPOINT를 제거
    RELEASE SAVEPOINT sp1;
  • SET TRANSACTION: 트랜잭션 속성 설정
    SET TRANSACTION READ ONLY;

데이터베이스 언어의 관계

언어주요 역할예시 명령어
DDL데이터베이스 구조 정의 및 관리CREATE, ALTER, DROP
DML데이터 조작 및 관리SELECT, INSERT, UPDATE
DCL데이터 접근 권한 제어GRANT, REVOKE
TCL트랜잭션 관리COMMIT, ROLLBACK, SAVEPOINT

데이터베이스 언어의 활용 예시

  1. DDL 활용
    새 테이블 생성:

    CREATE TABLE Products (
        id INT PRIMARY KEY,
        name VARCHAR(50),
        price DECIMAL(10, 2)
    );
  2. DML 활용
    데이터 삽입 및 조회:

    INSERT INTO Products (id, name, price) VALUES (1, 'Laptop', 1500.00);
    SELECT * FROM Products WHERE price > 1000;
  3. DCL 활용
    읽기 권한 부여:

    GRANT SELECT ON Products TO 'read_user';
  4. TCL 활용
    트랜잭션 처리:

    BEGIN;
    INSERT INTO Products (id, name, price) VALUES (2, 'Smartphone', 800.00);
    COMMIT;

결론

  • 데이터베이스 언어는 데이터베이스의 설계, 사용, 관리에 필수적인 도구입니다.
  • 각 언어의 목적과 역할을 이해하고 상황에 맞게 사용하는 것이 중요합니다.
profile
🌱

0개의 댓글