point2. SQL (Structured Query Language) 종류
- SQL
- SQL 은 관계형 DB에 대해서 데이터의 구조를 정의, 데이터 조작, 데이터 제어 등을 할 수 있는 절차형 언어이다.
- 관계형 DB는 DB를 연결하고 SQL문을 사용하여 데이터베이스를 누구나 쉽게 사용할 수 있도록 한다.
- SQL 은 ANSI/ISO 표준을 준수하기 때문에 DBMS가 변경되어도 그대로 사용할 수 있다.
SQL 표준
표준 | 설명 |
ANSI/ISO SQL 표준 | INNER JOIN, NATURAL JOIN, USING 조건, ON 조건절을 사용한다. |
ANSI/ISO SQL3 표준 | DBMS 벤더별로 차이가 있었던 SQL을 표준화하여 제정했다. |
- SQL (Structured Query Language) 종류
- SQL의 종류
종류 | 설명 |
DDL (Data Definition Language) | - 관계형 DB의 구조를 정의하는 언어이다. - CREATE, ALTER, DROP, RENAME, TRUNCATE 문이 있다. |
DML (Data Manipulation Language) | - 테이블에서 데이터를 입력, 수정, 삭제, 조회한다. - INSERT, UPDATE, DELETE, SELECT 문이 있다. |
DCL (Data Control Language) | - DB 사용자에게 권한을 부여하거나 회수한다. - GRANT, REVOKE 문이 있다. |
TCL (Transaction Control Language) | - 트랜잭션을 제어하는 명령어이다. - COMMIT, ROLLBACK, SAVEPOINT 문이 있다. |
- 작업의 순서를 보면 DB의 사용자에게 권한을 부여하고 권한이 부여되면 DDL 로 데이터 구조를 정의한다.
- 데이터 구조가 정의되면 데이터를 입력한 후에 개발자 및 사용자가 그 데이터를 조회하는 것이다.
- 트랜잭션 (Transaction)
- 트랜잭션은 DB의 작업을 처리하는 단위이다.
트랜잭션의 특성
트랜잭션 특징 | 설명 |
원자성 (Atomicity) | - 트랜잭션은 db 연산의 전부가 실행되거나 전혀 실행되지 않아야 한다 (ALL OR NOTHING) - 즉, 트랜잭션의 처리가 완전히 끝나지 않았을 경우는 실행되지 않은 상태와 같아야 한다. |
일관성 (Consistency) | - 트랜잭션 실행 결과로 DB의 상태가 모순되지 않아야 한다. - 트랜잭션 실행 후에도 일관성이 유지되어야 한다. |
고립성 (Isolation) | - 트랜잭션 실행 중에 생성하는 연산의 중간결과는 다른 트랜잭션이 접근할 수 없다. - 즉, 부분적인 실행 결과를 다른 트랜잭션이 볼 수 없다. |
영속성 (Durability) | - 트랜잭션이 그 실행을 성공적으로 완료하면 그 결과는 영구적 보장이 되어야 한다. |
- SQL문의 실행 순서
- 개발자가 작성한 SQL문은 3단계를 걸쳐서 실행된다.
SQL 실행 순서
SQL 실행 순서 | 설명 |
파싱 (parsing) | - sql문의 문법을 확인하고 구문분석한다. - 구문분석한 sql문은 libary cache 에 저장한다. |
실행 (execution) | - 옵티마이저 (optimizer) 가 수립한 실행 계획에 따라 sql 을 실행한다. |
인출 (fetch) | 데이터를 읽어서 전송한다. |
point 3, 4 는 실제 sql 에서 실습하는 내용이니까
내일하자
'파이썬 > SQLD' 카테고리의 다른 글
[SQLD] 시험준비 2주 5일차 - DML (0) | 2022.05.14 |
---|---|
[SQLD] 시험준비 2주 4일차 - DDL (0) | 2022.05.11 |
[SQLD] 시험준비 2주 2일차 - SQL 기본 및 활용 - 관계형db (0) | 2022.05.07 |
[SQLD] 시험준비 2주 1일차 - 데이터 모델과 성능 문제 + 데이터 모델링의 이해 단원 정리 문제 (0) | 2022.05.05 |
[SQLD] 시험준비 1주 5일차 - 반정규화, 분산데이터베이스 (0) | 2022.05.03 |