| 표준(Standard) | 설명 |
|---|---|
| ANSI/ISO SQL 표준 | INNER JOIN, NATURAL JOIN, USING 조건, ON 조건절을 사용한다. |
| ANSI/ISO SQL3 표준 | DBMS 벤더별로 차이가 있었던, SQL을 표준화하여 제정했다. |
| 종류 | 설명 |
|---|---|
| DDL(Data Definition Language) | - 관계형 데이터베이스의 구조를 정의하는 언어이다. |
| - CREATE, ALTER, DROP, RENAME, TRUNCATE 문이 있다. | |
| DML(Data Manipulation Language) | - 테이블에서 데이터를 입력, 수정, 삭제, 조회한다. |
| - INSERT, UPDATE, DELETE, SELECT 문이 있다. | |
| DCL(Data Control Language) | - 데이터베이스 사용자에게 권한을 부여하거나 회수한다. |
| - GRANT, REVOKE 문이 있다. | |
| TCL(Transaction Control Language) | - 트랜젝션을 제어하는 명령어이다. |
| - COMMIT, ROLLBACK, SAVEPOINT 문이 있다. |
| 트랜잭션 특성 | 설명 |
|---|---|
| 원자성(Atomicity) | - 트랜잭션은 데이터베이스 연산의 전부가 실행되거나 전혀 실행되지 않아야 한다(ALL OR NOTHING) |
| - 즉, 트랜잭션의 처리가 완전히 끝나지 않았을 경우는 실행되지 않은 상태와 같아야 한다. | |
| 일관성(Consistency) | - 트랜잭션 실행 결과로 데이터베이스의 상태가 모순되지 않아야 한다. |
| - 트랜잭션 실행 후에도 일관성이 유지되어야 한다. | |
| 고립성(Isolation) | - 트랜잭션 실행 중에 생성하는 연산의 중간결과는 다른 트랜잭션이 접근할 수 없다. |
| - 즉, 부분적인 실행 결과를 다른 트랜잭션이 볼 수 없다. | |
| 영속성(Durability) | - 트랜잭션이 그 실행을 성공적으로 완료하면 그 결과는 영구적 보장이 되어야 한다. |
| SQL 실행 순서 | 설명 |
|---|---|
| 파싱(Parsing) | - SQL문의 문법을 확인하고 구문 분석한다. |
| - 구문 분석한 SQL 문은 Library Cache에 저장한다. | |
| 실행(Execution) | 옵티마이저(Optimizer)가 수립한 실행 계획에 따라 SQL을 실행한다. |
| 인출(Fetch) | 데이터를 읽어서 전송한다. |