티스토리 뷰

View - 뷰 생성(CREATE VIEW)


하나 이상의 Base table을 기반으로 생성은 되었으나 물리적으로 존재하지 않고 Data Dictionary에 Select 구문 형태로 정의만 되어 있는 가상의 논리적인 테이블




테이블과 쓰는게 똑같다.


테이블과 연결되어잇다.


겉으로는 테이블처럼 보인다.



Base table : 물리적인 테이블. DB에 저장되어 있는 것


가상의 논리적인 테이블 : View


Data Dictionary : DB 사전



문법

1
2
3
CREATE  [ FORCE | NOFORCE ] VIEW view
    [ ( alias [ , alias ] ... )]
AS subquery
cs


FORCE

- 베이스 테이블 존재여부에 관계없이 무조건 뷰 생성

- 뷰는 만들었지만 사용 하지 않는다

- 베이스 테이블 만들어질 때까지 사용 불가능.(이러건 드물다)


NOFORCE

- 기본 DEFAULT

- 베이스 테이블이 존재하는 경우에는 뷰 생성


View view

- 뷰 이름



1
2
3
4
CREATE VIEW empvu80
    AS SELECT employee_id, last_name, salary
        FROM employees
        WHERE department_id = 80;
cs


employees : 베이스 테이블


1
DESC empvu80
cs


1
2
SELECT *
FROM empvu80;
cs


1
2
3
4
CREATE VIEW salvu50
    AS SELECT employee_id ID_NUMBER, last_name NAME, salary*12 ANN_SALARY
        FROM employees
        WHERE department_id = 50;
cs


1
DESC salvu50
cs


1
2
SELECT *
FROM salvu50;
cs



VIEW 와 TABLE의 접근방법이 달라서 FROM 절 확인해야 함. 그래서 베이스테이블을 찾아간다

VIEW는 보안 때문에 사용. 성능이 떨어짐


많이 쓰는 이유

- 모든 것을 테이블로 만들어 쓰기에는 공간적인 이유가 크다.

- 데이터가 2중, 3중으로 저장되기 때문이다.

- 속도는 테이블보다 빠르다


임시데이터 상태라 COMMIT을 해줘야 한다


공지사항
최근에 올라온 글
Total
Today
Yesterday