ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SQL_VIEW 개요 & USER_VIEWS
    Data Base_Oracle/SQL 2020. 1. 8. 23:40

    VIEW 개요

    • 실제 존재하는 테이블이 아닌 가상 테이블
    • 실제 테이블에 저장된 데이터로 결과를 출력할 수 있음
    • 저장공간이 따로 필요 없음
      텍스트로 저장

    VIEW 사용 목적

    1. 편리성 추구
      복잡한 SQL구문을 쉽게 실행할 수 있음
      ex) 자주 사용하는 테이블을 뷰로 만들어두면 편리하게 사용 가능,
      SQL Plus의 save 대신 사용하기도 함
    2. 보안 추구
      직접적인 테이블 접근을 제한함
      ex) 급여, 보너스 등의 민감한 데이터를 제외한 자료들만 보여줄 때 사용

    VIEW 종류

    단순 VIEW

    DML 사용 목적

    • 하나의 테이블로 만들어진 뷰
    • DML(insert, update, delete) 사용 가능
    • 그룹함수 사용 불가
      → 별칭을 지정하면 사용 가능
    • DISTINCT 사용 불가

    ※ 단순 VIEW는 DML 사용 목적이기 때문에
    select구문에서 자주 사용 되는 distinct, group by는 사용 불가

    복합 VIEW

    JOIN을 사용하기 때문에 DQL_SELECT 사용 목적

    • 복수의 테이블로 만들어진 뷰
    • DML 사용 불가
      ※ 테이블이 하나가 아니기 때문에 입력 테이블 확정 불가
      JOIN, SELECT 사용 목적이기 때문에 DML 사용 불가
    • 그룹함수 사용 가능
    • DISTINCT 사용 가능

    VIEW _ Data Dictionary

    user_views

    뷰에 대한 정보가 담겨 있는 Oracle 자체 테이블

    user_views 구조

    ▶ [ SQL> desc user_views ]

    이름 널? 유형
    VIEW_NAME
    뷰 이름
    NOT NULL VARCHAR2(30)
    TEXT_LENGTH
    뷰의 문자열 길이
      NUMBER
    TEXT
    뷰의 내용
      LONG
    ... ... ...
    READ_ONLY
    읽기 전용 확인
      VARCHAR2(1)

    ▶ [ SQL> select view_name, text_length, text, read_only from user_views; ]

    VIEW_NAME TEXT_LENGTH TEXT R
    V_EMP20 52 select empno, ename, job
    from b_emp3 where deptno=20
    N

    VIEW의 개요와 데이터 딕셔너리를 통한 VIEW 정보 확인 방법에 대해 알아보았습니다.
    뷰의 특징을 정확히 이해한다면 앞으로의 내용도 쉽게 이해할 수 있을 것입니다.

     

    'Data Base_Oracle > SQL' 카테고리의 다른 글

    SQL 단순 VIEW 검색 & VIEW가 실행되지 않는 경우  (0) 2020.01.08
    SQL 단순 VIEW 생성  (0) 2020.01.08
    SQL 집합 연산자  (0) 2020.01.08
    SQL_ROLLBACK  (0) 2020.01.08
    SQL_Sub Query_Update & Delete  (0) 2020.01.08

    댓글

Designed by Tistory.