1. 용어정의
      1. 복잡한 질의를 간단하게 표현하는 수단, 데이터 독립성을 높이기 위해 사용
      2. 하나의 가상 릴레이션(virtual relation)을 의미
      3. 릴레이션에 대한 SELECT 문의 형태로 정의됨
      4. 여러 개의 릴레이션과 뷰를 사용할 수 있음
      5. 릴레이션으로부터 데이터를 검색하거나 갱신할 수 있는 동적인 창의 역할
    1. 시스템 카탈로그
      1. 시스템 내의 객체(기본 릴레이션, 뷰, 인덱스, 사용자, 접근 권한 등)에 관한 정보를 포함
      2. 릴레이션의 애트리뷰트를 알수 있고, 각 애트리뷰트의 데이터 타입 등을 파악할 수 있음
    2. 스냅샷(snapshot)
      1. 어느 시점에 SELECT문의 결과를 기본 렐레이션의 형태로 저장해 놓은 것
    1. 정의
    2. 사용 예
    3. 뷰의 장점
      1. 뷰는 복잡한 질의를 간단하게 표현할 수 있게 함
      2. 뷰는 데이터 무결성을 보장하는데 활용됨
      3. 뷰는 데이터 독립성을 제공함
      4. 뷰는 데이터 보안 기능을 제공함
      5. 동일한 데이터에 대한 여러 가지 뷰를 제공함
    4. 뷰의 갱신
      1. 뷰에 대한 갱신도 기본 릴레이션에 대한 갱신으로 변환됨
      2. 갱신이 불가능한 뷰
        1. 한 릴레이션으로만 정의되었으나 기본키가 포함되지 않은 뷰
        2. 뷰에 포함되지 않은 애트리뷰트에 NOT NULL이 지정되어 있을 때
        3. 집단 함수가 포함된 뷰
        4. 조인으로 정의된 뷰
  2. 시스템 카탈로그
    1. 정의
      1. 데이터메이스의 객체(사용자, 릴레이션, 뷰, 인덱스, 권한 등)와 구조들에 관한 모든 데이터를 포함
      2. 메타데이터라고도 함, (데이터에 관한 데이터)
      3. 데이터 사전(data dictionary) 또는 시스템 테이블이라고도 함
      4. 표준화되지 않아 각 DBMS마다 다른 형태로 제공
    2. 시스템 카탈로그가 질의 처리에 어떻게 활용되는가?
    3. 질의 최적화
    4. 관계 DBMS의 시스템 카탈로그
      1. SYS_RELATION
      2. SYS_ATTRIBUTE
    5. 시스템 카탈로그에 유지되는 통계정보
      1. 릴레이션마다
      2. 뷰마다
      3. 애트리뷰트마다
      4. 사용자마다
      5. 인덱스마다
    6. 오라클의 시스템 카탈로그

      1. DBA_xxx 뷰 : 데이터베이스 내의 모든 객체들에 관한 정보
      2. ALL_xxx 뷰 : 현재의 사용자가 접근할 수 있는 객체들에 관한 정보
      3. USER_xxx 뷰 : 현재의 사용자가 소유하고 있는 객체들에 관한 정보
      4. 사용 예
        1. KIM이 소유한 테이블이나 뷰에 관한 정보 검색
          1. SELECT * FROM ALL_CATALOG WHERE OWNER=’KIM’;
        2. KIM이 소유한 EMPLOYEE 테이블의 애트리뷰트 정보 질의
          1. SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE
            FROM USER_TAB_COLUMNS
            WHERE TABLE_NAME=’EMPLOYEE’;
        3. 사용자 뷰의 이름과 sql 질의
          1. SELECT VIEW_NAME, TEXT FROM USER_VIEWS;
error: Content is protected !!