Oacle 의 보기 상세 설명 및 인 스 턴 스

1.       :
create user hzdl identified by hzdl default tablespace bole;

grant connect,resource to hzdl;
grant create view to hzdl;

2.  bole        :
 bole    ,grant select any table to hzdl;

3.    :

 hzdl    ,        :
CREATE OR REPLACE VIEW view_DriverInfo
AS
   SELECT eno,
          ename,
          identitycard,
          (SELECT dict.displayName
             FROM bole.propertyDicts dict, bole.propertyDomains domain
            WHERE     dict.propertyDomainId = domain.id
                  AND domain.domainName = '   '
                  AND dict.id = drivetype)
             drivetype,
          (SELECT name
             FROM bole.ORGANIZATIONS
            WHERE id = cargroupId)
             carGroupName,
          rfid,
          gender,
          imageUrl
     FROM bole.drivers;

다음 인용:http://www.jb51.net/article/21527.htm
1. 보기 의 개요
보 기 는 사실 sql 문 구 를 조회 하여 하나 이상 의 표 나 다른 보기 의 관련 데 이 터 를 표시 하 는 데 사 용 됩 니 다.보 기 는 하나의 조회 결 과 를 하나의 표 로 사용 하기 때문에 보 기 는 저 장 된 조회 나 가상 표 로 볼 수 있 습 니 다.보 기 는 표 에서 유래 합 니 다. 모든 보기 데이터 에 대한 수정 은 최종 적 으로 보기 의 기본 표 에 반 영 됩 니 다. 이러한 수정 은 기본 표 의 완전 성 제약 에 복종 하고 기본 표 에 정 의 된 트리거 를 촉발 해 야 합 니 다.(Oracle 은 보기에 서 명시 적 인 정의 트리거 와 논리 적 제약 을 정의 하 는 것 을 지원 합 니 다)
2. 보기 의 저장 소
표 와 달리 보 기 는 저장 공간 을 할당 하 라 고 요구 하지 않 고 보기 에 실제 데 이 터 를 포함 하지 않 습 니 다.보 기 는 하나의 조회 만 정의 합 니 다. 보기 의 데 이 터 는 기본 표 에서 가 져 옵 니 다. 이 데 이 터 는 보기 가 인 용 될 때 동적 으로 생 성 됩 니 다.보 기 는 데이터베이스 에 있 는 다른 대상 을 기반 으로 하기 때문에 하나의 보 기 는 데이터 사전 에 정 의 된 공간 만 차지 하고 추가 저장 공간 이 필요 하지 않 습 니 다.
3. 보기 의 역할
사용 자 는 보 기 를 통 해 기본 표 의 데 이 터 를 서로 다른 형식 으로 표시 할 수 있 습 니 다. 보기 의 강 한 점 은 사용자 의 수요 에 따라 기본 표 의 데 이 터 를 정리 할 수 있다 는 것 입 니 다.보기 에서 흔히 볼 수 있 는 용 도 는 다음 과 같 습 니 다.
보 기 를 통 해 사용자 가 접근 할 수 있 는 열 과 데이터 줄 을 설정 하여 표 에 추가 적 인 안전 통 제 를 제공 합 니 다.
데이터 복잡성 숨 기기
보기 에 서 는 연결 (join) 을 사용 하여 여러 표 에 있 는 열 로 새로운 데이터 세트 를 구성 할 수 있 습 니 다.이 보 기 는 사용자 에 게 데이터 가 여러 표 에서 나 온 사실 을 숨 깁 니 다.
 
사용자 의 SQL 문 구 를 간소화 합 니 다.
사용 자 는 보 기 를 사용 하면 여러 표 에서 정 보 를 조회 할 수 있 으 며, 이 표 들 이 어떻게 연결 되 는 지 알 필요 가 없다.
 
기본 표 의 데 이 터 를 다른 각도 로 표시 합 니 다.
보기 의 열 이름 은 이 보기 의 기본 표 에 영향 을 주지 않 고 임의로 변경 할 수 있 습 니 다.
 
