[SQL] SQL 개요

Suzume·2023년 11월 14일
0

DataBase

목록 보기
6/16
post-thumbnail

🎇 SQL이란?

  • Structed Query Language로 구조적 쿼리 언어이다.
  • RDBMS에 정보를 저장하고 처리하기 위한 프로그래밍 언어
  • RDBMS는 정보를 테이블 형식으로 저장
  • SQL문을 사용해 DB에서 정보를 저장, 업데이트, 제거, 검색할 수 있음

🎇 SQL 실행 과정

  1. Parse: 구문 분석
  2. Bind
  3. Execute
  4. Fetch

🎇 SQL 명령어

1. DDL (Data Definition Language)

  • 데이터 정의 언어
  • DB 구조를 설계하는 SQL 명령어
  • 테이블과 칼럼의 생성, 수정, 삭제 등을 결정
  • 즉시 반영되서 사용할 때 주의해야함
  • CREATE, ALTER, DROP, RENAME, COMMENT, TRUNCATE ....

2. DML (Data Manipulation Language)

  • 데이터 조작 언어
  • DB 내부의 데이터 관리를 위한 언어
  • 데이터 조회, 추가, 변경, 삭제 등의 작업
  • 즉시 반영이 아니라 ROLLBACK으로 되돌 릴 수 있음
  • SELECT, INSERT, UPDATE, DELETE, MERGE, CALL, EXPLAIN PLAN, LOCK TABLE

3. DCL (Data Control Language)

  • 데이터 제어 언어
  • 보안, 무결성, 회복, 병행 제어 등을 정의하는데 사용
  • GRANT, REVOKE ...

4. TCL (Transaction Control Language)

  • 트랜잭션 제어 언어
  • DCL과 비슷하나, 데이터 제어가 아닌 트랜잭션 제어시 사용
  • COMMIT, ROLLBACK, SAVEPOINT, TRANSACTION ...

🧨 트랜잭션이란?

DB 상태를 변화시키기 위해 수행하는 작업 단위
예를 들어 MySQL의 입력하는 모든 명령어가 각각 하나의 트랜잭션

🎇 View란?

  • 하나 이상의 테이블로부터 유도된, 가상의 테이블
  • 물리적으로 존재 x, 사용자에게 있는 것 처럼 간주
  • 데이터 보정작업, 처리과정 시험 등 임시적인 작업을 위한 용도로 활용

🧨 Why View?

  • 데이터의 추상화: 사용자가 특정 테이블에 직접 접근하지 않고, 필요한 정보만을 담은 뷰를 통해 데이터에 접근
  • 보안 및 권한 제어: 특정 사용자나 역할에게 특정 열이나 행에 대한 접근 권한을 제한하기 위해 뷰를 사용
  • 복잡한 쿼리 단순화: 복잡한 조인이나 계산을 포함하는 쿼리를 하나의 뷰로 정의하여 사용자가 간편하게 접근
  • 독립성 제공: 뷰를 사용하면 뷰의 정의가 변경되더라도 해당 뷰를 사용하는 응용 프로그램은 영향을 받지 않음, 데이터의 논리적 구조를 응용 프로그램과 분리
profile
미네르바의 부엉이는 황혼이 저물어야 그 날개를 편다.

0개의 댓글