본문 바로가기

[SQL] TABLE 대신 VIEW를 쓰는 이유는 뭘까?

@xuv22025. 7. 25. 11:51

VIEW는 언제 쓸까? 그리고 왜 그냥 테이블 안쓰고 뷰를 쓰는걸까?


View

대학교 교재 보면 그냥 가상의 뷰를 생성하여 테이블 역할을 어쩌구 저쩌구 하는데, 그냥 쉽게 생각해서 내가 JOIN한 두 테이블을 자주 사용할 것 같을 때 사용하는 이유가 큰 것 같다.

계속 FROM A INNER JOIN B ON ~~ 이런 문법을 쓰기 싫을 때 그냥 뷰에 조인해둔 테이블을 두고 사용하면 편하다.

예를 들어 sales와 product 테이블을 조인하여 자주 쓸 일이 있다고 가정하자.

뷰를 생성하는 문법은 다음과 같다.

CREATE VIEW 뷰이름 AS 
SELECT 컬럼1, 컬럼2, ... 컬럼n
FROM 테이블;

// 그래서 저는 이렇게 해봄
CREATE VIEW temp_view as
SELECT sales.id, 고객번호, 구매날짜, 상품명, 가격 FROM sales
INNER JOIN product ON sales.상품id = product.id;

이렇게 생성된 뷰는 실제 테이블처럼 동작한다.

그리고 실제 DELETE 문도 기존 테이블에 영향을 미치니 조심해서 사용해야한다 (오토 커밋 끄자)


그래서 뷰 왜 씀?

1. 복잡하게 조인 해둔 테이블을 자주 사용해야 할 때 뷰로 만들어놓으면 재사용성 증가

2. view는 실제 테이블이 아니라 눈속임 테이블이기 때문에 물리적 테이블보다 하드용량을 훨씬 적게 차지

3. table에 컬럼 변경이 필요할 때 view로 테슷흐 가능

4. view 안에 view를 중첩해서 만들어 마개조 가능 (너무 많은 중첩은 X)

 

다른 이유보다 내가 강조하는 복잡하게 조인 해둔 테이블을 자주 사용해야 할 때 뷰로 만들어놓으면 재사용성 증가 이 부분 때문에 뷰를 사용하는 상황이 많을 것 같다.

xuv2
@xuv2 :: xuvlog

폭싹 늙었수다

목차