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절에 사용하는 서브쿼리도 하나의 뷰로 볼 수 있어
인라인 뷰라는 이름이 붙은 것이다
'Oracle 기본 개념' 카테고리의 다른 글
Oracle - 데이터베이스 모델링 (0) | 2022.11.29 |
---|---|
Oracle - 테이블 제약조건(Constraint) (0) | 2022.11.22 |
Oracel - 테이블 생성.. 그거 어떻게 하는 건데? (0) | 2022.11.21 |
Oracle - 트랜잭션이란 무엇인가 (0) | 2022.11.21 |
Oracle - DML (0) | 2022.11.20 |