본문 바로가기

Oracle 기본 개념

Oracle - 뷰(VIEW)

728x90

 

 

 


뷰(VIEW)란?

하나 이상의 테이블이나 다른 뷰의 데이터를 볼 수 있게 하는 데이터베이스 객체


실제 데이터는 뷰를 구성하는 테이블에 담겨 있지만 마치 테이블처럼 사용할 수 있다
뷰는 '테이블을 본다'는 의미가 있어 데이터를 조회하는 SELECT문으로 구성된다


 

 


 

 

뷰 생성해볼까요?

 

 

단순 view

 

 

 

열 별칭을 포함함으로써 열 이름을 제어할 수 있다

 

 

 

복합 view

 

 

 

뷰(VIEW) 수정은 어떻게 하나요?

 

 

 

 

 

 

 

뷰 삭제는 실제 데이터에 영향을 미치지 않는다

그러나 그 뷰를 기반으로 만들어진 뷰 또는 다른 어플리케이션은 무효화가 된다

 

 

 

 

 


 

[ 뷰의 규칙 정리 ]

 

단순 뷰에서 DML연산 수행할 수 있다

 

뷰의 행을 제거할 수 없는 경우

1) 그룹 함수

2) GROUP BY절

3) DISTINCT 키워드

 

뷰의 데이터 수정할 수 없는 경우

1) 행 제거 불가능한 조건

2) 표현식으로 정의된 열

3) ROWNUM 의사컬럼

 

뷰에 데이터 추가할 수 없는 경우

1) 제거, 수정 불가능한 조건

2) 뷰에 의해 선택되지 않은

                               NOT NULL열이 기본 테이블에 있을 때

 


 

 

VIEW의 OPTION

 

 

 

 

 

 

 


인라인 뷰(Inline view)란?

FROM절에 사용하는 서브쿼리


원래 FROM절에는 테이블이나 뷰가 오는데,
서브 쿼리를 FROM절에 사용해
하나의 테이블이나 뷰처럼 사용할 수 있다


뷰를 해체하면 하나의 독립적인 SELECT문이므로
FROM절에 사용하는 서브쿼리도 하나의 뷰로 볼 수 있어
인라인 뷰라는 이름이 붙은 것이다