SQL, sql   Structured Query Language   구조화 질의 언어

(2022-04-29)

ANSI/ISO SQL, SQL 언어, 대표적인 비 절차적 언어


1. SQL (Structured Query Language, 구조화 질의 언어)

  ㅇ 사실상, 관계형 데이터베이스에 대한 질의어 표준 (정형화된 언어)

  ㅇ 그러나, 단순한 데이터 질의어 그 이상의 역할을 함
     - 즉, 검색 기능, 갱신 연산 이외에도, 데이터베이스 관리를 위한 많은 기능을 제공
        . 데이터 구조 정의, 보안 무결성 제약조건 등도 가능


2. SQL 기원 및 표준

  ㅇ 기원
     - 1970년대 초반 IBM 연구소에서 실험RDBMS인 SYSTEM R의 인터페이스로써 개발된
     - SEQUEL(Structured English Query Language) 질어 언어가 그 효시

  ㅇ ANSI/ISO SQL 표준
     - 1982년부터, ANSI를 주축으로, 후에 ISO 공동작업에 의해, 
        . 관계형 데이터베이스의 질의어 표준으로써 발전되어 옴
     - SQL-86 (최초표준,SQL1), SQL-89 (SQL 확장표준), SQL-92 (SQL2, 이전 보다 큰 진전을 이룸),
       SQL-99 (SQL3), SQL-2003, SQL-2011 등
        . 그러나, 거의 모든 DBMS 판매자들은 SQL을 위한 자사 특유의 특징들을 추가함


3. SQL 특징

  ㅇ 비 절차적 데이터 접근 언어
     - 원하는 데이터가 무엇인지 만 제시하고,
     - `어떻게(=로직)/어떤 절차로` 얻을 것인지가 중요하지 않음            ☞ 절차식 언어 참조

  ㅇ 레코드 집합 연산 위주
     - SQL은 개개의 레코드보다는 주로 레코드 집합에 대한 연산을 수행

  ㅇ 엑세스 경로(access path)에 대하여는 어떤 참조도 포함하지 않음

  ㅇ 관계 사상(Relation Mapping)
     - 입력 릴레이션으로부터 원하는 출력 릴레이션으로 사상시키는 관계형 언어관계 대수 참조
     - SQL은, SELECT-FROM-WHERE 구조로 특징지울 수 있는 관계 사상(relation mapping)을
       기초로 한 대표적인 언어


4. SQL 주요 기능 구성 (꽤 크고 복잡하나 사용은 편리)언어적 기능
     - DDL (Data Definition Language, 데이터 정의 언어)
        . 스키마, 테이블, 뷰 등의 생성,변경,삭제 등
           .. 例) create, alter, drop, create view, drop view 등
        . 이 범주로는 트랜잭션 기능이 없으므로, 
           .. rollback(되돌림),commit(완전적용) 등을 실행시킬 수 없음
     - DML (Data Manipulation Language, 데이터 조작 언어)
        . 데이터 조회,저장,변경,삭제 등
           .. 例) select, insert, update, delete 등
        . 작업의 완정성을 보장해주는 트랜잭션 기능이 있음
     - DCL (Data Control Language, 데이터 제어 언어)
        . 데이터 제어를 정의하고 기술함
        . 사용자 계정의 생성,삭제, 권한 부여,철회 등 
           .. 例) grant, revoke, deny 등

  ㅇ 기타 기능
     - 무결성 (Integrity)
     - 뷰 정의 (View Definition)
     - 트랜잭션 제어 (Transaction Control)
     - 내장 SQL (Embded SQL)
     - 인증 (Authorization)5. SQL 기본 내장 타입정수형(integer) : 정수 int, 작은 정수 smallint
  ㅇ 실수형(real)    : 실수 real, 고배정도 double precision, 고정소수점 numeric,
                       부동소수점 float 등
  ㅇ 문자형(character) : 고정길이 char, 가변길이 varchar
  ㅇ 날짜형(date) 등



Copyrightⓒ written by 차재복 (Cha Jae Bok)
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"