Mysql&DBeaver

DBeaver) table 대신 view 쓰는 이유

연습노트 2024. 9. 8. 17:44

간혹 create table 말고 create view 하는 경우가 있습니다. 

테이블이랑 똑같은 view 라는 친구가 있는데 뭔지 알아봅시다. 

짧아서 글만 읽고 지나갑시다. 

 

 

 

view가 뭐냐면 

 

SELECT 로 찾은 행들이 너무나 마음에 들어서

테이블로 두고두고 저장해서 쓰고 싶습니까? 

그럼 실제 테이블로 저장해도 되겠지만 더 간단하게 view로 만들어둘 수도 있습니다. 

view는 가상의 테이블입니다. 테이블처럼 사용할 수 있습니다. 

 

 

 

 

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

view 만드는 문법은 이렇습니다. 

SELECT로 찾은 행들을 view로 만들어달라는 코드입니다. 

 

 

 

 

그럼 시간드릴테니 전에 사용하던 테이블들 아무거나 JOIN해서 view로 만들어오십시오. 

 

CREATE VIEW view1 AS
SELECT *
FROM 테이블명1 INNER JOIN 테이블2
ON sales.id = product.id

저는 이렇게 만들어봤습니다. 

view는 테이블이랑 똑같아서 SELECT INSERT UPDATE DELETE 전부 가능합니다. 

진짜인지 해봅시다. 

(일부 DBMS는 SELECT만 가능할 수 있습니다.)

 

 

 

 

 

 

 

 

 

view 쓰는 이유 

 

뭐든 나중에 써먹으려고 배우는 것입니다. 

용도를 잘 생각해봅시다. 

 

1. 복잡하게 JOIN 해놓은 테이블들을 하나의 테이블 또는 view로 만들어두면 두고두고 재사용할 수 있어서 편리합니다. 

2. 근데 view는 실제 테이블이 아니라서 테이블만큼 하드용량을 많이 차지하지 않습니다.

3. table에 컬럼변경이 필요할 때 view를 만들어서 먼저 실험해볼 수 있습니다.

4. view 안에서 또 SELECT 해서 view를 만들 수도 있습니다. 너무 많은 중첩은 금지 

 

실은 열심히 JOIN해서 작성해놨던 SELECT 문을 쉽게 테이블형태로 재사용하고 싶을 때 view를 가장 많이 사용합니다.

그럴 때 사용하도록 합시다. 

 

 

(참고)

view는 가상테이블이라고 했지만 실제로 테이블이 생성되는게 아니라

SELECT 문법을 테이블형태로 눈속임해주는 것일 뿐입니다.