3. 데이터베이스 구축 - SQL 응용(SQL의 개념)

106. SQL (Structured Query Language)

: 관계형 데이터베이스 내의 데이터 관리를 위한 프로그래밍 언어

  • 1974년 IBM에서 개발된 언어 'SEQUEL'에서 유래
  • 국제 표준 데이터베이스 언어
  • 관계 대수와 관계 해석(튜플 관계 해석)을 기초로 한 혼합 데이터 언어
  • 질의어지만 데이터 구조 정의, 데이터 조작 및 제어의 기능도 포함

 

1) SQL의 분류

1. 데이터 정의어 (DDL; Data Define Language)
: 스키마, 도메인, 테이블, 뷰, 인덱스의 정의나 변경, 삭제에 사용되는 언어

  • 논리적 데이터 구조와 물리적 데이터 구조의 사상(mapping)을 정의
  • 사용자 : DBA(데이터베이스 관리자), 데이터베이스 설계자
  • 명령어 종류
    • CREATE : 스키마, 도메인, 테이블, 뷰, 인덱스를 정의
    • ALTER : 테이블의 정의를 변경
    • DROP : 스키마, 도메인, 테이블, 뷰, 인덱스를 삭제

 

2. 데이터 조작어 (DML; Data Manipulation Language)

: 응용 프로그램이나 질의어를 통해 데이터베이스의 데이터를 실질적으로 처리하는데 사용되는 언어

  • 데이터베이스 사용자와 DBMS 사이의 인터페이스 역할
  • 사용자 : 주로 데이터베이스 사용자
  • 명령어 종류
    • SELECT : 테이블에서 조건에 맞는 튜플을 검색
    • INSERT : 테이블에 새로운 튜플을 삽입
    • DELETE : 테이블에서 조건에 맞는 튜플을 삭제
    • DELETE : 테이블에서 조건에 맞는 튜플의 내용을 변경

 

3. 데이터 제어어 (DCL; Data Control Language)

: 데이터의 보안, 무결성, 회복, 병행 수행 제어 등에 사용되는 언어

  • 사용자 : DBA
  • 명령어 종류
    • COMMIT : 명령으로 수행된 결과를 물리적 디스크에 저장하고, 작업이 정상 완료되었음을 관리자에게 통지
    • ROLLBACK : 비정상적으로 종료된 작업을 취소하고 데이터베이스를 원래 상태로 복구
    • SAVEPOINT : 트랜잭션 내에서 ROLLBACK을 수행할 위치인 저장점을 지정
    • GRANT : 특정 사용자에게 사용 권한을 부여
    • REVOKE : 특정 사용자의 사용 권한을 취소