Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the ultimate-member domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /ledcorps/www/wp/wp-includes/functions.php on line 6114 10.2 VIEW 테이블 – 대나무숲

10.2 VIEW 테이블

출처 URL : http://www.gurubee.net/lecture/1036

뷰란?

  • – 뷰는 하나의 가상 테이블이라 생각 하면 된다.
  • – 뷰는 실제 데이터가 저장 되는 것은 아니지만 뷰를 통해 데이터를 관리 할수 있다.
  • – 뷰는 복잡한 Query를 통해 얻을 수 있는 결과를 간단한 Query로 얻을 수 있게 한다.
  • – 한 개의 뷰로 여러 테이블에 대한 데이터를 검색 할 수 있다.
  • – 특정 평가 기준에 따른 사용자 별로 다른 데이터를 액세스할 수 있도록 한다.

뷰의 제한 조건.

  • – 테이블에 NOT NULL로 만든 컬럼들이 뷰에 다 포함이 되 있어야 한다.
  • – ROWID, ROWNUM, NEXTVAL, CURRVAL등과 같은 가상컬럼에 대한 참조를 포함하고 있는 뷰에는 어떤 데이터도 INSERT 할 수 없다
  • – WITH READ ONLY 옵션을 설정한 뷰도 데이터를 갱신 할 수 없다.
  • – WITH CHECK OPTION을 설정한 뷰는 뷰의 조건에 해당되는 데이터만 삽입, 삭제,수정을 할 수 있다

뷰 문법

  • – FORCE : 기본 테이블 유무에 관계없이 VIEW를 생성
  • – WITH CHECK OPTION : VIEW에 의해 엑세스될 수 있는 행만이 입력되거나 변경될 수 있음을 지정
  • – WITH READ ONLY : SELECT만 가능한 VIEW 생성
  • – 함수를 사용한 컬럼은 반드시 ALIAS를 지정해야 한다.

뷰 예제

 
-- 뷰 생성    
SQL> CREATE OR REPLACE VIEW name_query
     AS
       SELECT a.ename, b.dname
       FROM  emp a, dept b
       WHERE a.deptno = b.deptno
         AND b.deptno = 20;

-- 뷰를 이용한 조회
SQL> SELECT * FROM name_query; 

ENAME                DNAME
-------------------- ----------
SMITH                RESEARCH
JONES                RESEARCH
...
	

WITH CHECK OPTION

뷰의 조건식을 만족하는 데이터만 INSERT 또는 UPDATE가 가능 하도록 하는 옵션 이다.

 
-- 부서 번호 10의 데이터를 조회 하는 뷰
SQL> CREATE OR REPLACE VIEW check_option
     AS
       SELECT empno, ename, deptno
       FROM  emp
       WHERE deptno = 10
       WITH CHECK OPTION ;
 
-- 부서 번호가 10인 사원만 INSERT, UPDATE할 수 있다. 
SQL> INSERT INTO check_option(empno, ename, deptno) 
     VALUES (10005, 'jain', 30);

INSERT INTO check_option(empno, ename, deptno)
            *
1행에 오류:
ORA-01402: 뷰의 WITH CHECK OPTION의 조건에 위배 됩니다
    

WITH READ ONLY

SELECT만 가능한 VIEW를 생성 한다

 
-- 아래 뷰는 읽기만 가능하다.
SQL> CREATE OR REPLACE VIEW read_only
     AS
       SELECT empno, ename, deptno
       FROM  emp
       WHERE deptno = 10
       WITH READ ONLY;
    

뷰의 정보 조회

USER_VIEWS 데이터 사전을 통해서 뷰에 대한 정보를 조회 할 수 있다.

 
SQL> SELECT view_name, text
     FROM USER_VIEWS;    
    

참고링크

대용량 데이터베이스 솔루션 1 – 제5장 뷰의 특징과 활용 


답글 남기기 0

Your email address will not be published. Required fields are marked *