반응형
- 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
위와 같이 [CREATE VIEW] ~ [AS]를 이용해서 뷰 테이블을 만들 수 있다. 뷰 테이블이 만들어지면 왼쪽 [SCHEMAS]-[Views]에 새롭게 생성된다.
- 뷰 사용
View에서 쿼리를 사용하고 싶다면, 기존의 테이블과 같이 명령어를 사용해서 작성할 수 있다. [FROM] 테이블 자리에 뷰 테이블을 작성한다.
SELECT main_menu, grade
FROM 105_view
WHERE grade >= 3
728x90
'Database > MySQL' 카테고리의 다른 글
[Programming][MySQL] Data type(문자형, 숫자형, 날짜 시간형) (0) | 2021.08.22 |
---|---|
[Programming][MySQL] 데이터 정규화(제1 정규화, 제2 정규화, 제3 정규화, 비정규화) (0) | 2021.08.16 |
[Programming][MySQL] 데이터 모델링(ERM/ ERD) (0) | 2021.08.13 |
[Programming][MySQL] 외래키(Foreign Key) (0) | 2021.08.12 |
[Programming][MySQL] 테이블 가공하기(ALTER) (0) | 2021.08.04 |
댓글