실제 데이터를 가지고 있지 않음, 테이블이 수행하는 역할만을 수행하기 때문에 가상 테이블(Virtual Table)이라고 함
단지 뷰 정의(View Definition)만을 가지고 있음
질의에서 뷰가 사용되면 뷰 정의를 참조해서 DBMS 내부적으로 질의를 재작성하여 질의를 수행
뷰 사용의 장점
장점 | 설명 |
독립성 | 테이블 구조가 변경되어도 뷰를 사용하는 응용 프로그램은 변경하지 않아도 됨 |
편리성 | - 복잡한 질의를 뷰로 생성함으로써 관련 질의를 단순하게 작성할 수 있음 - 해당 형태의 SQL문을 자주 사용할 때 뷰를 이용하면 편리하게 사용 가능 |
보안성 | 숨기고 싶은 정보가 존재한다면 뷰 생성 시 해당 컬럼 없이 생성함으로써 사용자에게 정보를 감출 수 있음 |
뷰 생성
- 기본 뷰 생성
CREATE VIEW 뷰_선수팀
AS SELECT P.선수명, P.포지션, P.선수번호, P.팀번호, T.팀명
FROM 선수 P, 팀 T
WHERE P.팀번호 = T.팀번호;
- 기존 뷰를 참조해서 생성
CREATE VIEW 뷰_선수팀_필터
AS SELECT 선수명, 포지션, 선수번호, 팀명
FROM 뷰_선수팀
WHERE POSITION IN ('포지션1', '포지션2');
뷰 사용
SELECT 선수명, 포지션, 선수번호, 팀번호, 팀명
FROM 뷰_선수팀
WHERE 선수명 LIKE '황%'
뷰 제거
DROP VIEW 뷰_선수팀;
DROP VIEW 뷰_선수팀_필터;
'DB' 카테고리의 다른 글
[DB] 마리아디비(MariaDB) 로그인 에러 (0) | 2023.11.06 |
---|---|
[DB] 마리아 디비(MariaDB) 사용해보기 (0) | 2023.11.02 |
[SQL] 서브쿼리(Subquery) (0) | 2023.03.12 |
[SQL] CASE 표현 (0) | 2023.03.06 |
[SQL] NULL 관련 함수 (0) | 2023.03.06 |