web-dev-qa-db-ja.com

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

可能性のある複製:
パフォーマンスのビューとテーブルの違い

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

103
Mahesh KP

テーブルにはデータが含まれ、ビューはデータベースに保存されたSELECTステートメントにすぎません(データベースに応じて多かれ少なかれ)。

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

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

157
Aaron Digulla

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

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

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

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

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

  1. 使いやすさ:ビューは、データベーステーブルの複雑さをエンドユーザーから隠します。基本的に、ビューはデータベーステーブルの上の抽象化層と考えることができます。

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

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

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

10
SuperGuy10

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

4
Haris

SQLビュー:

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

SQLテーブル:

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

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

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

1
nagnath

表:

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

表示:

ビューは架空のテーブルであり、フィールド(列)のみを含み、実行時にフレーム化されるデータ(行)を含みません。セキュリティ上の理由でユーザーから一部の列を非表示にし、列に存在する情報を非表示にするビューが作成されます。ビューは毎回特定の列にアクセスするクエリを書く労力を減らします

1
Hari

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