min's devlog

뷰(view) 본문

til/Oracle

뷰(view)

값진 2022. 5. 3. 11:33

뷰(view)

  - 다른 테이블이나 다른 뷰에 저장되어 있는 데이터를 보여주는 역할

  - 데이터베이스에 존재하는 가상 테이블
  - 실제 테이블처럼 사용하고 행과 열을 가지고 있지만, 실제로 데이터를 저장하고 있지는 않다.
  - 여러 테이블이나 뷰를 하나의 테이블처럼 볼 수 있다.

  - SQL을 저장한 객체만 뷰로 정의할 수 있다.

    CREATE VIEW 뷰이름
    AS
    SELECT 문;
    
    CREATE OR REPLACE VIEW 뷰이름
    AS
    SELECT 문;

뷰의 사용 목적은 쿼리의 사용을 줄이는 것이기에 아래와 같이 사용한다. (vwInsa로 뷰를 생성함)

select * from tblInsa where buseo = '영업부' vs select * from vwInsa

- create view 문은 select문에서 선택된 필드를 가지는 새로운 뷰를 생성한다.

- 뷰는 원본 테이블과 같은 이름을 가질 수 없다.

 

 

비디오 가게 사장의 하루 업무?

create or replace view 대여체크
as
select
    m.name as mname,
    v.name as vname,
    to_char(r.rentdate, 'yyyy-mm-dd') as rentdate,
    case
        when r.retdate is not null then '완료'
        else '미완료'
    end as state
from tblRent r
    inner join tblVideo v
        on v.seq = r.video
            inner join tblMember m
                on m.seq = r.member;


뷰 사용
1. SELECT > 실행O > 뷰는 읽기 전용으로 사용한다.(****) == 읽기 전용 테이블
2. INSERT > 실행O > 절대 사용 금지 > 직접 테이블 처리
3. UPDATE > 실행O > 절대 사용 금지 > 직접 테이블 처리
4. DELETE > 실행O > 절대 사용 금지 > 직접 테이블 처리

'til > Oracle' 카테고리의 다른 글

PL/SQL  (0) 2022.05.09
DDL과 DML  (0) 2022.05.04
[Movie] ERD 설계  (0) 2022.05.03
[Movie] ERD 연습  (0) 2022.05.01
트랜잭션(Transaction)  (0) 2022.05.01
Comments