SQLのビューとテーブルの違い


136

重複の可能性:
パフォーマンスにおけるビューとテーブルの違い

SQLのビューとテーブルの主な違いは何ですか。テーブルの代わりにビューを使用する利点はありますか?



6
重複しているようには見えません。リンクされた投稿は、パフォーマンス/効率について具体的に尋ねています。この投稿では、選択した回答が表すように、データ型としてどのように異なるかについてさらに質問しています。
Ð...

回答:


197

テーブルにはデータが含まれ、ビューはSELECTデータベースに保存されている単なるステートメントです(データベースによって多少異なります)。

ビューの利点は、複数のテーブルのデータを結合できるため、新しいビューを作成できることです。給与のデータベースがあり、それに対して複雑な統計クエリを実行する必要があるとします。

複雑なクエリを常にデータベースに送信する代わりに、クエリをビューとして保存してから、 SELECT * FROM view


11
したがって、ビューは、selectステートメントによって作成された実際のテーブルです。ビューは保存され、アクセスできるため、ビューの代わりにその情報を使用して新しいテーブルを作成する場合の違いは何ですか。
Doug Hauf 2014年

23
ビューは、繰り返し保存できる「保存された選択ステートメント」と考えることができます。実際にはテーブルではありません。一部のデータベースでは、実際のテーブルを下に持つビューを作成できますが、実際SELECTには結果を返すステートメントにすぎません。
アーロンディグラ2014

1
注意点:データベースシステムのリストビューと「テーブルの表示」のテーブル コマンド。
デクスター2014年

1
@ShwetabhShekharこれは、データベースとビューのタイプによって異なります。最も単純な形式では、まるで全部を送信したかのように、データベースがSQLを実行します。この場合、何度も何度も送信することで節約できます。一部のデータベースでは、クエリを実行して結果を(実際の)テーブルに格納できます。次に、あなたが述べた問題をどうにかして解決する必要があります。その方法については、DBのドキュメントを確認してください。
アーロンディグラ2017

1
@FoxDeployはい、そのビューはまったく役に立たないので。便利なシナリオは、権限が制限されたビュー、または同じデータベースまたは別のデータベース(リモートテーブル)の別のスキーマからテーブルを選択するビューです。
アーロンディグラ2017

34

テーブル: テーブルは、RDBMSにデータと情報を格納するための予備ストレージです。テーブルは関連するデータエントリのコレクションであり、列と行で構成されます。

ビュー: ビューは、クエリによって内容が定義される仮想テーブルです。インデックスが作成されない限り、ビューはデータベースに格納されたデータ値のセットとして存在しません。テーブルに対する利点は

  • 複数のテーブルまたは別のビューの列/行を組み合わせて、統合ビューを作成できます。
  • ビューは、ビューの基になるベーステーブルに直接アクセスするためのアクセス許可をユーザーに付与することなく、ユーザーがビューを介してデータにアクセスできるようにすることで、セキュリティメカニズムとして使用できます。
  • ダウンストリームシステムへの抽象層として機能するため、スキーマの変更は公開されないため、ダウンストリームシステムは影響を受けません。

16

ビューは仮想テーブルです。ビューは、テーブルと同じように行と列で構成されます。ビューとテーブルの違いは、ビューは他のテーブル(またはビュー)の上に構築された定義であり、データ自体を保持しないことです。基になるテーブルでデータが変更されている場合、同じ変更がビューに反映されます。ビューは、単一のテーブルまたは複数のテーブルの上に構築できます。別のビューの上に構築することもできます。SQLの[ビューの作成]ページで、ビューを作成する方法を確認します。

ビューには次の利点があります。

  1. 使いやすさ:ビューにより、データベーステーブルの複雑さがエンドユーザーから見えなくなります。基本的に、ビューはデータベーステーブルの上にある抽象化のレイヤーと考えることができます。

  2. スペースの節約:ビューは実際のデータを保存しないため、ビューの保存にはほとんどスペースを必要としません。

  3. 追加のデータセキュリティ:ビューにはテーブル内の特定の列のみを含めることができるため、重要でない列のみが含まれ、エンドユーザーに公開されます。さらに、一部のデータベースでは、ビューに異なるセキュリティ設定を設定できるため、機密データを覗き見から隠すことができます。

回答:http : //www.1keydata.com/sql/sql-view.html


4

見解では、データベースと直接または物理的な関係はありません。また、ビューを介した変更(挿入、更新、削除など)は許可されていません。これは単なるテーブルの論理セットです


1
SQL Serverでは、基になるテーブルが1つのベーステーブルのみを参照している場合、ビューを介して基になるテーブルを変更できます。こちらをご覧ください
クリステンハンマック

3

ビューは、データベーススペースを常に利用する手間を省くのに役立ちます。テーブルを作成すると、データベースに格納され、存在する間はある程度のスペースを保持します。代わりに、ビューはクエリの実行時に使用されるため、DBスペースが節約されます。また、さまざまなテーブルを結合することは常に可能ですが、大きなテーブルを作成することはできませんが、テーブルをどれだけ大きくしてスペースを節約するかによって異なります。したがって、実行時に異なるテーブルを結合してテーブルを一時的に作成するだけです。専門家、私が間違っている場合は私を修正してください。


2

テーブル:

テーブルはデータベースにデータを格納し、データを含みます。

見る:

ビューは架空のテーブルであり、フィールド(列)のみが含まれ、実行時にフレーム化されるデータ(行)は含まれません。選択された列を使用して、結合によって1つ以上のテーブルから作成されたビュー ビューは、セキュリティ上の理由からユーザーから一部の列を非表示にし、列に存在する情報を非表示にするために作成されます。ビューを使用すると、毎回特定の列にアクセスするクエリを作成する労力が軽減されます。複雑なクエリを毎回データベースにヒットする代わりに、ビューを使用できます。


2

SQLビュー:

ビューは、SQLステートメントの結果セットに基づく仮想テーブルであり、何らかの名前でデータベースに格納されます。

SQLテーブル:

SQLテーブルは、フィールド(列)と行で構成されるデータベースインスタンスです。

次の投稿を確認してください。ビューとテーブルの 7つの違いについて著者がリストされています。

https://codechef4u.com/post/2015/09/03/sql-views-vs-tables

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.