Views¶
</ div>
次のSELECTコマンドを検討してください。
SELECT ename, sal, sal * 24 AS yearly_salary, deptno FROM emp;
* ename | sal | yearly_salary | deptno
--------+---------+---------------+--------
SMITH | 800.00 | 19200.00 | 20
ALLEN | 1600.00 | 38400.00 | 30
WARD | 1250.00 | 30000.00 | 30
JONES | 2975.00 | 71400.00 | 20
MARTIN | 1250.00 | 30000.00 | 30
BLAKE | 2850.00 | 68400.00 | 30
CLARK | 2450.00 | 58800.00 | 10
SCOTT | 3000.00 | 72000.00 | 20
KING | 5000.00 | 120000.00 | 10
TURNER | 1500.00 | 36000.00 | 30
ADAMS | 1100.00 | 26400.00 | 20
JAMES | 950.00 | 22800.00 | 30
FORD | 3000.00 | 72000.00 | 20
MILLER | 1300.00 | 31200.00 | 10
(14 rows)
これが繰り返し使用されるクエリーの場合、毎回SELECTコマンド全体を再入力せずにこのクエリーを再利用する簡単なメソッドは、以下に示すようにビューを作成することです。
CREATE VIEW employee_pay AS SELECT ename, sal, sal * 24 AS yearly_salary,
deptno FROM emp;
ビュー名前employee_payは、クエリーを実行するために通常のテーブル名前のように使用できるようになりました。
SELECT * FROM employee_pay;
* ename | sal | yearly_salary | deptno
--------+---------+---------------+--------
SMITH | 800.00 | 19200.00 | 20
ALLEN | 1600.00 | 38400.00 | 30
WARD | 1250.00 | 30000.00 | 30
JONES | 2975.00 | 71400.00 | 20
MARTIN | 1250.00 | 30000.00 | 30
BLAKE | 2850.00 | 68400.00 | 30
CLARK | 2450.00 | 58800.00 | 10
SCOTT | 3000.00 | 72000.00 | 20
KING | 5000.00 | 120000.00 | 10
TURNER | 1500.00 | 36000.00 | 30
ADAMS | 1100.00 | 26400.00 | 20
JAMES | 950.00 | 22800.00 | 30
FORD | 3000.00 | 72000.00 | 20
MILLER | 1300.00 | 31200.00 | 10
(14 rows)
ビューを自由に使用することは、優れたSQLデータベースデザインのキー側面です。Viewsは、テーブル構造の詳細をカプセル化する一貫したインタフェースを提供します。これは、アプリケーションの進化に応じて変化する可能性があります。
Viewsは、実際のテーブルを使用できるほぼすべての場所で使用できます。他のビューの上にビューを構築することは珍しくありません。