본문 바로가기
Database/MySQL

[Programming][MySQL] 뷰(View) 테이블 생성하기

by LydiaRyu 2021. 8. 22.
반응형

  • View(뷰)

View는 실제로 컴퓨터에 저장되는 테이블이 아니라, 사용자가 필요로 하는 부분만 선택해서(조인, 생성, 삭제 등) 만들어 놓은 가상 테이블이다.  

 

따라서,

1) 자주 쓰고 필요한 부분만 따로 가공하여 사용하고자 할 때 편리하게 사용할 수 있다.

2) 금융회사 같은 경우에는 고객들의 개인 정보와 같은 보안 사항을 포함한 전체 테이블을 다룰 때가 있다. 직군에 따라 보안의 권한이 다르기도 하고, 쉽게 유출되지 않게 하기 위해서 권한이 주어지지 않은 부서는 뷰 테이블을 만들어서 사용한다. 이처럼, 뷰는 보안에도 강점을 나타낸다. 

 

단점으로는,

1) 한 번 정의된 뷰는 변경이 불가능해서 뷰 테이블 자체를 삭제하거나 대체 뷰 테이블을 만들어 새로 생성해야 한다.

2) 뷰 테이블 안의 정보들을 삭제, 생성, 갱신하는 등 가공하는 작업을 하기는 어려운 부분이 있다. 따라서, 뷰 안의 테이터들 간의 의미를 찾고, 조회할 때 사용하는 편이다. 

 

CREATE VIEW 105_view AS
SELECT a.idcategory, a.name, b.main_menu, b.grade, a.avg_grade
FROM category AS a INNER JOIN customer AS b
ON a.idcategory = b.category
WHERE a.idcategory = 105

View 테이블 생성
View 테이블 결과

 

위와 같이 [CREATE VIEW] ~ [AS]를 이용해서 뷰 테이블을 만들 수 있다. 뷰 테이블이 만들어지면 왼쪽 [SCHEMAS]-[Views]에 새롭게 생성된다. 

 

  • 뷰 사용

View에서 쿼리를 사용하고 싶다면, 기존의 테이블과 같이 명령어를 사용해서 작성할 수 있다. [FROM] 테이블 자리에 뷰 테이블을 작성한다. 

 

SELECT main_menu, grade
FROM 105_view
WHERE grade >= 3

 

 

728x90

댓글