SQL문의 장점과 단점

2011. 9. 7. 18:11 from DB

장점

 

SQL언어는 우리가 알고 있는 일반적인 영어단어와 문장으로 문법을 작성할 뿐 아니라 간단한 몇 줄의 문법으로도 원하는

데이터를 쉽게 검색하고 조작할 수 있다.

또한 상용화된 데이터베이스 전제품에서 모두 사용할 수 있으며 미국 표준 협회(ANSI)에 의해 표준화된 문법을 가지고 있다.

 

사용자가 이해가기 쉬운 단어로 구성

쉽게 배울수 있다

복잡한 로직을 간단하게 작성할 수 있다

ANSI에 의해 문법이 표준화되어 있다

 

 

단점

 

시스템을 개발하기 위해 프로그래밍 작업을 수행할 때 같은 테이블에 여러개의 행을 입력하는 경우, 하나의 문장으로 여러개

의 행을 동시에 입력할 수 없다. 이러한 경우 여러개의 동일한 문장을 반복적으로 실행해야만 복수행을 입력할 수 있다.

또한 이미 입력한 데이터를 다시 입력하려고 할 때 발생하는 에러를 처리할 수 없는 단점을 가지고 있다

 

그리고, 프로그래밍을 할 때 반복적으로 사용되는 SQL문을 LIBRARY(자주 사용되는 프로그램을 미리 작성해 두고 필요 시

호출하여  실행하는 방법)로 생성해 둘수 없는 단점을 가지고 있기도 하다.

 

 

반복처리를 할 수 없다(LOOP)

비교처리를 할 수 없다(IF)

ERROR 처리를 할 수 없다(예외처리)

SQL문을 캡슐화 할 수 없다

변수선언을 할 수 없다

실행할 때마다 분석작업 후 실행

Network Traffic을 유발한다

 

 

 

일반적으로 3GL 언어를 컴파일 언어라고 말한다

즉, 미리 실행될 로직(LOGIC)을 작성하여 문법과 테이블의 존재여부를 컴파일러(COMPILER)에 의해 분석하고 그 결과를

바이너러리(BINARY)실행파일로 생성한 후 필요할 때마다 호출하여 실행하는 방법이다.

 

데이터베이스 내에서 실행되는 SQL문 또한 사용자에 의해 실행될 때마다 오라클 서버에 의해 분석된 후 실행된다.

즉, 모든 문장이 실행될 때마다 내부적으로 구문분석(PARSING)이 발생한 후 실행되기 때문에 경우에 따라서는 실행속도가

저하 될 수도 있다.

 

마지막으로 SQL언어는 개발자에 의해 응용 프로그램으로 만들어져서 모든 클라이언트의 PC에 설치된다.

그리고 응용 프로그램이 실행되고 사용자의 오퍼레이션이 발생할 때 SQL언어는 네트워크를 통해 테이터베이스 서버로 전송이

이루어져서 그결과를 사용자의 PC로 돌려주게 된다. 테이터베이스 구조는 수많은 사용자들이 공유하여 사용하는 공간이기

때문에 동시에 이러한 작업이 수행된다면 네트워크의 성능을 저하시키는 원인이 될 수 있다.

 

 

 

4.SELECT 절

1.FROM

2.WHERE

3.GROUP BY

5.HAVING

6.ORDER BY

 

DB가 쿼리문을 읽는 순서

Posted by 에시드 :