본문 바로가기
Backend/DataBase

DB - VIEW

by YERIEL_염주둥 2020. 4. 6.
728x90

1. VIEW

1] 정의 

사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된 이름을 가지는 가상 테이블이다.

 

2] 작동 방식

뷰테이블에 정의가 되어있는대로 쿼리문이 작동된다. 결과 값은 JOIN과 동일해 보이지만  JOIN 보다 편리하게 사용 할 수 있다.

 

3] 특징

① 기본테이블로부터 유도된 테이블이기 때문에 테이블과 같은 형태의 구조이며 조작 또한 테이블과 거의 동일하다.
② 가상 테이블이기때문에 데이터의 논리적 독립성을 제공한다.
③ VIEW를 통해서만 데이터를 접근하여 VIEW에 나타나지 않는 데이터 보안에 용이하다.
④ 필요한 데이터로만 VIEW로 정의해서 처리하기 때문에 관리가 편하고 명령문이 간단하다.

 

4] 단점

① 가상 테이블이기에 데이터를 논리적 독립성을 제공한다.
② ALTER VIEW문을 사용할 수 없다. (VIEW의 정의를 변경할 수 없다.)
③ VIEW로 구성된 내용에 대한, 삽입, 삭제, 갱신, 연산에 제약이 따른다.

 

5] MySql VIEW의 제약사항

① VIEW의 정의는 SELECT 구문이 허용되는 WHERE, GROUP BY와 같은 것을 모두 포함 가능하다.
② TEMPOPRARY VIEW를 만들 수 없다.
③ VIEW와 함께 연결되는 트리거를 만들 수 없다.
④ VIEW 정의에 있는 SELECT 구문은 다음과 같은 구성을 포함할 수 없다.
    · FROM절 안에 서브쿼리
    · TEMPORARY 테이블로 참조
    · 사용자 변수로 참조

 

6] VIEW 생성

CREATE VIEW 테이블명
AS
    SELECT
FROM
WHERE 

 

7] VIEW 삭제

DROP VIEW 테이블명

반응형

댓글