SQLD 개발자

SQL(Structured Query Language) 종류

도사원 2023. 2. 20. 10:30

[1] SQL (Structured Query Language)

관계형 데이터베이스에 대해서 데이터의 구조를 정의, 데이터 조작, 데이터 제어등을 할 수 있는 절차형 언어

ANSI/ISO 표준을 준수하기 때문에 데이터베이스 관리 시스템이 변경되어도 그대로 사용할 수 있다.

표준(Standard)
설명
ANSI / ISO SQL 표준
INNER JOIN, NATURAL, JOIN, USING 조건, ON 조건절을 사용한다.
ANSI / ISO SQL3 표준
DBMS 벤더별로 차이가 있었던 SQL을 표준화하여 제정했다.

[2] SQL 종류

종류
설명
DDL
(Data Definition Language)
데이터를 저장할 구조를 정의하는 언어
  • CREATE, ALTER, DROP, RENAME
DML
(Data Mainpulation Language)
데이터를 입력, 수정, 삭제, 조회
  • INSERT, UPDATE, DELETE, SELECT
DCL
(Data Control Language)
데이터베이스 사용자에게 권한을 부여하거나 회수
  • GRANT, REVOKE, TRUMCATE
TCL
(Transaction Control Language)
트랙잭션을 제어하는 명렁어
  • COMMIT, ROLLBACK, SAVEPOINT

*트랙잭션 (데이터베이스의 작업을 처리하는 단위)
원자성(Atomicity) - 연산의 전부가 실행되거나 전혀 실행되지 않아야한다. (all or nothing)
트랜잭션의 처리가 완전히 끝나지 않았을 경우는 실행되지 않은 상태와 같아야 한다.
일관성(Consistency) - 트랜잭션 실행 결과로 데이터베이스의 상태가 모순되지 않아야 한다.
트랜잭션 실행후에도 일관성이 유지되어야 한다.
고립성(Isoation) - 트랜잭션 실행 중에 생성하는 연산의 중간결과는 다른 트랜잭션이 접근할 수 없다
부분적인 실행 결과를 다른 트랙잭션이 볼 수 없다.
영속성(Durability) - 트랜잭션이 그 실행을 성공적으로 완료하면 그 결과는 영구적으로 보장되어야 한다.

[3] SQL문의 실행 순서

개발자가 작성한 SQL문은 3단계를 걸쳐서 실행된다

SQL문의 문법을 검사 -> 구문분석 -> SQL 실행 -> 데이터 인출

실행순서
설명
파싱 (Parsing)
SQL 문의 문법을 확인하고 구문분석한다.
구문분석한 SQL문은 Library Cache에 저장한다.
실행(Execution)
옵티마이저(Optimizer)가 수립한 실행 계획에 따라 SQL을 실행한다.
*옵티마이저
에스큐엘 문장을 수행하기 위하여 가장 효과적인 방법을 선택하는 처리 과정
인출(Fetch)
데이터를 읽어서 전송한다.

'SQLD 개발자' 카테고리의 다른 글

관계형 데이터 베이스(Relation Database)  (0) 2023.02.11
데이터 모델링의 이해  (0) 2023.02.07