본문 바로가기
데이터베이스 Database

데이터베이스 - 뷰 View

by 코딩균 2021. 12. 10.
  • 타 테이블을 기반으로 만들어진 가상의 테이블로 실제로 데이터를 저장하지 않고 논리적으로 존재하는 테이블
  • 일반 테이블과 똑같이 사용 가능
  • 뷰들을 가지고 새로운 뷰를 만드는 것도 가능
  • 수정은 제한되지만 검색은 가능 -> 주로 검색하는 것으로 사용하는 경우가 많음

장점

end user 혹은 programmer 입장에서 필요한 정보들을 모아놓은 뷰를 미리 만들어 놓음으로 질의문을 간단하게 만들 수 있음

관점, 용도에 따라 뷰를 제공하여 오리지널 테이블의 정보를 보호할 수 있음

유져 입장에서 제공된 뷰랑 상관 없는 내용에는 신경쓰지 않아도 되어서 데이터 관리가 편함

뷰(View) 생성

CREATE VIEW VIP고객(고객아이디, 이름, 주소)
AS SELECT 고객아이디, 이름, 주소 FROM 고객 WHERE 등급=3
WITH CHECK OPTION;

뷰이름과 뷰를 구성하는 속성 이름들 나열

AS - 기본 테이블에서 어떠한 정보를 뷰로 가져올 것인지 작성 (최종 결과물 용이 아니기 때문에 ORDER BY 사용 불가)

WITH CHECK OPTION - AS에서 정의된 뷰의 조건을 위반시, UPDATE/CREATE되지 않는다.

 

뷰(View) 검색

검색은 원래 테이블에서 사용했던 SELECT를 통한 검색 방법을 사용해 자유롭게 가능

 

뷰(View) 변경

뷰 즉, 논리적인 테이블에 대한 삽입/수정/삭제 행위는 원래 오리지널 테이블에 대해 적용이 되므로 제한적으로 수행됨

 

  • 변경이 가능한 View
    • 기본키를 구성요소로 가진 view면 기본키를 이용해서 오리지널 테이블의 값을 변경할 수 있음
    • 집계 함수 등으로 새롭게 계산된 결과를 포함하지 않는 뷰
    • DISTINCT, GROUP BY 를 사용하지 않은 뷰 = 오리지널 테이블과 구성이 다른 뷰
    • 여러개의 테이블을 조인하지 않고 구성한 뷰