programing

Oracle에서의 뷰란?

lastcode 2023. 2. 17. 19:40
반응형

Oracle에서의 뷰란?

Oracle 뷰란?

Oracle 및 기타 데이터베이스 시스템의 View는 쉽게 재사용할 수 있도록 메모리에 저장된 SQL 문을 표현한 것입니다.예를 들어 다음과 같은 쿼리를 자주 발행하는 경우

SELECT customerid, customername FROM customers WHERE countryid='US';

뷰를 작성하려면 다음 예시와 같이 CREATE VIEW 명령을 사용합니다.

CREATE VIEW view_uscustomers
AS
SELECT customerid, customername FROM customers WHERE countryid='US';

이 명령어는 view_uscustomers라는 새로운 뷰를 만듭니다.이 명령어는 이 뷰를 정의하는 데이터 딕셔너리 엔트리를 제외하고 데이터베이스에 실제로 저장되는 것은 전혀 없습니다.즉, 이 보기를 쿼리할 때마다 Oracle이 나가서 보기를 실행하고 데이터베이스 데이터를 쿼리해야 합니다.다음과 같이 뷰를 조회할 수 있습니다.

SELECT * FROM view_uscustomers WHERE customerid BETWEEN 100 AND 200;

Oracle은 쿼리를 다음과 같이 변환합니다.

SELECT * 
FROM (select customerid, customername from customers WHERE countryid='US') 
WHERE customerid BETWEEN 100 AND 200

뷰 사용의 이점

  • 사용되는 코드의 공통성.뷰는 하나의 공통 SQL 세트를 기반으로 하므로, 이 뷰를 호출할 때 구문 분석할 필요가 적다는 것을 의미합니다.
  • 보안.뷰는 쿼리하는 데이터가 실제로 포함된 테이블을 숨기기 위해 오랫동안 사용되어 왔습니다.또한 보기를 사용하여 지정된 사용자가 액세스할 수 있는 열을 제한할 수 있습니다.
  • 술어 푸시

이 문서에서 "Oracle에서 보기를 만들고 관리하는 방법"에 대한 고급 항목을 찾을 수 있습니다.

뷰에 대한 아이디어가 마음에 들지만 성능이 걱정되는 경우 Oracle이 최신 상태로 유지하는 뷰를 나타내는 캐시된 테이블을 만들 수 있습니다.
구체화된 뷰 참조

regular view-----> 쿼리 단축명.여기에는 추가 공간은 사용되지 않습니다.

구체화된 뷰 --> 뷰 작성에 사용된 데이터 쿼리에 따라 정기적으로 데이터가 갱신되는 테이블을 작성하는 것과 유사합니다.

보기는 하나 이상의 테이블에서 열의 하위 집합에 액세스할 수 있는 가상 테이블입니다.보기는 하나 이상의 테이블에서 데이터를 가져올 수 있습니다.쿼리 출력은 뷰로 저장할 수 있습니다.뷰는 작은 테이블처럼 작동하지만 물리적으로 공간을 차지하지는 않습니다.View는 특히 사용자가 직접 테이블에 액세스하여 데이터를 표시하는 좋은 방법입니다.Oracle의 보기는 저장된 SQL 스크립트에 불과합니다.보기 자체에 데이터가 없습니다.

는 단순히 의 뷰입니다.SELECT이름이 지정되고 데이터베이스에 저장된 쿼리입니다.이러한 이유로 보기는 명명된 쿼리 또는 저장된 쿼리라고도 합니다.SQL을 사용합니다.

     CREATE OR REPLACE VIEW <view_name> AS
     SELECT <any valid select query>;

언급URL : https://stackoverflow.com/questions/256700/what-is-a-view-in-oracle

반응형