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(저장시기설정) 구문
'Language > RDBMS' 카테고리의 다른 글
[DML_SELECT] ORDER BY 구문을 활용한 정렬 (0) | 2023.03.02 |
---|---|
[DML_SELECT] WHERE 구문을 활용한 비교, 논리 연산 (0) | 2023.03.02 |
[DML_SELECT] SELECT 조작어를 활용한 데이터 조회 (0) | 2023.03.02 |
Oracle DBMS 설치 및 설정 (0) | 2023.03.02 |
데이터베이스와 DBMS (0) | 2023.03.02 |