*오라클 주요 객체 : VIEW , SEQUENCE, INDEX ..

 

1. VIEW : SELECT문의 실행 경과(RESULT SET)을 저장하는 객체

   ->논리적 가상 테이블로서 실제 값을 저장하고 있진 않음

   ->복잡한 SELECT 문의 쉬운 재사용을 위해서 사용하고

   ->테이블의 진짜 모습을 감출 수 있어 보안상으로도 장점이 있다

※ VIEW 사용시

 - ALTER 구문은 사용이 불가하다

 - VIEW 를 이용한 DML (SELECT, UPDATE, DELETE ) 가 가능은 하나 제약이 많이 따르기 떄문에 

   보통 조회 용도로만 쓰는것이 좋다

 -VIEW 를 이용해 INSERT를 진행하면 VIEW에 삽입된것 처럼 보이지만 원본 테이블에 삽입이 되는 것이다.

 

<VIEW 생성방법>

 

CREATE  VIEW `VIEW_NAME` 

AS `SUBQUERY` 

※ 추가옵션: 

 1. OR REPLACE : CREATE 뒤

  -> 동일 뷰 이름이 존재하면 덮어 쓰고 없으면 새로 생성

 2. FORCE / NOFORCE : CREATE 뒤

  -> FORCE : 서브쿼리에 사용된 테이블이 존재하지 않아도 뷰 생성

  -> NOFORCE : 서브쿼리에 사용된 테이블이 존재해야만 뷰 생성(기본 DEFAULT) 

 3. WITH CHECK OPTION : 서브쿼리 뒤

  ->옵션을 설정한 컬럼의 값을 수정 불가능하게 함 (조건을 벗어나게 변경 불가)

 4. WITH READ ONLY : 서브쿼리 뒤

  -> 조회만 가능하도록 함 (DML 전부 수행 불가) 


2. SEQUENCE : 순차적 번호 자동 발생기 역할의 객체

 -> PRIMARY 키 값으로 주로 사용

 

<SEQUENCE  생성방법> 

 

 CREATE SEQUENCE `SE_NAME`

※ 추가옵션: 뒤에 차례로 추가 가능

 1.  START WITH N : N부터 시작 , 기본 1

 2.  INCREMENT BY N : N씩 증가함 , 기본 1

 3. MAXVALUE N : 발생시킬 최대값 지정(10의 27승까지 가능) , 기본 NOMAXVALUE

 4. MINVALUE N : 발생시킬 최소값 지정(-10의 26승까지 가능) , 기본 NOMINVALUE

 5. CYCLE : 값 순환 여부 지정, 기본 NO

 6. CACHE BYTE크기 : 캐쉬메모리 지정, 기본 20BYTE

 (시퀀스 호출 시 미리 저장되어진 값들을 가져와 반환하므로 매번 시퀀스 생성 후 반환하는 것보다 속도 향상)

 

<SEQUENCE  사용방법>

1. `SE_NAME` . NEXTVAL : 다음 번호를 불러온다. 시작점이면 시작값 불러옴

2. `SE_NAME` . CURRVAL : 현재 번호를 불러온다

 

*시퀀스는 오류 / 롤백 등과 관계없이 NEXTVAL 구문이 수행되면 무조건 숫자를 증가시킨다

<SEQUENCE  변경방법>

 ALTER SEQUENCE `SE_NAME`

 ~옵션

*START WITH 는 변경이 불가하므로 DROP 후 재생성해야한다


3. INDEX : SQL명령문 중 SELECT 처리 속도를 향상시키기 위해서 컬럼에 대해 생성하는 객체

  -> 인덱스 내부 구조는 B트리로 이루어져있으며

  -> 이진트리 특성상 자동 정렬 및 검색 속도에 장점이 생김

  -> 시스템의 부하를 줄이므로 전체 성능 향상을 시킬 수 있다.

  -> 다만 , 인덱스를 추가하기 위한 저장공간이 필요하고

  ->    인덱스 생성의 시간이 걸리며

  ->   DML이 빈번한 경우에는 오히려 성능이 저하되는 단점이 있다.

  ->  PRIMARY KEY 또는 UNIQUE 제약조건이 설정되는 경우 인덱스가 자동으로 생성된다.

<INDEX 생성방법> 

 

  CREATE INDEX `INDEX_NAME`

  ON `TABLE_NAME` ( `COL_NAME1`, `COL_NAME2` ...  -또는 함수명/ 함수계산식)

  (인덱스를 생성했다고 자동적으로 사용되지는 않는다)

 

<INDEX 사용 방법>

 -> WHERE 절에 INDEX가 추가된 컬럼이 언급되는 것이 사용 방법

 

 

+ Recent posts