1. ホーム
  2. sql

[解決済み] テーブルの代わりにビューを使用するタイミングは?

2022-05-14 23:52:34

質問

実際のところ、どのような場合に実際のテーブルよりもビューを使用すべきなのでしょうか?これはどのような利益をもたらすと期待すべきでしょうか。

全体として、テーブルの上にビューを使用する利点は何ですか?そもそも、ビューが見えるようにテーブルを設計すべきではないのでしょうか?

どのように解決するのですか?

ああ、多くの違いを考慮する必要があります。

選択するためのビュー。

  1. ビューはテーブルに対する抽象化を提供します。基礎となるスキーマを変更することなく、ビューで簡単にフィールドを追加/削除できます。
  2. ビューは、複雑な結合を簡単にモデル化することができます。
  3. Views は、データベース固有のものを隠すことができます。例えば、Oracles の SYS_CONTEXT 関数やその他多くのものを使用して、いくつかのチェックを行う必要がある場合などです。
  4. 実際のテーブルではなく、ビュー上で直接GRANTSを簡単に管理することができます。特定のユーザーがビューにのみアクセスできることが分かっている場合、管理が容易になります。
  5. ビューは後方互換性を保つのに役立ちます。基礎となるスキーマを変更することができますが、ビューは特定のクライアントからそれらの事実を隠すことができます。

挿入/更新のためのビュー。

  1. Oracle の "WITH CHECK OPTION" 節などの機能をビューで直接使用することで、ビューのセキュリティ問題を処理することができます。

欠点

  1. 関係(主キー、外部キー)の情報が失われる
  2. ビューはその基礎となる結合を隠すので、ビューを挿入/更新できるかどうかは明らかではありません。