3. 1. 뷰의 개념과 뷰 사용하기(1)
뷰의 목적
(1) 보안 관리를 목적으로 활용한다. (보안성)
(2) 사용상의 편의를 목적으로 활용한다. (편의성)
(3) 수행속도의 향상의 목적으로 활용한다. (속도 향상)
(4) 융통성의 향상시킬 목적으로 활용한다. (융통성)
(5) SQL의 성능을 향상시킬 목적으로 활용한다. (활용성)
(6) 임시적인 작업을 위해 활용한다. (임시성)
4. 1. 뷰의 개념과 뷰 사용하기(2) – 뷰 생성
-문법
CREATE OR REPLACE [FORCE | NOFORCE{기본옵션}]
VIEW 뷰이름(칼럼명 순차적 정의)
AS SUBQUERY
[WITH CHECK OPTION]
[WITH READ ONLY];
-뷰의 종류(단순 뷰(테이블1개), 복합 뷰(테이블 2개이상))
9. 1. 뷰의 개념과 뷰 사용하기(7) – 보안 관련 문제
-구조와 데이터를 복사한 사원 테이블에서 커미션이나
급여를 제외한 뷰 만들기(뷰이름: EMP_GEN_VW).
-뷰의 데이터를 수정이나 삭제하여 기본 테이블에도 결
과가 반영되는지 볼 것.
10. 2. 다양한 뷰 옵션(1) - FORCE
문법
CREATE OR REPLACE
FORCE
VIEW 뷰이름(칼럼명[1]…. 칼럼명[N]) AS SUBQUERY
문제) 뷰(이름: TABLES_VW)를 생성하고, FORCE 옵션을 사용
해 생성되지 않은 테이블(이름:NOTABLES)을 참조하세요.
[테이블은 생성하지 않음. 이름만 사용].
11. 2. 다양한 뷰 옵션(2) – WITH CHECK OPTION
문법
CREATE OR REPLACE VIEW 뷰이름(칼럼명[1]…. 칼럼명[N])
AS
SELECT
FROM
WHERE 조건
WITH CHECK OPTION
문제) EMPS 테이블을 사용하여, 100~200번 사원의 정보
만 볼 수 있는 뷰를 만드세요[WITH CHECK OPTION 적용].
그리고, 100번과 201번 사원의 정보를 만들어서 각각 넣어
보세요.(뷰이름: EMP_INFO_VW)
12. 2. 다양한 뷰 옵션(3) – WITH READ ONLY[읽기전용]
- 사원테이블에서 직무별 대표(REP)만 볼 수 있는 뷰(이름:
EMP_JOBID_VW)를 만들면서 WITH READ ONLY 옵션 적
용.
- 뷰(EMP_JOBID_VW)에 세일즈 대표(SA_REP)를 추가하기.
13. 2. 다양한 뷰 옵션(4) – 삭제[문법과 문제]
문법
DROP VIEW 뷰이름 CASCADE CONSTRAINTS;
문제) 기존에 설정한 뷰를 삭제하기
14. 3. 예제
1. 부서코드가 80 번인 사원들만 출력하는 뷰를 만드세요.
읽기전용 옵션 적용(뷰이름: EMP_DEPTID80_VW)
2. 기본 테이블이 없는 뷰를 생성해보세요.
3. 1번에서 생성한 뷰에 WITH CHECK OPTION 옵션을
추가하고, 부서코드가 70 번인 사원의 정보를 추가해보세요.
4. 1번에서 생성한 뷰에 WITH READ ONLY 옵션을 추가하고,
사원 정보를 추가해보세요.
5. USER_VIEWS로 뷰에 대한 정보를 조회해보세요.