Previous: viewをつくる
Up: View
Next: view無しの検索例
Previous Page: viewをつくる
Next Page: view無しの検索例

viewとテーブルの違い

もう一度、テーブルとviewの違いを考えてみよう。今つくられた「利用者稚内台帳」 は、viewである。以前に、以下の様にinsertで行を挿入した、「利用者台帳稚内編」 は、テーブルである。

insert into 利用者台帳稚内編
	select  *
	from    利用者台帳
	where   住所 like '%稚内%'

この二つのテーブルとviewは、ともに、テーブル「利用者台帳」から、同じselect文で つくられており、内容的には一致している。だから、次の二つの検索は、同じ結果をも たらす。

select *
	from   利用者台帳稚内編              /* テーブルから検索 */
	where  電話番号 like '-33-'

select * from 利用者稚内台帳 /* view から検索 */ where 電話番号 like '-33-'

テーブル「利用者台帳稚内編」の場合、もとのテーブル「利用者台帳」と全く同じ データのコピーを、テーブルの中にかかえることになる。これは、ある意味で資源の ムダ遣いである。これに対して、view「利用者稚内台帳」の場合には、それ自身として は、データをかかえていない。ただ、システムは、このviewの定義を知っているのであ る。先ほどのviewからの検索の例では、システムは、このviewの定義に基づいて、この select文を、次のようなselect文に置き換えて、実行する。

select *
	from   利用者台帳
	where  住所 like "%稚内%"
	  and  電話番号 like '-33-'

maruyama@wakhok.ac.jp
1995年02月10日 (金) 00時49分16秒 JST