장점
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가 쿼리문을 읽는 순서
'DB' 카테고리의 다른 글
PreparedStatement like 검색시 바인드 방법 (0) | 2011.09.07 |
---|---|
[Oracle 10g] `BIN$+......==$0` 알수없는 테이블 전체공개 (0) | 2011.09.07 |
CLOB 형 데이터는 어떻게 검색을 하지요? (0) | 2011.09.07 |
오라클 버젼 및 sid 확인 (0) | 2011.09.07 |
전각과 반각 확인 및 변환(오라클) (0) | 2011.09.05 |