Backend/db

뷰,시퀀스

IT grow. 2018. 8. 20. 22:35
반응형


7.  (VIEW)  : 가상 테이블

           ` 데이터 보안

           `복잡한 쿼리의 사용빈도가 높은 경우

      

CREATE OR REPLACE VIEW v_emp  AS

           select empno, ename, deptno from emp;

           

 

           [  View의 장점 ]

- View는 데이터베이스의 선택적인 내용을 보여줄 수 있기 때문에 데이터베이스에 대한 액세스를 제한한다

- 조인을 한 것처럼 여러 테이블에 대한 데이터를 View를 통해 볼 수 있다

- 한 개의 View로 여러 테이블에 대한 데이터를 검색한다

- 특정 기준에 따른 사용자 별로 다른 데이터를 액세스 할 수 있다

          

          

          

(1) updatable 

           CREATE OR REPLACE VIEW v_emp  AS

           select empno, ename, deptno from emp;

           *뷰에 데이터의 입력, 변경, 삭제 가능하지만제약조건으로 테이블처럼 가능하진 않음.

          

(*) INSERT 쿼리시 check 조건은 무시되는데 생성시 with check option 추가

 


 

 

 

(2) read-only 

           create or replace view v_emp  as

           select empno, ename, deptno from emp

           with read only;

        

 

(3) 복합뷰

           Create or replace view v_emp_info as

                       select e.empno empno, e.ename ename, d.dnamedname

from emp e, deptno d

                       where e.deptno=d.deptno;


          

8. 시퀀스 (sequence) : 자동증가수

 

create  sequence   sequence_name

           [ minvalue 1                  -- 시퀀스 최소 숫자

            maxvalue 999999999999 -- 시퀀스 최대 숫자

            increment by 1             -- 증가치

            start with 1                  -- 시작숫자

            nocache                      -- cache를 사용하면 미리 값을 할당하여 조금 빠르게 접근

            noorder                      -- 요청되는 순서대로 값 할당

            nocycle ] ;                    -- 다시 시작할지 여부

 

 

           *시퀀스에 사용되는 의사컬럼

             - CURRVAL: 현재 시퀀스 값

             - NEXTVAL: 다음 생성될 시퀀스 값

 

           * 의사컬럼(Pseudocolumns): 테이블에 있는 컬럼처럼 사용되지만 실제로 저장되어 있지 않는                                                   컬럼

                           [] ROWNUM,ROWID



반응형