DB에서의 뷰(View)

June Lee·2021년 2월 22일
0

Database

목록 보기
9/19

JOIN을 해서 SELECT를 하는 것과 같은 로직이 반복적으로 사용될 때, 이를 하나의 뷰(View)로 만들어서 재사용할 수 있다. 실제 데이터는 뷰를 구성하는 테이블에 담겨 있지만 뷰 역시 마치 테이블처럼 사용할 수 있다.
또한 테이블 뿐만 아니라 다른 뷰를 참조해 새로운 뷰를 만들어 사용할 수 있다.


뷰를 사용하는 목적

  1. 정규화로 인해 나누어진 테이블에서 많은 JOIN이 필요한 경우, 이런 과정을 줄여줄 수 있다.
  2. 민감한 데이터를 제외한 가상 테이블을 만듦으로써 데이터를 보호할 수 있다.
cf) 
과도한 JOIN을 줄여주는 또 다른 방법으로 반정규화가 있다.

뷰 생성 방법

CREATE OR REPLACE VIEW empInfo_vw AS
  SELECT employee_id, last_name, department_name, city,
  state_province, country_name, region_name
  FROM departments d
  JOIN employees e ON d.department_id = e.department_id
  JOIN locations l ON d.location_id = l.location_id
  JOIN countries c ON l.country_id = c.country_id
  JOIN regions r ON c.region_id = r.region_id;
CREATE OR REPLACE VIEW professorInfo_vw AS
  SELECT p.pno, p.pname, p.section, c.cno, c.cname, c.st_num
  FROM professor p, course c
  WHERE p.pno = c.pno;

뷰 사용

뷰를 사용하는 방법은 일반적인 테이블과 같다.

SELECT last_name, department_name, country_name, region_name
  FROM empInfo_vw
  WHERE employee_id = 100;
profile
📝 dev wiki

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN