3.2. 뷰

2.6절에서 다룬 쿼리를 다시 한 번 살펴보겠습니다. 응용 프로그램에서는 항상 날씨 정보와 도시 위치를 함께 출력하는 작업을 하는데, 이 때마다 그 복잡한 쿼리를 계속 사용한다는 것은 번거로운 일입니다. 이 때 view를 만듭니다. 이것은 마치 또 하나의 새로운 테이블 처럼 사용할 수 있습니다:

CREATE VIEW myview AS
    SELECT city, temp_lo, temp_hi, prcp, date, location
        FROM weather, cities
        WHERE city = name;

SELECT * FROM myview;

사용이 유연한 뷰를 만드는 것은 좋은 자료구조 설계의 핵심적인 요소입니다. 일단 기본적인 뷰를 만들고 그것을 응용프로그램에서 사용한다면, 뷰가 참조하는 원래 테이블의 자료구조가, 만들어진 뷰에 영향을 미치지 않는 범위에서는 얼마든지 확장되고 수정될 수 있겠지요. 이렇게 되면 응용프로그램의 개발 부담을 줄여줄 것입니다.

쿼리에서 실재 테이블을 지정하는 자리 어느 곳이든 그 자리에 뷰를 사용할 수 있습니다. 또한 뷰를 가지고 또 다른 뷰를 만드는 것도 흔한 방법입니다.