ビュー

ビューとは,複数の表を結合したり,集合演算したり,あるいは単一の表の特定の表示状態(表示列の選択,レコードの選択条件)を指定したりして,仮想の表(ビュー表)を作成し,それを一般の表と同じように扱うことができる機能です。


目次
ビューの種別
結合ビュー
集合演算ビュー
ビューファイルとビュー表
ビューの利用
ビューファイル
ビューの評価とビュー表
ビューの属性と登録情報

ビューの種別

DBPro で扱うビューには次の種類があります。

結合ビュー項目の値をキーにしてレコードを連結し,表を横方向に結合します。
集合演算ビューレコードを集合の要素として,表の集合演算を行ないます。次の3種類があります。
 和集合ビュー
 差集合ビュー
 積集合ビュー

結合ビュー

結合ビューは,複数の表(ビューの元表と呼びます)を横方向に結合(join)し,すべての表の項目を一つの表として見るための仮想の表(導出表)です。そのとき,結合ビューに含まれるレコードの作り方にはいくとおりかの方法があります。

自然結合

直積

直積からの選択

単一元表からのビュー

集合演算ビュー


ビューファイルとビュー表

どのようなビューであるかの定義情報が格納されるファイルと,実際にビューを参照するときの表とは別のものです。

ビューの利用

ビューの機能を利用するには,

  1. どのようなビューであるかの定義情報を保存しておくビューファイルを作成し,
  2. そのビューファイルを表ファイルと同様に,開いたり,カードの対象表として指定します。
  3. ビューファイルを開こうとすると,ビューファイル中に保存されている定義情報に従って,元表のデータから一時的な表が作成されます。この表をビュー結果表,あるいは単にビュー表と呼びます。
  4. 生成されたビュー表は,通常の表ファイルとまったく同様に扱うことができます。

ビューは,次の場面などで利用することができます。

  1. 普通に開くと,表編集ウィンドウで参照することができます。→[ファイル]-[開く]
  2. カード対象表指定ダイアログで対象表としてビューを指定してカードを作成することができます。これにより [ファイル]-[開く]コマンドでそのカードを指定すればカード編集ウィンドウでビューを参照することができます。→機能ガイド:カードの新規作成
  3. 表編集ウィンドウにビューを読み込むと,ビューが評価され,作られたビュー表が編集中の表に入力され,永続的なデータになります。→[ファイル]-[読込み]

ビューファイル

ビューの評価とビュー表

ビュー表は,ビューを開いたときに新たに生成される一時的な表ファイルであって,定義情報を保存しているビューファイルとは別のものです。

ビュー評価
ビューを参照しようとすると,ビューファイル中に保存されている定義情報に従って,その時点の元表のデータからビュー表用の一時的な表ファイルが作成されます。このことをビューの評価といいます。作られたビュー表は,その表を閉じると失われます。
ビューの目的の一つに「重複しないように一元管理された台帳などから最新のデータを取り出して参照する」ということがありますので,その都度ビューを評価するということは重要です。参照するたびにビューが評価されなかったとすると,台帳とは異なる古いデータを参照してしまう可能性があります。
他方,ビューの評価は多くの時間を要する処理です。無駄な評価が起こらないように,時には評価結果を別のファイルに保存する工夫も必要でしょう。
ビュー評価の高速化
自然結合によって台帳から情報を取り出すときは,商品コード,社員番号など台帳の主キーとなる項目を指定し,その主キー項目を第1整列キーとする索引をあらかじめ作成しておきます。こうすることによって,ビューを評価する際にその索引が利用されるため,評価の速度が速くなります。
主キーでなくとも,照合に使おうとする項目を第1整列キーとした索引を元表に登録しておくと評価の速度が速くなります。
照合キーを指定しない結合であっても,ビューの選択条件が指定されている場合には,その条件中で参照されている項目を第1整列キーとした索引を登録しておくと,速くなることがあります。
ビュー表のデータ編集
ビューを評価した後は,通常の表とまったく同じですので,レコードの挿入,削除,更新もできます。
他方,ビュー表は元表とはまったく別の表として作成されるので,評価後はビュー表のレコードと元表のレコードとはまったく関係ありません。本来のリレーショナルデータベースならば,単一表からのビューや自然結合によるビューなど,ビュー表のレコードと元表のレコードとが一対一の対応が付くものについては,ビューのデータを更新すると元表のデータも更新されるべきですが,DBPro のビューではビューを更新してもそれが元表に反映されることはありません。(更新の結果を元表に反映させる機能は将来のバージョンで計画されています。)
原則として,更新されたデータもビュー表をクローズするときに捨てられます。あくまでもビューは,データ参照の手段としてお使いください。
ビュー表のクローズと保存
ビュー表を閉じると,そのファイルは廃棄されます。したがって,表編集またはカード編集中に更新したデータ,登録した条件,表示形式など一切のものは捨てられてしまいます。もし,評価したビューのデータを保存しておきたい場合には,[ファイル]-[名前を付けて保存]コマンドを実行し,別のファイルに保存した表を再び開いて編集してください。そうすれば,その表はもはや通常の表となりますので,データその他の情報もすべて保存されます。

