2022. 1. 26. 12:28ㆍksmart_dbms/sql
정의
사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지
는 가상 테이블이다
뷰(VIEW)의 특징
기본테이블로부터 유도된 테이블이기에 테이블과 같은 형태의 구조이며 조작도 테이블과 거의 같다.
가상 테이블이기에 데이터의 논리적 독립성을 제공한다.
뷰를 통해서만 데이터를 접근하여 뷰에 나타나지 않는 데이터 보안에 도움.
필요한 데이터만 뷰로 정의해서 처리하기에 관리가 용이하고 명령문이 간단함.
뷰(VIEW)의 단점
가상 테이블이기에 데이터의 논리적 독립성을 제공한다.
ALTER VIEW문을 사용할 수 없다. (뷰의 정의를 변경할 수 없다.)
뷰로 구성된 내용에 대한 삽입, 삭제, 갱신, 연산에 제약이 따른다.
MySql 뷰(VIEW)의 제약사항
뷰의 정의는 select 구문이 허용하는 where, group by 와 같은 것을 모두 포함 가능.
TEMPORARY 뷰를 만들 수 없다.
뷰와 함께 연결되는 트리거를 만들 수 없다.
뷰 정의에 있는 SELECT 구문은 다음과 같은 구성을 포함할 수 없다.
FROM 절 안에 서브쿼리
TEMPORARY 테이블로 참조
사용자 변수로 참조
VIEW 생성
CREATE VIEW v_sleeper_member
AS
SELECT
m.m_id
,m.m_pw
,m.m_name
,m.m_level
,m.m_email
,m.m_addr
,m.m_reg_date
FROM
tb_member AS m
LEFT JOIN
tb_login AS l
ON
m.m_id = l.login_id
WHERE
l.login_id IS NULL;
VIEW 삭제
DROP VIEW v_sleeper_member;
'ksmart_dbms > sql' 카테고리의 다른 글
프로시저 예외 처리 - OverFlow (0) | 2022.02.07 |
---|---|
프로시저_sql (0) | 2022.02.07 |
트랜잭션_sql (0) | 2022.02.07 |
SQL01_sql (0) | 2022.01.19 |
SQL 데이터베이스 생성_sql (0) | 2022.01.18 |