Skip to content

SQL #
Find similar titles

Structured data

Category
Database

SQL(Structured Query Language)란? #

SQL은 프로그래밍 언어의 한 종류이지만 CBASIC 등의 범용적인 프로그래밍 언어와는 다른 종류의 언어로, 관계형 데이터베이스(RDMS) 전용 언어이다. 약 30개의 명령어로 구성되어 있는 표준 릴레이션 언어로, 상업 목적의 모든 데이터베이스 제품에서 지원하고 있으며 많은 소프트웨어 업체들이 기본적인 SQL 명령어들을 확장시켜 오고 있다.

SQL의 유래 #

SQL은 1974년 IBM 연구소에서 발표된 SQQUEL(Structured English QUery Language)에서 유래한 것으로, 처음에는 실험적 관계 데이터베이스 시스템인 SYSTEM R의 인터페이스로 설계, 구현하였으나 현재는 상용 DBMS인 DB2와 SQL/DS의 데이터 언어로 사용되고 있다.

SQL의 특징 #

SQL은 비절차적인 언어로 사용자가 프로그램을 작성할 때 데이터 연상에 대한 처리 과정을 명시하는 것이 아니라, 단지 데이터로부터 얻고자 하는 연산 결과만을 명시하도록 한다. 이는 다른 언어와 달리 사용자 편의 중심의 언어라는 의미로, 사용자 관점에서 어떻게 행해지는가 보다는 무엇을 해야 하는지를 명시하는 언어임을 의미한다.

종류 #

명칭 설명
DML 데이터 조작 언어
DDL 데이터 구성요소 정의 및 변경 삭제 처리 언어
DCL 데이터 접근 또는 권한을 제어 언어
트랜젝선 제어 DML에 대한 사용자별 트렌젝션 관리

호스트 언어의 필요 #

데이터베이스를 이용하는 어플리케이션을 실제로 작성하려면 데이터베이스와 대화하는 것 외에도 사용자 인터페이스를 설계한다거나, 네트워크의 기능을 넣는다거나 하는 등의 여러 가지 일을 구현하지 않으면 안된다. SQL 자체가 범용적인 프로그래밍 언어가 아니기 때문에 모든 작업을 SQL로만 할 수는 없다. SQL에는 다른 언어로부터 호출받기 위한 인터페이스가 준비되어 있다.

범용적인 프로그래밍 언어가 일반적인 처리를 맡고, 데이터베이스를 처리할 필요가 발생할 때에만 SQL을 호출한다. 이처럼 SQL을 호출하는 언어를 "호스트 언어"라고 한다.

  • SQL을 호출하기 위한 주된 방법
    1. 직접호출 : 컴퓨터에 SQL문을 입력하고 직접 실행하는 방법
    2. 내장 SQL(정적SQL) : 호스트 언어의 프로그래밍 코드 속에 직접 SQL문을 기술하는 방법
    3. 모듈호출 : 단일 SQL문으로 구성되어 있는 모듈(함수)을 호스트 언어로부터 외부 절차(서브루틴)로 호출하는 방법으로 어플리케이션과 모듈 간에 값을 인도할 때는 파라미터(Parameter)와 반환 값을 사용한다.
    4. 동적 SQL : 호스트 언어의 실행 시에 SQL문을 생성하는 방법으로 성능면에서는 내장SQL보다 좋지 않지만, 유연성이 높은 어플리케이션을 개발할 수 잇는 장점이 있다.

Incoming Links #

Related Data Sciences #

Related Articles #

Suggested Pages #

0.0.1_20140628_0