본문 바로가기
프로그래밍/oracle

[oracle] 테이블이 아닌 뷰(view)를 사용하는 이유와 장점과 단점 생성,수정,삭제,조회,구조 확인

by 캘리포니아전자두뇌 2023. 1. 27.
728x90
300x250

뷰(view)란?


데이터베이스에서 존재하는 일종의 가상 테이블이다.

실제 데이터를 저장하고 있진 않지만, 실제 테이블처럼 행과 열을 가지고 있다.

직접 테이블에 접근하는 것이 아니라, 사용자가 필요로 하는 부분만 가져와서 사용할 수 있는 데이터의 집합이다.

 

뷰(view)의 장점


  • 원하는 부분만 가져와서 사용할 수 있다.
  • 복잡한 쿼리를 단순화해서 사용 가능하다.
  • 데이터의 보안이 용이하다.
  • 사용자가 데이터를 관리하기가 쉽다.
  • 논리적 독립성을 제공한다.

 

뷰(view)의 단점


  • 인덱스를 구성할 수 없다.
  • 한번 정의된 뷰는 수정이 불가하다.
  • 삽입, 갱신, 삭제 연산에 많은 제약이 있다.

 

뷰(view) 생성 예제

create문을 사용하여 뷰를 생성할 수 있다.

CREATE VIEW view_name AS

SELECT a,b,c

   FROM dual;

create view뒤에 뷰이름을 명시한다.

*뷰는 원본테이블과 같은 이름을 가질 수 없다.

as 키워드 다음에 select 문을 사용해서 원하는 필드를 가져올 수 있다.

where 조건절도 같이 사용가능하다.

 

뷰(view) 수정 예제

create or replace view 문을 사용하여 뷰를 생성 및 수정할 수 있다.

CREATE OR REPLACE VIEW view_name AS

SELECT a,b,c

FROM dual;

 

 

create or replace view 뒤에 뷰이름을 명시한다.

create or replace를 사용함으로써 해당뷰를 가지고 있지 않다면 생성(create)이 되고, 가지고 있으면 수정(replace)이 된다.

as 키워드 다음에 select문을 사용하여 a,b,c 필드만 가지도록 수정할 수 있다.

 

뷰(view) 삭제 예제

drop문을 사용하여 뷰를 삭제 할 수 있다.

DROP VIEW view_name;

drop view 뒤에 뷰이름을 명시하여 해당 뷰를 삭제 할 수 있다.

*뷰를 삭제해도 원천데이터는 삭제되지 않는다.

 

뷰(view) 구조 확인

DESC view_name;

desc 뷰네임을 통해 뷰의 구조를 확인 할 수 있다.

 

뷰(view) 조회

SELECT *

   FROM view_name;

뷰 조회는 테이블 조회와 똑같이 select문으로 조회가 가능하다.

 

테이블이 아닌 뷰(view)를 사용하는 이유

데이터의 보안과 사용자의 편리함을 위함이다.

원본 테이블에 직접적으로 접근하지 않아도 임의의 뷰를 구성하여 별도의 이름을 붙이거나 접근 가능한 사람을 지정할 수 있다.

자주 사용하는 복잡한 쿼리문을 매번 작성할 필요가 없다.

 

728x90
반응형

댓글