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

(2024-10-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 특징

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

  ㅇ 관계 사상(Relation Mapping)
     - 입력 릴레이션으로부터 원하는 출력 릴레이션으로 사상시키는 관계형 언어관계 대수 참조
     - SQL은, SELECT-FROM-WHERE 구조로 특징지울 수 있는 관계 사상(relation mapping)을
       기초로 한 대표적인 언어레코드 집합 연산 위주
     - SQL은 개개의 레코드보다는 주로 레코드 집합에 대한 연산을 수행

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


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

  ㅇ 기타 기능
     - 무결성 (Integrity)
     - 뷰 정의 (View Definition)
     - 트랜잭션 제어 (Transaction Control)
     - 내장 SQL (Embded SQL)
     - 인증 (Authorization)5. SQL 기본 내장 타입정수형 (integer) : 정수 (INT,INTEGER), 작은 정수 (SMALLINT)
  ㅇ 실수형 (real)    : 실수 (REAL), 고배정도 (DOUBLE PRECISION), 고정소수점 (NUMERIC),
                        부동소수점 (FLOAT) 등
  ㅇ 문자형 (character) : 고정길이 (CHAR), 가변길이 (VARCHAR)
  ㅇ 날짜형 (date) : 년월일시분초 (DATE)


6. SQL 기본 규칙

  ㅇ SQL 문장은, 세미콜론(;)으로 끝남
  ㅇ 대소문자 구분 없음
  ㅇ 단어는 공백문자 또는 줄바꿈문자로 구분
  ㅇ 문자열,날짜 상수는 작은따옴표(')로 감싸서 표현
     - 단, 숫자 상수는 그냥 숫자 그 자체 만으로 표현
  ㅇ 명칭 사용 문자 제한
     - 데이터베이스,테이블,칼럼 등의 명칭에 사용할 문자는, 영문자,숫자,언더바(_) 만 가능
     - 명칭의 첫 글자는 반드시 영문이어야 함
     - 동일 데이터베이스 (테이블) 내 같은 명칭의 테이블명 (칼럼명) 사용 안됨


6. SQL 기본 용어

  ※ ☞ SQL 용어 참조
     - 관계 : DB 내 저장된 데이터 개체들 간의 관계성 정보로써, 테이블로써 나타냄 
     - 테이블 : 행(튜플)과 열(속성)로 구성된 데이터 집합
     - 튜플 : 테이블에서 하나의 행에 해당하는 데이터 항목 모음
     - 속성 : 테이블의 열을 구성하는 데이터 항목의 유형
     - 도메인 : 특정 속성에 허용된 값들의 범위 또는 집합
     -  : 특정 쿼리 결과를 저장한 가상 테이블로, 원본 데이터는 변경되지 않음

SQL
   1. SQL   2. SQL 쿼리 (SELECT 구문)   3. SQL 활용   4. SQL 조인   5. SQL 함수   6. DDL (데이터 조작:테이블 생성/변경)   7. 제약조건   8. SQL 용어  


"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"