저장 프로시저

Posted 2012. 8. 13. 22:38

내장 프로시저( Store Procedure )

일반 SQL 구문의 경우 실행 할때마다 언제나 파싱, 개체,보안확인,컴파일을 반복하게 된다.

처음 실행할때

  1. 구문분석( Parsing ) : 키워드를 분리하고 문법 검사를 한다
  2. 표준화( Standrdization ) : 각 Object의 이름을 확인한다
  3. 보안점검 : 각 Object에 대해 적절한 권한이 있는지 검사한다
  4. 최적화( Optimize ) : 가장 빠른 성능을 낼 수 있도록 색인, 조인, 잠금 등에 대한것을결정
  5. 컴파일.

반복 실행시 처음 실행할떄의 실행 계획이 캐쉬에 있다면 이를 가져와 실행

하지만 내장프로시저는 처음에만 단 한번 그작업을 수행하고 그에 대한 모든 사항을 캐쉬에 올려놓게 된다.

내장프로시저를 사용할 경우 모든 SQL문은 프로시저 내부로 숨어있기에 프로시저 이름만 노출되 보안에 용이.

 

=> 미리 컴파일된 함수. 그로인해 속도가 빠르다.

 

장점 : 

  1. 빠른 실행
  2. 네트워크 트래픽 감소
  3. 모듈화
  4. 데이터 일치성 강화
  5. 오퍼레이터 에러 감소

즉, 해석, 실행계획, 컴파일 과정이 생략되면서 성능이 향상됨.

 

'DB' 카테고리의 다른 글

트랜잭션  (0) 2012.08.13
RTRIM  (0) 2012.08.13
SQL 쿼리문  (0) 2012.08.13
DB 개념 및 용어( 레코드, 필드 등등 )  (0) 2012.08.13
기본 개념  (0) 2012.08.13

SQL 쿼리문

Posted 2012. 8. 13. 22:36

SQL쿼리문 이란..

데이터 베이스에 저장된 값을 불러내는 방법.

SQL 은 Standard Query Language의 약자이고 절차적인 언어라는 뜻.

절차적이란. 프로그램이 서술된 순서대로 실행된다는 뜻.

비절차적으론 JAVA나 다른 객체지향적인 언어들. 즉 순서대로 실행되지 않음.

 

SQL문의 종류는 크게 3가지.

  1. DDL( Data Definition Language )

    데이터를 정의하는 명령어

    create, truncate 등이 여기에 속함

  2. DML( Data Manipulation Language )

    데이터를 조작하는 명령어

    insert, delete, update 등이 여기에 속함

  3. DCL( Data Control Language )

    데이터를 통제하는것. 데이터에 대한 권한이나 시스템에 관한 명령어들을 뜻함

    grannt, commit 등

  4.  select은 이 세가지에 속하지않고 따로뺌..

 

DDL( Data Definition Language )

DDL은 데이터 베이스의 문장의 집단을 의미한다.

각 문장은 CREATE, ALTER, DROP, TRUCATE, GRANT, REVOKE, COMMENT 등으로 시작한다.

  1. CREATE : 스키마 객체를 생성
  2. ALTER : 스키마 객체를 변경
  3. DROP : 스키마 객체를 제거
  4. GEANT, REVOOKE : 스키마 객체의 권한을 부여하거나 박탈
  5. COMMENT : 주석
  6. TRUNCATE : 자료의 버림

등을 수행하는 문장의 집단을 의미한다.

 

 

 

DML( Data Manipulation Language )

DML은 스키마 객체의

  1. INSERT : 데이터를 입력
  2. UPDATE : 수정
  3. SELECT : 조회
  4. DELETE : 삭제
  5. LOCK TABLE : 테이블에 잠금을 설정
  6. EXPLAIN PLAN : SQL문의 처리의 절차에 대한 정보를 얻거나
  7. CALL : 모듈을 호출

하는 작업의 집단.

즉, 각 문장은 INSERT, UPDATE, DELETE, SELECT, LOCK TABLE, EXPLAIN PLAN, CALL등으로 시작된다.

오라클( PL/SQL )의 모듈에서 사용할수 없는 DML로는 EXPLAIN PLAN과 CALL이 있다.

 

 

 

DCL( Data Control Language )

DCL : 트랜젝션의 성격을 제어하는 것으로서 SET TRANSACTION, COMMIT, ROLLBACK, SAVEPOINT 같은 종류가있다.

 

TRANSACTION : 거래함에 있어서 거래하는 양측이 다 원하는 결과물을 얻어 정상적으로 처리되는것

ROLLBACK :  그렇지 않다면 거래자체가 무산되어 원점으로 되돌려 지는것

COMMIT : 정상처리되어 확정한다는 것. 커밋하면 트랜잭션의 처리과정이 모두 반영되며 하나의 트랜잭션

              과정이 끝나게됨.

 

 

오라클( PL / SQL ) 모듈에서는 DCL을 사용할수있고 DCL을 이용하여 모듈의 트랜잭션을 제어할수 있다.

'DB' 카테고리의 다른 글

트랜잭션  (0) 2012.08.13
RTRIM  (0) 2012.08.13
저장 프로시저  (0) 2012.08.13
DB 개념 및 용어( 레코드, 필드 등등 )  (0) 2012.08.13
기본 개념  (0) 2012.08.13

Data : 자료

Table : 표 형식으로의 Data 묶음

Database : Table의 집합( DB )

DBMS : Database Management System( DB를 관리하는 소프트 웨어 )

record : 테이블의 행

field or clumn : 테이블의 열

Data type : 각 field 에 들어갈 데이터의 형식

Primary key : record를 식별하기 귀한 비어있지 않은 유일한 값

Foreign key : 다른 테이블의 Primary Key와 대응되는 필드

SQL : Standard  Query Language. 구조화된 질의 언어

         DB에서 정보를 생성, 혹은 갱싱하여 사용할수 있도록 정의된 표준 언어

ID는 중복되어선 안된. 사용자 ID 정보를 관리하는 Table에서 ID 라는 데이터는 모두 유효해야만 하여 유일해야 한다 -> Primary key

 

Foreign Key : 두개의 테이블을 연결시켜주는 필드. 수강신청 싸이트에서 과목을 선택하려 해도 ID가 없다면 수강신청을 할수없다. 이 경우 ID가 학생정보를 저장하는 테이블과 수강신청 관리 테이블 사이의 Foreign key가 될것이다.

'DB' 카테고리의 다른 글

트랜잭션  (0) 2012.08.13
RTRIM  (0) 2012.08.13
저장 프로시저  (0) 2012.08.13
SQL 쿼리문  (0) 2012.08.13
기본 개념  (0) 2012.08.13
« PREV : 1 : ··· : 66 : 67 : 68 : 69 : 70 : 71 : 72 : ··· : 77 : NEXT »