응용 프로그램 이 기본 표 정의 에 영향 을 받 지 않도록 합 니 다.
한 보기 의 정의 에서 4 개의 데이터 열 을 포함 하 는 기본 표 의 3 열 을 조회 하 였 습 니 다.기본 표 에 새 열 을 추가 하면 보기 의 정의 가 영향 을 받 지 않 기 때문에 이 보 기 를 사용 하 는 프로그램 도 영향 을 받 지 않 습 니 다.
 
복잡 한 검색 저장
하나의 조 회 는 표 데이터 에 대해 복잡 한 계산 을 할 수 있다.사용자 가 이 조 회 를 보기 로 저장 한 후, 매번 유사 한 계산 을 할 때마다 이 보기 만 조회 하면 됩 니 다.
논리 데이터 독립 성
보 기 는 응용 프로그램 과 데이터베이스 테이블 을 어느 정도 독립 시 킬 수 있다.보기 가 없 으 면, 응용 프로그램 은 반드시 표 에 세 워 져 있 을 것 입 니 다.보기 가 있 으 면 프로그램 은 보기 위 에 세 워 져 서 데이터베이스 시트 와 보기 로 나 눌 수 있 습 니 다.
4. 보기 의 작업 메커니즘
보기 의 정 의 는 바로 사용 하 는 조회 문 입 니 다. Oracle 은 이 정 의 를 데이터 사전 에 텍스트 로 저장 합 니 다.사용자 가 SQL 구문 에서 보 기 를 참조 할 때 Oracle 은 다음 과 같은 작업 을 수행 합 니 다.
보기 의 문장 과 보 기 를 인용 한 정의 문장 을 하나의 문장 으로 통합 합 니 다.
공유 SQL 영역 에서 통 합 된 문 구 를 분석 합 니 다.
이 문 구 를 실행 합 니 다.
기 존의 공유 SQL 구역 에 통 합 된 구문 과 일치 하지 않 을 때 Oracle 은 이 문 구 를 위해 새로운 공유 SQL 구역 을 만 들 수 있 습 니 다.따라서 보 기 를 참조 한 SQL 문 구 는 기 존의 공유 SQL 구역 을 이용 하여 메모리 절약 과 성능 향상 의 목적 을 달성 할 수 있 습 니 다.
5. 보기 의 의존성
보기 의 정 의 는 다른 대상 (표, 보기) 을 참조 한 조회 이기 때문에 보 기 는 인 용 된 대상 에 의존 합 니 다.Oracle 은 보기 의 의존성 을 자동 으로 처리 합 니 다.예 를 들 어 사용자 가 보기 의 기본 표를 제거 한 후에 이 표를 다시 만 들 면 Oracle 은 새로운 기본 표 가 보기 의 정의 에 부합 되 는 지 확인 하고 보기 의 유효성 을 판단 합 니 다.
6. 업데이트 가능 한 연결 보기
연결 보 기 는 한 보기 의 정의 조회 from 자구 에서 여러 개의 표 나 보 기 를 참조 한 것 을 말 합 니 다.업데이트 가능 한 연결 보 기 는 UPDATE, INSERT, DELETE 작업 을 수행 할 수 있 는 연결 보 기 를 말한다.보 기 를 업데이트 할 수 있 도록 다음 문법 구 조 를 포함 할 수 없습니다.
집합 연산 자
DISTINCT 조작 부호
취 합 함수 또는 분석 형 함수
GROUP BY, ORDER BY, CONNECT BY 또는 START WITH 자구
SELECT 다음 목록 에 집합 식 사용 하기
SELECT 다음 목록 에서 하위 검색 사용 하기
연결 (join) (단 예외 가 있 음)
업데이트 할 수 없 는 보기 에 대해 서 는 인 스타 드 오 브 트리거 를 이용 하여 데 이 터 를 수정 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기