안녕하세요.
오늘은 DB에서 가상 테이블을 사용할 때 자주 사용하는 View에 대해서 소개해드리겠습니다.
View 정의 & 특징
▣ View 정의
- 데이터베이스(DB)에 존재하는 가상 테이블
- 실제 테이블처럼 행과 열을 가지고 있으나, 가상 테이블이므로 실제로 DB에 저장되는 테이블이 아님
- 데이터 보정작업, 처리과장 테스트 등 임시적인 작업을 위한 용도로 활용
- 조인문 사용 최소화로 사용자 편의성 확대
▣ View 장단점
장점 | 단점 |
논리적 데이터 독립성 제공 | 독립적인 인덱스 X |
동일 데이터, 다수의 사용자 응용 지원 | ALTER문 활용 불가 (변경 X) |
데이터 관리 간단화 | 삽입, 삭제, 갱신 연산에 제한 |
MySQL로 View 다루기
▣ Create, REPLACE View
-- 뷰 생성하기
CREATE VIEW [VIEW_NAME] AS SELECT문;
- 여러 테이블의 필요한 필드를 조회하는 뷰를 생성할 때 JOIN문이 아닌 다중 테이블에 대한 SELECT문 활용 가능함
-- 다중 테이블 활용 뷰 예시
CREATE VIEW [VIEW_NAME] AS SELECT A.[F1], B.[F2]
FROM [T1] AS A, [T2] AS B WHERE ETC..~
- 앞서 말했다시피 뷰는 한 번 생성하면 변경이 불가능하므로 새로운 뷰로 대체하여 바꿀 수 있음
--뷰 대체하기
CREATE VIEW OR REPLACE VIEW [VIEW NAME] AS SELECT문;
▣ Drop View
-- 뷰 삭제하기
DROP VIEW [VIEW_NAME] RESTRICT OR CASCADE;
- VIEW 삭제문은 뒤에 조건을 설정하여 실행할 수 있습니다.
더보기
RESTRICT: 뷰를 다른 곳에서 참조하고 있으면 삭제가 취소됨
CASCADE: 뷰를 참조하는 다른 뷰나 제약조건까지 모두 삭제됨
반응형
'Programming > SQL' 카테고리의 다른 글
[SQL] 와일드카드 문자 (패턴 일치) (0) | 2022.01.30 |
---|---|
[MySQL] 수학함수 다루기 (0) | 2022.01.17 |
[MySQL] with CTE (공통 테이블 표현식) (0) | 2021.11.18 |
[MySQL] 날짜 비교 및 차이 구하기 (1) | 2021.09.22 |
[MySQL] 문자열 함수 정리 (0) | 2021.09.12 |
댓글