1. 뷰(VIEW)의 정의
뷰(VIEW)는 사용자들에게 '특정 자료들을 가공하여 제공하기 위해 한 개 이상의 테이블들로부터 유도된 테이블'이다
물리적으로 실재하지는 않지만, 사용자들에게 실재하는 것처럼 제공되기에 가상 테이블이라고도 한다.
2. 뷰(VIEW)의 장단점
장점
- 데이터의 논리적 독립성을 제공한다
- 특정 쿼리 처리를 간단히 한다
- 접근 제어를 통한 자동 보안성을 제공한다
단점
- 독립적인 INDEX를 가질 수 없다
- ALTER를 통해 뷰를 변경할 수 없다
- 뷰에 대한 삽입 삭제 읽기에 대한 제약이 따른다
3. 뷰(VIEW)의 특징
- 뷰 생성 SQL문
- CREATE VIEW 뷰명(컬럼1,컬럼2,...) AS SELECT문;
- 뷰의 INSERT(삽입)문은 뷰의 조건에 상관 없이 수행되나, UPDATE(갱신), DELETE(삭제), 읽기(SELECT)에 대해서는 조건에 따라 수행가능하다.
- 뷰의 생성 질의는 독립된 트랜잭션으로 수행한다(COMMIT ROLLBACK시 사라짐)
4. 뷰(VIEW)의 종류
- 단순 뷰(Simple VIEW) : 하나의 테이블로부터 유도된 뷰(VIEW)
- 조인 뷰(JOIN VIEW) : 두 개 이상의 테이블로부터 조인(JOIN)을 통해 유도된 뷰(VIEW)
단순 뷰와 달리 조인 뷰에서는 키-보존 테이블이라는 개념이 있다. 조인 과정에서 e.did = d.did로 이루어졌다면 외래키(foreign key)가 있는 쪽 테이블이 키-보존 테이블이다(e). 그리고 삽입은 단순 뷰처럼 늘 가능하지만 갱신, 삭제는 키-보존 테이블로 대응한 열이나 무결성을 침해한다면 불가능하다.
'Archived(CSE Programming) > Database(Oracle)' 카테고리의 다른 글
Chap 6. JDBC (0) | 2019.11.27 |
---|---|
Chap 5-6. Database 권한(Privilege) (0) | 2019.11.12 |
Chap 5. SQL (0) | 2019.10.22 |
Chap 3. Table Index & B+tree (0) | 2019.10.22 |
Chap 2. ER diagram (0) | 2019.10.22 |