学生向けプログラミング入門 | 無料

学生向けにプログラミングを無料で解説。Java、C++、Ruby、PHP、データベース、Ruby on Rails, Python, Django

データベース| HSQLDB | 10 | 仮想的なテーブル(view)

<<前  [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 '%国語%';



「create view books_view as select * from books where publisher like &#x27;%国語%&#x27;;」
「create view books_view as select * from books where publisher like '%国語%';」


作られた「books_view」の内容を見てみましょう。

select * from books_view;



「select * from 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 '%算数%';



「create view books_view2(番号,題名,著者,出版社) as select * from books where publisher like &#x27;%算数%&#x27;;」
「create view books_view2(番号,題名,著者,出版社) as select * from books where publisher like '%算数%';」


作られた「books_view2」の内容を見てみましょう。

select * from books_view2;



「select * from books_view2;」
「select * from books_view2;」


不用になったviewをシステムから削除するには次のdropコマンドを用います。

drop view books_view2;



「drop view books_view2;」
「drop view books_view2;」


↓↓クリックして頂けると励みになります。


<<前  [TOP]  次>>