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)
다른 이유보다 내가 강조하는 복잡하게 조인 해둔 테이블을 자주 사용해야 할 때 뷰로 만들어놓으면 재사용성 증가 이 부분 때문에 뷰를 사용하는 상황이 많을 것 같다.
'DataBase > SQL' 카테고리의 다른 글
| [SQL] Stored Procedure 총 정리 + 변수 사용법 정리 (0) | 2025.07.25 |
|---|---|
| [SQL] 테이블을 안전하게 관리하는 기초 - Constraints 제약 걸기 (0) | 2025.07.21 |
| [SQL] GUI에 의존하지 말고 DDL 직접 씁시다 (0) | 2025.07.21 |
| [SQL] IF / CASE 조건문 (0) | 2025.07.21 |
| [SQL] 실습용 리그오브레전드 챔피언 테이블 공유 [수정] (0) | 2025.07.21 |