정보 처리/표준 SQL

SQL(Structured Query language) 이란

본클라쓰 2012. 6. 16. 11:45

 

SQL(Structured Query Language)은 관계형 데이터베이스에서 데이터 정의, 조작, 제어를 위해 사용되는 언어이다. SQL의 최초 이름은 SQLUEL(Structured English Query Language) 이었기 때문에 "시큐엘"로 읽는 경우도 있지만, 표준은 SQL  이므로 "에스큐엘"로 읽는 것을 권장한다.

 

SQL 문장은 단순히 스크립트가 아니라 이름에도 포함되어 있듯이 일반적인 개발 언어처럼 독립된 하나의 개발언어이다. 하지만 일반적인 프로그래밍 언어와는 달리 SQL은 관계형 데이터베이스에 대한 전담 접속 용도로 사용되며 독립되어 있다.

 

관계형 데이터베이스는 수학의 집합 논리에 입각한 것으므로 SQL도 데이터를 집합으로 취급한다. 예를 들어 "포지션이 미드필더인 선수의 정보를 검색한다."고 할 경우 선수라는 큰 집합에서 포지션이 미드필드인 조건을 만족하는 요구 집합을 추출하는 조작이 된다. 이렇게 특정 데이터들의 집합에서 필요로 하는 데이터를 꺼내서 조회하고 새로운 데이터를 입력/수정/삭제하는 행위를 통해서 사용자는 데이터베이스와 대화하게 된다. SQL은 이러한 대화를 가능하도록 매개 역할을 하는 것이다. 결과적으로 SQL 문장을 배우는 것이 곧 관계형 데이터베이스를 배우는 기본 단계라 할 수 있다.

 

SQL의 문법은 영어 문법과 흡사하기 때문에 SQL 자체는 다른 개발 언어에 비해 기초 단꼐 학습은 쉬운 편이다. 하지만 SQL이 시스템에 미치는 영향이 커 고급 SQL이나 SQL 튜닝의 중요성은 계속 커지고 있다. 참고로 SQL 교육은 정확한 데이터를 출력하는 것이 목표이고, SQL 튜닝의 목적은 시스템에 큰 영향을 주는 SQL을 가장 효과적으로 작성하는 것이다.

 

1986년부터 ANSI/ISO를 통해 표준화된 SQL 기능은 벤더별 DBMS 개발의 목표가 되었다. 일부 구체적인 용어는 다르더라도 대부분의 관계형 데이터베이스에서 표준을 최대한 따르고 있기 때문에 SQL에 대한 지식은 다른 데이터베이스를 사용하더라도 상당 부분 기존 지식을 재활용할 수 있고, ANSI/ISO SQL-99, SQL-2003 이후 기준이 적용된 SQL이라면 프로그램 이식성을 높이는데 상당한 공헌을 한다.

 

각 벤더의 관계형 데이터베이스는 표준화된 SQL이외에도 벤더 차별화 및 이용 편리성을 위해 추가 기능이나 내장 함수 등에서 독자적인 개발을 계속 진행하고 있다. 상호 호환성이 뛰어난 표준 기능과 벤더별 특징을 가진 독자적 기능 중 어떤 기능을 선택할 지는 사용자의 몫이지만 가능한 표준을 기준으로 할 것을 권고한다.

 

 

 

● SQL 기능적 분류

 

1. 데이터 정의문

 

 

 

 

1) 데이터 정의문

 

· CREATE DATABASE - 새로운 데이터베이스 생성

· ALTER DATABASE - 데이터베이스 수정

· CREATE TABLE - 새로운 테이블 생성

· ALTER TABLE - 테이블 수정

· DROP TABLE - 테이블 삭제

· CREATE INDEX - 인덱스를 생성

· DROP INDEX - 인덱스 삭제

 

 

2) 데이터 조작문

 

· SELECT - 데이터베이스에 데이터 추출

· UPDATE - 데이터베이스에 데이터 수정

· DELETE - 데이터베이스에 데이터 삭제

· INSERT INTO - 데이터베이스에 새로운 데이터 삽입

 

'정보 처리 > 표준 SQL' 카테고리의 다른 글

Alter Table 구문  (0) 2012.06.16
Drop Table 구문  (0) 2012.06.16
Create Table 구문  (0) 2012.06.16