database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Tutorials 4959 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 4959
자습서 - 3. 고급 기능 - 3.2 뷰(view)
작성자
김상기(ioseph)
작성일
2003-09-18 23:14
조회수
6,275

원문: 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;

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

 

뷰는 테이블이 사용되는 자리에 그대로 사용될 수 있습니다. 하지만 뷰를 만드는 테이블 자리에 다른 뷰를 사용하는 경우는 일반적이지 않죠.

[Top]
No.
제목
작성자
작성일
조회
4968자습서 - 3. 고급 기능 - 3.5 상속
김상기
2003-09-23
6789
4967자습서 - 3. 고급 기능 - 3.4 트랜잭션
김상기
2003-09-23
7106
4961자습서 - 3. 고급 기능 - 3.3 Foreign Key [1]
김상기
2003-09-18
6479
4959자습서 - 3. 고급 기능 - 3.2 뷰(view)
김상기
2003-09-18
6275
4958자습서 - 3. 고급 기능 - 3.1 소개
김상기
2003-09-18
5886
4956자습서 - 2. SQL 언어 - 2.9 자료 삭제
김상기
2003-09-17
5388
4955자습서 - 2. SQL 언어 - 2.8 자료 갱신
김상기
2003-09-17
5788
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.047초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다