SQL의 특징
SQL(Structured Query Language, SEQUEL-Structured English QUEry Languae)
구조화된 영문 질의어 -> 구조화된 질의어를 말합니다.
자연어에 가까운 프로그래밍 언어로 설계되어 프로그래머가 아니더라도 쉽게 접근하여 배울 수 있는 언어입니다.
종류
SQL은 아래와 같이 구분할 수 있습니다.
DQL (Data Query Language)
- 데이터 질의어
- SELECT
- 대상 : 필드, 레코드, 테이블
DML (Data Manipulation Language)
- 데이터 조작어 (레코드 제어 명령어)
- 저장된 데이터를 실질적으로 처리하는데 사용. (주의해서 사용)
- INSERT, UPDATE, DELETE, MERGE(병합)
- 대상 : 필드, 레코드, 테이블, 뷰, 인덱스
- ROLLBACK 가능
- AUTO COMMIT 기능을 풀고 사용하는 것을 추천.
TCS (Transaction Control Statement)
- 트랜젝션 제어어
- COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION
- Transaction은 하나의 작업단위(출금, 입금)
DDL (Data Definition Language)
- 데이터 정의어
- 객체생성, 변경, 삭제
- CREATE, ALTER, DROP, TRUNCATE(테이블 모든 행 삭제), COMMENT(주석달기)
SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의, 변경, 삭제시 사용
- 대상 : 필드, 레코드
- AUTO COMMIT 설정 시 - ROLLBACK 불가능 (주의)
DCL (Data Control Language)
- 데이터 제어어
- 데이터의 보안, 무결성, 회복, 병행수행 제어 등을 정의
- 대상 : 사용자 계정
- GRANT(권한부여), ROVOKE(권한수거)
- AUTO COMMIT 설정 시 - ROLLBACK 불가능 (주의)
처리 과정
SQL은 아래와 이미지와 같은 과정으로 처리됩니다.
SQL 처리과정
- parsing : SQL을 syntax check -> semantic check -> shared pool check 까지의 과정을 파싱
- hard parse : parsing -> optimization -> row source generation -> execution 까지의 과정
- soft parse : parsing -> execution ( shared pool에 저장된 커서를 바로 수행하는 것)
※ 참고서적 : 불친절한 SQL 프로그래밍
댓글 영역