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