ビューViews

適用対象: ○SQL Server ○Azure SQL Database ○Azure SQL Data Warehouse ○Parallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

ビューとは、クエリによって内容が定義される仮想テーブルです。A view is a virtual table whose contents are defined by a query. ビューは、テーブルと同様に、一連の名前の付いた列とデータ行で構成されます。Like a table, a view consists of a set of named columns and rows of data. インデックスが設定されていないと、データベース内に保存された一連のデータ値としてビューが作成されることはありません。Unless indexed, a view does not exist as a stored set of data values in a database. データは、ビューを定義するクエリが参照するテーブルから取り出され、ビューの行と列はビューを参照したときに動的に作成されます。The rows and columns of data come from tables referenced in the query defining the view and are produced dynamically when the view is referenced.

ビューは、ビューが参照する基になるテーブルに対するフィルターの役目を果たします。A view acts as a filter on the underlying tables referenced in the view. ビューを定義するクエリでは、1 つ以上のテーブルを参照することも、現在のデータベースや他のデータベースのビューを参照することもできます。The query that defines the view can be from one or more tables or from other views in the current or other databases. 参照先が複数で種類が異なる場合、ビューの定義に分散クエリも使用できます。Distributed queries can also be used to define views that use data from multiple heterogeneous sources. 分散クエリは、組織のデータを地域ごとのサーバーに保存している場合に、複数のサーバーから同じ構造のデータを結合するときなどに便利です。This is useful, for example, if you want to combine similarly structured data from different servers, each of which stores data for a different region of your organization.

ビューは一般的に、各ユーザーのデータベースに対する認識を特化、簡素化、およびカスタマイズするために使用されます。Views are generally used to focus, simplify, and customize the perception each user has of the database. ビューは、基になるベース テーブルに直接アクセスする権限をユーザーに与えずに、ユーザーがビューを介してデータにアクセスできるように設定することにより、セキュリティのメカニズムとして使用できます。Views can be used as security mechanisms by letting users access data through the view, without granting the users permissions to directly access the underlying base tables of the view. ビューを使用すると、以前に存在していたテーブルのスキーマが変更された場合に、このテーブルをエミュレートするための後方互換性インターフェイスを提供できます。Views can be used to provide a backward compatible interface to emulate a table that used to exist but whose schema has changed. また、 SQL ServerSQL Server にデータをコピーする場合、および SQL Server からデータをコピーする場合に、パフォーマンスの向上やデータのパーティション分割にビューを使用できます。Views can also be used when you copy data to and from SQL ServerSQL Server to improve performance and to partition data.

ビューの種類Types of Views

SQL ServerSQL Server には、標準的な役割を果たす基本的なユーザー定義のビュー以外に、データベース内で特別な目的で使用される次のようなビューがあります。Besides the standard role of basic user-defined views, SQL ServerSQL Server provides the following types of views that serve special purposes in a database.

インデックス付きビューIndexed Views
インデックス付きビューは、具体化されたビューです。An indexed view is a view that has been materialized. つまり、ビュー定義が計算され、結果のデータがテーブルのように格納されています。This means the view definition has been computed and the resulting data stored just like a table. ビューに一意クラスター化インデックスを作成することで、ビューにインデックスを設定します。You index a view by creating a unique clustered index on it. ある種のクエリでは、インデックス付きビューにより、大幅にパフォーマンスが向上する場合があります。Indexed views can dramatically improve the performance of some types of queries. インデックス付きビューは、多くの行を集計するクエリで最も効果を発揮します。Indexed views work best for queries that aggregate many rows. インデックス付きビューは、基になるデータセットが頻繁に更新される場合は適していません。They are not well-suited for underlying data sets that are frequently updated.

パーティション ビューPartitioned Views
パーティション ビューでは、1 台以上のサーバーに分散された一連のメンバー テーブルからの、行方向にパーティション分割されたデータが結合されます。A partitioned view joins horizontally partitioned data from a set of member tables across one or more servers. これにより、データが 1 つのテーブルからのデータのように表示されます。This makes the data appear as if from one table. SQL ServerSQL Server の同じインスタンスのメンバー テーブルを結合するビューは、ローカル パーティション ビューです。A view that joins member tables on the same instance of SQL ServerSQL Server is a local partitioned view.

システム ビューSystem Views
システム ビューは、カタログ メタデータを公開します。System views expose catalog metadata. システム ビューを使用すると、 SQL ServerSQL Server のインスタンスの情報や、インスタンスで定義されているオブジェクトの情報を返すことができます。You can use system views to return information about the instance of SQL ServerSQL Server or the objects defined in the instance. たとえば、sys.databases カタログ ビューに対してクエリを実行し、インスタンスで使用可能なユーザー定義データベースについての情報を返すことができます。For example, you can query the sys.databases catalog view to return information about the user-defined databases available in the instance. 詳細については、「システム ビュー (Transact-SQL)」を参照してください。For more information, see System Views (Transact-SQL)

ビューの一般的なタスクCommon View Tasks

次の表に、ビューの作成や変更に関連する一般的なタスクへのリンクを示します。The following table provides links to common tasks associated with creating or modifying a view.

ビューのタスクView Tasks トピックTopic
ビューを作成する方法について説明します。Describes how to create a view. Create Views (ビューの作成)Create Views
インデックス付きビューを作成する方法について説明します。Describes how to create an indexed view. Create Indexed Views (インデックス付きビューの作成)Create Indexed Views
ビュー定義を変更する方法について説明します。Describes how to modify the view definition. Modify Views (ビューの変更)Modify Views
ビューでデータを変更する方法について説明します。Describes how to modify data through a view. Modify Data Through a View (ビューを使用したデータ変更)Modify Data Through a View
ビューを削除する方法について説明します。Describes how to delete a view. Delete Views (ビューの削除)Delete Views
ビュー定義など、ビューに関する情報を返す方法について説明します。Describes how to return information about a view such as the view definition. Get Information About a View (ビューに関する情報の取得)Get Information About a View
ビューの名前を変更する方法について説明します。Describes how to rename a view. Rename Views (ビューの名前の変更)Rename Views

参照See Also

XML 列でのビューの作成 Create Views over XML Columns
CREATE VIEW (Transact-SQL)CREATE VIEW (Transact-SQL)