티스토리 뷰
SQL(Structured Query Language)의 개요
1974년 IBM 연구소에서 개발한 SEQUEL에서 함
많은 회사에서 관계형 데이터베이스(RDB)를 지원하는 언어로 채택하고 있음
관계대수와 관계해석을 기초로 한 혼합 데이터 언어임
질의어지만 질의 기능만 있는 것이 아니라 데이터 구조의 정의, 데이터 조작, 데이터 제어 기능을 모두 갖추고 있음
※ 질의어(Query Language) : 질의어는 데이터베이스 파일과 범용 프로그래밍 언어를 정확히 알지 못하는 단말 사용자들이 단말기를 통햇서 대화식으로 쉽게 DB를 이용할 수 있도록 되어 있는 비절차어의 일종
SQL의 분류
SQL은 사용 용도에 따라 다음과 같이 DDL(데이터 정의어), DML(데이터 조작어), DCL(데이터 제어어)로 구분됨
★ DDL(데이터 정의어)
- DDL(Data Define Language)은 SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의(생성)하거나 변경 또는 삭제할 때 사용하는 언어임
- 논리적 데이터 구조와 물리적 데이터 구조의 사상을 정의함(mapping)
- 데이터베이스 관리자(DBA)나 데이터베이스 설계자가 사용함
- ★ 데이터 정의어(DDL) 세 가지 유형
명령어 |
기능 |
CREATE |
SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의(생성)한다 |
ALTER |
TABLE에 대한 정의를 변경하는데 사용한다 |
DROP |
SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 삭제한다 |
★★ DML(데이터 조작어)
- DML은 데이터베이스 사용자가 응용 프로그램이나 질의어를 통하여 저장된 데이털르 실질적으로 처리하는 데 사용되는 언어임
- 데이터베이스 사용자와 데이터베이스 관리 시스템(DBMS)간의 인터페이스를 제공함
- ★★ 데이터 조작어(DML)의 네 가지 유형
명령어 |
기능 |
SELECT |
테이블에서 조건에 맞는 튜플을 검색한다 |
INSERT |
테이블에 새로운 튜플을 삽입한다 |
DELETE |
테이블에서 조건에 맞는 튜플을 삭제한다 |
UPDATE |
테이블에서 조건에 맞는 튜플의 내용을 변경한다 |
★★ DCL(데이터 제어어)
- DCL(Data Control Language)은 데이터의 보안, 무결성, 회복, 병행 수행 제어 등을 정의하는데 사용하는 언어임
- 데이터베이스 관리자가 데이터 관리를 목적으로 사용함
- ★★ 데이터 제어어(DCL)의 종류
명령어 |
기능 |
COMMIT |
명령에 의해 수행된 결과를 실제 물리적 디스크로 저장하고, 데이터베이스 조작 작업이 정상적으로 완료되었음을 관리자에게 알린다 |
ROLLBACK |
데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래의 상태로 돌린다 |
GRANT |
데이터베이스 사용자에게 사용 권한을 부여한다 |
REVOKE |
데이터베이스 사용자의 사용 권한을 취소한다 |