ビューの属性と登録情報

ビューの性格を定義付ける情報には以下のものがあります。これらは,ビュー定義ウィンドウで定義され,ビューファイルに格納されます。

ビュー種別
結合ビューと集合演算ビューがあります。→ビューの種別
新しいビューファイルを作る最初に,ビュー種別指定ダイアログで指定します。
ビュー元表
ビューに表示されるレコードの元になるレコードがある表ファイルです。いくつでも指定することができます。
結合ビューの場合,最初に指定する元表(第1元表)は,結果のビュー表のレコード順序を規定したり,強制結合の際に結合相手がなくてもレコードが生成されたりします。
これに対して,2番目以降に指定する元表は,基本的にはその値を取り出すことが目的であり,第1元表のキー項目で参照されていないレコードは結果のビュー表には影響を与えません。
ビュー属性指定ダイアログで指定します。
照合キー
結合ビューの場合に,照合キーとして指定した項目の値が等しいレコードが結合されて,ビュー表の一つのレコードになります。照合キーダイアログで指定します。
ビュー選択条件
結合または集合演算によって得られたレコードに対して,更に条件を適用し,その条件に合致するレコードだけをビュー表に表示します。ビュー選択条件ダイアログで指定します。
単一の元表をもつ結合ビューに対して指定すれば,元表に対して常に同じ条件で選択するだけのビューとして使えます。また,照合キーを指定しない結合ビューに対して指定すると直積からの選択として使えます。
ビュー項目属性
次の点を除いて表の項目属性と同じです。 ビュー項目属性は,項目属性ダイアログで指定します。
単一化
結合や集合演算の結果,ビュー表に同じレコード(すべての項目の値が同じレコード)が複数含まれることがあります。それらを一つだけ残して他を自動的に削除させることができます。ビュー属性ダイアログで指定します。
強制結合
結合ビューにおいて,第2元表以降に第1元表のレコードに対応するレコードが見つからない場合でも結果の表にレコードを作成するようにします。これを指定しておくと,商品台帳などのデータを結合によって参照するときに,台帳に未登録のレコードを参照しようとしても元表のレコードが消滅してしまわないようになります。ビュー属性ダイアログで指定します。
表示形式
ビュー表を開いたときの表示形式を指定することができます。また,<標準> 表示形式とは別の表示形式を登録しておくと,ビュー表の表編集ウィンドウで表示形式を切り替えることができます。→表:表示形式表示形式ダイアログ
印刷形式
ビュー表の表編集ウィンドウで使う印刷形式をあらかじめ作成しておくことができます。ビューファイルに定義しておいた印刷形式がビュー表にも定義され,ビュー表の表印刷に使うことができます。→表印刷と印刷形式印刷形式ダイアログ
フォント設定
ビュー表で使う標準の文字フォントの組を指定します。→フォントフォント設定ダイアログ
権限
ビューファイル(定義)およびビュー表(評価結果)を参照・更新する許可を与えます。ビューファイルに対する権限は次のものが設定できます。→利用者管理と権限権限ダイアログ
注:
ビュー表の変更(更新,挿入,削除)が元表に反映されることはありません。ここでの権限は,あくまでも評価の結果得られた一時的な表に対するものです。
ファイル内変数
ビュー表で使うファイル内変数を定義しておくことができます。ビューファイルに定義したファイル内変数は,ビューが評価されてビュー表が生成されたときに,指定した値に初期化されてビュー表のファイル内変数になります。→変数定義ダイアログ
DBProヘルプ目次へ