Programming/SQL

[SQL] SQL의 종류와 정의

앵도라지 2023. 2. 4. 20:20

일상 생활에서 쉽게 접할 수 있는 엑셀 역시 데이터베이스 중 하나다.

 

이 데이터베이스를 다루기 위한 언어가 SQL인데, 쉽게 말해 데이터를 뽑아내는 언어라고 할 수 있다.

SQL에 대해서 좀 더 자세히 알아보자.

 

1. 개념

  • SQL은 Structured Query Language의 줄임말로, 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 절차형 프로그래밍 언어다.
  • SQL은 관계형 데이터베이스에 대해서 데이터의 구조를 정의, 데이터 조작, 데이터 제어 등을 할 수 있다.
  • 관계형 데이터베이스(RDBMS)는 데이터베이스를 연결하고, SQL문을 사용해 데이터베이스를 누구나 쉽게 사용할 수 있도록 한다.

 

2. SQL 종류

앞서 말했듯, 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문이 있다.

 

요약

 

  • DDL문은 데이터베이스 테이블을 생성하거나 변경, 삭제하는 것으로 데이터를 저장할 구조를 정의하는 언어이다.
  • DML은 데이터 구조가 DDL로 정의되면 해당 데이터 구조에 데이터를 입력하거나 수정, 삭제, 조회할 수 있다.
  • DCL은 DDL로 정의된 구조에 어떤 사용자가 접근할 수 있는지 권한을 부여하는 것이다.
    • 우선 권한 부여가 되면, DDL로 데이터 구조를 정의할 수 있다.
    • 정의된 구조의 데이터를 삽입 및 삭제 할 수 있고 이를 개발자 혹은 사용자가 조회하는 것이다.
  • 트랜잭션은 데이터베이스의 작업을 처리하는 단위이다.

 

3. SQL 실행 순서

작성된 SQL문은 아래 3단계를 거쳐서 실행된다.

  1. 파싱(Parsing)
    1. SQL문의 문법을 확인하고 구문분석한다.
    2. 구문 분석한 SQL문은 Library Cache에 저장한다.
  2. 실행(Execution)
    1. 옵티마이저(Optimizer)가 수립한 실행 계획에 따라 SQL을 실행한다.
  3. 인출(Fetch)
    1. 데이터를 읽어서 전송한다.

 

구체적인 SQL 문법은 다음 게시글에서 확인할 수 있다.

2023.02.04 - [Programming/SQL] - [SQL] DDL (테이블 생성, 변경, 삭제)

 

[SQL] DDL (테이블 생성, 변경, 삭제)

데이터베이스의 데이터를 조회하고, 수정하거나 삭제하려면, 그 이전에 테이블이 존재해야 한다. DDL은 (Data Definition Language) 관계형 데이터베이스의 구조를 정의하는 언어다. (DDL, DML, DCL, TCL에 대

cherish22.tistory.com