SQL Server

概要

Select したデータを仮想なテーブルに格納するような仕組みを提供する。ビューは、主に次の目的のために利用されてきました。

  • 「ユーザーが、1 つ以上の基本テーブルに格納されているデータの特定のサブセットにしかアクセスできないようにする、セキュリティ メカニズムの提供
  • 「基本テーブルに格納されているデータの論理的な表示方法のカスタマイズを可能にするメカニズムの提供

メリット: プログラムの作成に負荷が低減できる。

安全性

デメリット:

パフォーマンスが良くない 複雑のビューの修正が大変

分散的なビューを作成できる

  • 複数のデータベースあるいは、SQL Serverインスタンスの間に

結合ビューを作成できる

単純ビューでの様々な指定を含みながら、複数のテーブルやビューをひとつのビューに結合することができる。

基本

検索したデータからビューを作成する

CREATE VIEW titleview AS 
SELECT
      title, au_ord, au_lname, price, ytd_sales, pub_id
FROM
      authors AS a JOIN titleauthor AS ta ON (a.au_id = ta.au_id) JOIN titles AS t ON (t.title_id = ta.title_id)

作成したビューを利用する

SELECT * FROM titleview

別のビューを参照する

CREATE VIEW Cust_titleview AS 
    SELECT title, au_lname, price, pub_id FROM titleview

ビュー削除

ビューを削除しても、実際のテーブルデータが消えることはない。

drop view titleview

シノニム作成

テーブルやビューの別名定義をシノニムと呼ぶ。

   シノニムには、public タイプがある。
   public タイプをうまく利用するとスキーマを意識しなくても良い。
   シノニムは、テーブルやビューと同じに select 等で扱える。
 create public synonym pub_test for synoymtest
 create synonym pub_test for synoymtest

シノニム削除

シノニムを削除しても、実際のテーブルデータが消えることはない。

 drop public synonym pub_test
 drop synonym pub_test

ビューが複数のベース テーブルを参照している場合は、行を挿入&削除できません。 1 つのベース テーブルに属している列のみを更新することができます。

インデックス付きビューによるパフォーマンスの向上

インデックスを使用することでクエリのパフォーマンスを向上させるというのは、新しい概念ではありません。ただし、インデックス付きビューには、通常のインデックスでは得られないパフォーマンス上のメリットがあります。インデックス付きビューを使用すると、次の方法により、クエリのパフォーマンスを向上できます。

  • 集計を事前に計算し、結果をインデックスとして保存することで、クエリの実行時に必要になる、パフォーマンス コストの高い計算を最小限に抑えることができます。
  • テーブルを事前に結合し、結果のデータ セットを保存することができます。
  • 結合または集計の組み合わせを保存できます。


あなたのお住まいの地域で最安のブロードバンド選び

コメント:



(画像の文字列を入力して下さい)

トップ   編集 凍結 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019/12/02 (月) 12:42:09 (1628d)

yVoC[UNLIMITȂ1~] ECirŃ|C Yahoo yV LINEf[^[Ōz500~`I


z[y[W ̃NWbgJ[h COiq 萔O~ył񂫁z COsیI COze