Previous: viewをつくる
Up: View
Next: view無しの検索例
Previous Page: viewをつくる
Next Page: 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