<<前 [TOP] 次>>
リレーショナル・データベースでは、view(ビュー)と呼ばれる仮想的なテーブルがよく使われます。
viewはデータベースの中では普通のテーブルのような「実体」を持っておらず、それを作り出す定義のみがシステムに記憶されます。
SQLの中でのviewは、ほとんどテーブルと区別なく扱われます。
select文のfrom句にはテーブル名とview名との混在が可能です。
実際にviewをつくる操作を見てみましょう。
viewをつくる命令の一般形は次のようなものです。
create view view名 [( 項目名リスト ... )] as select 項目名リスト from テーブルもしくはview 名リスト where 選択条件;
create view はselectの出力が再びテーブルとなることを利用し、select文で新しい仮想的なテーブルviewを定義しているのです。
次の例ではテーブル「books」の上に、「books_view」という名前のviewがつくられています。
【例1:テーブルから新しいviewをつくる】
create view books_view as select * from books where publisher like '%国語%';
作られた「books_view」の内容を見てみましょう。
select * from books_view;
view「books_view」はテーブルと違い、それ自身としてはデータをかかえていません。
ただシステムはこのviewの定義を知っています。
先ほどのviewからの検索の例では、システムはviewの定義に基づいてこのselect文を次のようなselect文に置き換えて実行しています。
select * from books where publisher like '%国語%';
create view は基本的にもとのテーブルまたはviewの項目名を継承しようとしますが、あたらしい項目が計算式で定義されていたりもとの複数のテーブルに同じ項目名があった場合にはcreate view で新しい項目名をつけることが出来ます。
【例2:新しい項目名の設定】
create view books_view2(番号,題名,著者,出版社) as select * from books where publisher like '%算数%';
作られた「books_view2」の内容を見てみましょう。
select * from books_view2;
不用になったviewをシステムから削除するには次のdropコマンドを用います。
drop view books_view2;
↓↓クリックして頂けると励みになります。