뷰 (VIEW)
포스트
취소

뷰 (VIEW)

뷰(VIEW)란?

  • 하나 이상의 기본 테이블을 이용하여 생성되는 가상 테이블
    • 다른 뷰를 이용하여 생성할 수도 있다.

뷰의 특징

  • 디스크 저장 공간이 할당되지 않는다.
    • 기본 테이블
      • 디스크에 공간이 할당되어 데이터를 저장한다.
      • 데이터 딕셔너리 테이블에 뷰에 대한 정의(SQL문)만 저장된다. - 전체 데이터 중에서 일부만 접근할 수 있다. - 뷰에 대한 수정 결과는 뷰를 정의한 기본 테이블에 적용된다.
    • 대신 제한적인 조건이 붙는다. - 뷰를 정의한 기본 테이블에서 정의된 무결성 제약조건은 그대로 유지된다.

뷰가 필요한 이유

  • 접근 단순화
    1. 만약 특정한 대분류의 업무를 맡게 됬을 때 그 내부의 중분류, 소분류 업무는 비슷한 계열의 업무일 것이다.
    2. 특히, SELECT문의 경우 몇몇 테이블들이 공통적으로 많이 사용될 것이다.
    3. 공통되거나 자주 사용되는 테이블의 경우 미리 뷰로 정의하여 하나의 테이블처럼 편리하게 사용할 수 있다.
  • 높은 보안
    1. 동일한 테이블에 접근하는 여러 다른 사용자들이 있다면
      사용자들마다 서로 다른 뷰에 접근하도록 여러 뷰를 정의할 수 있다.
    2. 이를 통해 특정 사용자만 특정 뷰에 접근할 수 있도록 접근을 제한함으로써 보안을 높이는 것이 가능하다.

뷰의 종류

  • 단순뷰
    • 하나의 기본 테이블 위에 정의된 뷰
    • INSERT, UPDATE, DELETE를 자유롭게 사용할 수 있다.
  • 복합 뷰
    • 두 개 이상의 기본 테이블로부터 파생된 뷰
    • INSERT, UPDATE, DELETE를 사용할 수 없다.

뷰의 특징

- 사용자 마다 특정 객체만 조회할 수 있게 해야 한다. - 보안성 문제 - 복잡한 질의문을 단순화 할 수 있다. - 데이터의 중복성을 최소화할 수 있다.

  • 생성된 뷰는 또 다른 뷰를 생성하는데 사용될 수 있다.
  • 원본이 되는 테이블이나 뷰가 삭제되면 이를 기반으로 하는 뷰도 함께 삭제된다.
  • 테이블 구조가 변경되어도 뷰에서 조회하는 컬럼이나 컬럼명, 테이블명 등이 동일하다면, 뷰를 사용하고 있는 응용 프로그램은 변경하지 않아도 된다.

뷰의 장점

- 논리적 독립성 제공 - 데이터의 접근 제어 - 접근 제어를 통한 높은 보안 제공 - 데이터 관리 단순화 - 여러 사용자의 다양한 데이터 요구 지원

뷰의 단점

- 뷰의 정의를 변경할 수는 있으나 고려해야할 사항이 많다. - 경우에 따라서는 삭제하고 리팩토링해서 새로 만드는 게 나을 때도 있다. - INSERT, UPDATE, DELETE 연산에 제한이 있다.

뷰 생성하기

CREATE VIEW _이름 AS 조회할_SELECT;

뷰 수정하기

CREATE OR REPLACE VIEW _이름 AS 조회할_SELECT;

뷰 제거하기

DROP VIEW _이름 ;
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.