뷰 관리

뷰 관리

뷰는 논리 테이블로서 필요에 의한 구문을 저장한 뒤 실행할 수 있도록 해주는 도구를 말한다.

뷰 생성

뷰를 생성하기 위해서는 우선적으로 테이블이 존재해야 한다. 뷰는 다음과 같이 생성한다.

CREATE [OR REPLACE] VIEW 이름 AS 구문;

뷰 생성을 위한 테이블

뷰를 만들어 보기 위해 샘플 테이블과 데이터를 구현하도록 한다.

CREATE TABLE student(
no NUMBER PRIMARY KEY,
name VARCHAR2(21) NOT NULL,
gender CHAR(3) CHECK(gender IN ('남', '여'))
);

INSERT INTO student VALUES(1, '둘리', '남');
INSERT INTO student VALUES(2, '짱구', '남');
INSERT INTO student VALUES(3, '피카츄', '여');
INSERT INTO student VALUES(4, '짱아', '여');

테이블을 이용한 뷰 생성

만약 남자 중에서 둘리를 조회할 경우 다음과 같은 구문을 작성해야 한다.

SELECT * FROM student WHERE gender='남' and name='둘리';

만약 남자와 여자 별로 지속적인 데이터 조회가 필요할 경우 gender와 관련된 조건을 지속적으로 작성해야 하므로 효율적이지 못하다고 할 수 있다. 이러한 상황에서 View를 이용할 경우 편리한 처리가 가능하다.

CREATE OR REPLACE VIEW student_male AS SELECT * FROM student WHERE gender='남';
CREATE OR REPLACE VIEW student_female AS SELECT * FROM student WHERE gender='여';

위와 같이 View를 생성할 경우 해당하는 구문이 가상 테이블로 관리되어 테이블과 유사한 형태로 사용할 수 있게 된다.

결과 조회

생성한 뷰를 조회하는 방법은 테이블과 동일하다.

SELECT * FROM student_male;
SELECT * FROM student_female;

주의사항

뷰를 이용할 경우 주의해야 할 사항들은 다음과 같다.

  • 뷰를 이용할 경우 복잡한 구문을 간소화시킬 수 있다.

  • 뷰를 이용할 경우 데이터 조회는 문제가 없지만, 데이터 추가/수정/삭제는 특정 상황을 만족해야만 가능하다.

Last updated