본문 바로가기

Database/MS SQL

MS SQL。뷰(View)

728x90
반응형

다른 테이블로부터 유도된 이름을 가진 가상 테이블(Virtual Table), 기본 테이블(Base Table)은 물리적으로 구현되어 데이터가 실제로 저장되지만 뷰는 뷰의 정의(Definition)만 시스템 내에 저장하여 필요시 실행 시간에 테이블 구축

 

# 생성

일반적으로 뷰는 변경(삽입, 삭제, 갱신)을 할 수 없는 뷰와 이론적으로 변경이 가능한 뷰, 그리고 실제로 변경이 가능한 뷰로 구분

변경이 가능한 뷰는 기본적으로 어느 한 기본 테이블의 행과 열의 부분 집합으로만 정의되어야 하며 변경이 허용되지 않는 뷰는 다음과 같음

     1) 뷰의 열이 상수나 산술 연산자 또는 함수가 사용된 산술 식으로 만들어지면 변경이 허용되지 않음

     2) 집계 함수(COUNT, SUM, AVG, MAX, MIN)가 관련되어 정의된 뷰는 변경할 수 없음

     3) DISTINCT, GROUP BY 또는 HAVING이 사용되어 정의된 뷰는 변경할 수 없음

     4) 변경할 수 없는 뷰를 기초로 정의된 뷰는 변경할 수 없음

 

CREATE VIEW [뷰명] ([필드 리스트])
  AS SELECT [필드 리스트]
       FROM [테이블명]
      [WITH CHECK OPTION]

 

 

 

# 삭제

RESTRICT : 해당 뷰가 다른 곳에 참조 되고 있는 경우 삭제 취소

CASCADE : 해당 뷰와 뷰가 사용된 다른 모든 뷰나 제약 조건(Constraint)이 함께 삭제

 

DROP VIEW [뷰명] [RESTRICT | CASCADE]

 

※ 뷰 변경 시 삭제 후 생성

728x90
반응형