본문 바로가기

Archived(CSE Programming)/Database(Oracle)

Chap 5-4. DataBase 뷰(View)

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