안녕하세요, SweetFist 입니다.
데이터베이스, SQLD 등을 공부하시는 분들이라면 반드시 알아야 하는 기본적인 내용을 정리하였습니다.
바로 오늘은, 데이터베이스로부터 데이터를 처리하도록 하는 데이터 언어에 대해 알아보려고 합니다.
1. 데이터 언어란
- 사용자와 DBMS간의 통신 수단으로서 데이터베이스의 정의(DDL), 조작(DML), 제어(DCL)를 위한 언어입니다.
- 주로 SQL(Structured Query Language)이 가장 널리 알려진 데이터 언어이지만, 다양한 데이터베이스 시스템이 각각의 특성에 맞춰 고유한 데이터 언어를 제공하기도 합니다.
- DDL : 데이터베이스 객체의 생성, 변경, 삭제 => create, alter, drop, rename, truncate
- DML : 데이터의 실제적인 조작을 위한 언어 => select, insert, update, delete
- DCL : 데이터베이스 데이터의 제어 언어/데이터 보안, 무결성, 복구에 관한 정의 => grant, revoke, commit, rollback
2. 데이터 정의어(DDL, Data Definition Language)
- 데이터베이스를 정의하거나 수정할 목적으로 사용하는 언어입니다.
- create/alter/drop/rename/truncate
- 특징
1) 데이터베이스 스키마를 컴퓨터가 이해할 수 있도록 기술하는데 사용합니다.
2) 논리적 데이터 구조를 정의(스키마, 외부 스키마 기술)
3) 물리적 데이터 구조를 정의(내부 스키마 기술)
4) 명령 실행 후 기본적으로 Auto Commit 처리를 합니다.
5) 적용범위 : Database, Table, View, Index, Stored Procedure 등등
3. 데이터 조작어(DML, Data Manipulation Language)
- 사용자가 DBMS에게 원하는 Data를 처리하도록 명세하는 언어입니다.
- 사용자와 DBMS 사이의 통신 수단이며, 데이터 처리 연산의 집합입니다.
- select/insert/update/delete/merge
- 특징
1) 사용자와 DBMS간 인터페이스를 제공합니다.
2) 데이터 검색, 변경, 삽입, 삭제를 포함합니다.
4. 데이터 제어어(DCL, Data Control Language)
- 데이터베이스를 공용하기 위한 데이터 제어를 정의하고 기술하는 언어입니다.
- revoke/grant
- 명령 실행 후 기본적으로 Auto Commit 처리가 됩니다.
- 주요 특징
1) 데이터 보안 - 불법적인 사용자로부터 데이터를 보호
2) 무결성 - 데이터의 정확성 유지
3) 회복 - 시스템 장애에 대비
4) 병행수행제어 - 여러 사용자가 DB에 동시 접근 가능
- 예시
1) grant : 데이터베이스 관리자가 특정 사용자에 대해 특정 데이터베이스 객체(테이블, 뷰, 프로시저 등)에 대한 권한을 부여합니다.
ex) grant 권한 ON 객체 TO 사용자
2) revoke : 데이터베이스 관리자가 특정 사용자에게 부여된 권한을 취소합니다.
ex) revoke select ON employees FROM user1;
5. 트랜잭션 제어어(TCL, Transaction Control Language)
- 트랜잭션 단위의 데이터 베이스에서 발생한 작업을 명시적으로 저장, 삭제하는 명령어입니다.
- 특징
1) 이전 커밋(COMMIT)이 일어난 뒤부터 다음의 커밋(COMMIT) 전까지의 작업이 하나의 트랜잭션으로 간주합니다.
2) 트랜잭션 단위로 데이터 베이스에서 발생한 작업을 저장 및 삭제합니다.
3) 명령 실행 시 트랜잭션 종료합니다.
- 예시
Commit - 현재까지의 조작된 데이터를 영구히 저장하고, 하나의 트랜잭션이 여기서 종료되고 새로운 트랜잭션이 발생하는 것을 의미합니다.
Rollback - 이전 트랜잭션(커밋)이 발생하고나서 지금 발생한 ROLLBACK 문 전까지의 작업을 취소하는 것을 의미합니다.
끝.
'그럴듯한 정보' 카테고리의 다른 글
[IT 기술] 데이터베이스 트랜잭션(Transaction)이란? (0) | 2024.03.16 |
---|---|
[IT 기술] DB 데이터베이스 파티셔닝, 샤딩 (0) | 2024.03.16 |
[IT 기술] GraphQL 의 개념 및 특징 장단점 (0) | 2024.03.04 |
일본여행 간사이 공항에서 난바역 가는법 총정리 (0) | 2024.02.27 |
해외여행 갈때 로밍하는법(skt 로밍요금제) (2) | 2024.02.24 |