원문: http://database.sarang.net/database/postgres/manual/manual-7.3/tutorial-views.html
옮긴이: 김상기
3.2. 뷰(view)
2.6 섹션에서 사용된 쿼리를 다시 한 번 살펴보지요. 그곳에서 사용되었던 쿼리들은 단일 테이블 조회할 때보다 비교적 복잡한 편입니다. 이런 쿼리에서 특정 원하지 않는 칼럼을 빼고 출력하고 싶다면, 그 복잡한 쿼리를 다시 한번 입력해야하는 불상사가 생기겠지요. 게다다 이런 작업들이 아주 빈번히 일어난다면, 여간 귀찮은 일이 아닙니다. 그래서, 여러 작업들을 모두 흡수 할 수 있는 범용 쿼리를 하나 만들고 그놈을 마치 테이블 처럼 사용할 수 있다면 편하겠지요. 여기서 view 라는 새로운 릴레이션(relation, 관계, PostgreSQL에서는 객체라고 합니다) 개념이 등장합니다. 뷰를 만드는 방법은 다음과 같습니다: CREATE VIEW myview AS
SELECT city, temp_lo, temp_hi, prcp, date, location
FROM weather, cities
WHERE city = name;
SELECT * FROM myview;
사용이 유연한 뷰를 만드는 것은 좋은 자료구조 설계의 핵심적인 요소입니다. 일단 기본적인 뷰를 만들고 그것을 응용프로그램에서 사용한다면, 뷰가 참조하는 원래 테이블의 자료구조가, 만들어진 뷰에 영향을 미치지 않는 범위에서는 얼마든지 확장되고 수정될 수 있겠지요. 이렇게 되면 응용프로그램의 개발 부담을 줄여주는 것이 됩니다.
뷰는 테이블이 사용되는 자리에 그대로 사용될 수 있습니다. 하지만 뷰를 만드는 테이블 자리에 다른 뷰를 사용하는 경우는 일반적이지 않죠.
|