• 뷰(VIEW)
하나 이상의 테이블(또는 다른 뷰)에서 원하는 데이터를 선택하여 새로운 가상 테이블로 만들어 주는 것
다른 테이블에 있는 데이터를 보여줄 뿐이며 데이터 자체를 포함하고 있는 것은 아님
저장장치 내에 물리적으로 존재하지 않고 가상테이블로 만들어 짐
논리적인 독립성을 제공
• 뷰(View)의 장점
데이터베이스의 구조를 변경하여도 테이블에 의존하는 어플리케이션을 변경할 필요가 없음
복잡한 쿼리를 단순하게 만들 수 있어 편리함
사용자에게 필요 없는 정보를 숨길 수 있음

• 뷰 생성
mysql> CREATE VIEW <뷰이름> AS <SELECT 구문> [ WITH CHECK OPTION ]

- VIEW 리스트 및 구조 학인
기존 테이블 조회와 동일하게 조회 가능

• 뷰 데이터 조회
기존 테이블 데이터 조회와 동일하게 SELECT 문으로 조회 가능
mysql> SELECT <칼럼 [ , ... ]> FROM <뷰 이름> ;

• 뷰 수정
mysql> ALTER VIEW <뷰이름> AS <SELECT 구문>

• 원본 테이블 데이터 추가
mysql> INSERT INTO <원본 테이블 이름> VALUES ( ‘데이터’ , ... ) ;

= View 테이블에서는 원본 테이블에서 추가한 데이터가 보인다.
• 뷰 데이터 추가
- VIEW는 하나 이상의 테이블에서 데이터를 가져와 만들 수 있기 때문에 데이터 입력에 제한이 있음
- UNION, JOIN, 서브쿼리를 이용해 만들어진 뷰는 INSERT 사용 불가
- 하나의 테이블을 이용해 만들어진 뷰는 제약사항에 위배되지 않는 한 사용 가능
• 원본 테이블 데이터 수정
mysql> UPDATE <원본 테이블 이름> SET <칼럼명>=<수정 데이터> [ 조건 ]

= View 테이블에서는 원본 테이블에서 수정한 데이터가 보인다.
• 뷰 데이터 수정
mysql> UPDATE <뷰 이름> SET <칼럼명>=<수정 데이터> [ 조건 ]

• 뷰 삭제
mysql> DROP VIEW <뷰이름>

'Linux > SQL' 카테고리의 다른 글
| [DBMS] 트랜잭션 Transaction : Autocommit 기능 설정 (0) | 2021.11.30 |
|---|---|
| [DBMS] 트랜잭션 Transaction (0) | 2021.11.30 |
| [DBMS] 유니온 Union (0) | 2021.11.30 |
| [DBMS] JOIN 조인 (0) | 2021.11.30 |
| [DBMS] 데이터베이스 엔진 (Database Engine) (0) | 2021.11.30 |