728x90
반응형
SQL(Structured Query Language)

- 관계형 데이터베이스의 조작과 관리에 사용되는 데이터베이스 질의형 언어

- IBM DB2, MicroSoft Access와 SQL Server,  Oracle, Sybase, Informix 등에서 구조화 질의어로 널리 사용

- 원하는 데이터가 무엇인지만 기술하고 비절차적 언어

 

> SQL 특징

- 쉬운 문법

- 표준 언어 사용

- 데이터 검색, 조작, 정의에 용이

- 실행 순서와 상관없이 처리 가능(비절차적 특징)

 

> SQL 활용 분야

- 데이터 조회, 가공, 분석

- 응용 프로그램 개발

- SAS, SAP, OLAP 프로그램(통계 및 분석)

- Python, R 언어와 연계

 


SQL Classification

> DDL (Data Definition Language)

- 데이터 정의 언어

- Database, Table, View, Index 등의 데이터베이스 개체를 생성/삭제/변경하는 역할

- DDL은 Transaction을 발생시키지 않음

- Data Object : CREATE(생성), ALTER(변경), DROP(삭제), TRUNCATE(내용 삭제) 구문

- ROLLBACK 이나 COMMIT 사용 불가(Transaction에 사용되는 구문)

- DDL 대상

: 도메인(Domain) - 하나의 속성이 가질 수 있는 원자값들의 집합

: 외부스키마(External Schema) - 데이터베이스의 논리적 구조(사용자 뷰)

: 개념스키마(Conceptual Schema) - 데이터베이스의 전체적인 논리적 구조(전체 뷰)

: 내부스키마(Internal Schema) - 물리저장장치 관점의 데이터베이스 구조

: 테이블(Table) - 데이터를 저장하는 항목인 Field들로 구성된 데이터 집합체

: 뷰(View) - 하나 이상의 물리테이블에서 유도되는 가상의 테이블

: 인덱스(Index) - 검색을 빠르게 하기 위한 데이터 구조

 

> DML (Data Manipulation Language)

- 데이터 조작 언어

- 사용자가 응용프로그램이나 질의어를 통해 저장된 데이터를 실질적으로 처리하는데 사용하는 언어

- 데이터를 조작(선택, 삽입, 수정, 삭제)하는 데 사용되는 언어

- DML 구문이 사용되는 대상은 테이블의 행(Row)

- DML 사용하기 위해서는 이전에 테이블이 정의되어 있어야 함

- 사용자(응용 프로그램)와 DBMS 간의 인터페이스 제공

- SELECT, INSERT, UPDATE, DELTET 구문

  • SELECT: 테이블에서 조건에 맞는 튜플을 검색
  • INSERT: 테이블에서 새로운 튜플을 삽입
  • UPDATE: 테이블에서 조건에 맞는 튜플의 내용을 변경
  • DELETE: 테이블에서 조건에 맞는 튜플을 삭제

- 데이터 삽입(INSERT), 수정(UPDATE), 삭제(DELETE)는 트랜잭션(Transaction) 과정으로 동작

 

> DCL (Data Control Language)

- 데이터 제어 언어

- 사용자에게 어떤 권한을 부여하거나 삭제할 때 주로 사용하는 구문

- GRANT, REVOKE 구문

 

> TCL (Transaction Control Language)

- 트랜잭션이 발생하는 SQL

- 테이블의 데이터를 변경(입력/수정/삭제)할 때 실제 테이블에 완전히 적용하지 않고, 임시로 적용하며 취소 가능

- DML에서 실행한 사항을 관리

- Transaction : COMMIT(확정), ROLLBACK(취소), SAVEPOINT(저장시기설정) 구문

 

728x90
반응형

+ Recent posts