SQLのビューの種類| SQLのビュー[2022]

公開: 2021-01-02

複雑なSQLクエリの作成とデータベースアクセスの保護は、データベース管理者とユーザーが常に直面する課題であり、これらのクエリは非常に複雑になる可能性があります。 元のテーブルに対してプロキシを使用すると、このようなクエリを簡素化するのに役立ちます。 また、管理者がデータベースへの直接アクセスを制限したい場合もあります。 これらの両方の状況で、ビューを使用できます。

目次

ビューとは何ですか?

SQLには、実行時にコンパイルされる仮想テーブルであるViewと呼ばれる特別なバージョンのテーブルがあります。 ビューは単なるSQLステートメントであり、ビューに関連付けられたデータは物理的にビューに格納されるのではなく、ビューのベーステーブルに格納されます。

Swiggy、Quora、IMDBなどのアプリケーションの構築方法を学ぶ

テーブルのすべての行と列を含めることも、アクセスを制限する必要がある場合は、選択したいくつかの行と列のみを含めることもできます。 ビューの作成に使用される記述されたSQLクエリに応じて、1つまたは複数のテーブルから作成できます。

ビューを使用して、ユーザーが自然にデータを見つけ、複雑なクエリを単純化し、データへのアクセスを制限し、複数のテーブルのデータを要約してレポートを作成できるようにデータを構造化できます。

ビューの管理

ここで定義されているビューの管理に関連するさまざまな側面があります。

ビューの作成:ビューは、「createview」ステートメントを使用して作成できます。 ビューは、マテリアライズドビュー、テーブル、またはその他のビューを参照するクエリによって定義されます。

ビューの名前の変更:ビューの名前を変更できます。ビューの古い名前を参照するすべてのオブジェクトに新しい名前が付けられていることを確認する必要があります。

ビューの一覧表示:SQL Serverデータベース内のすべてのビューは、システムカタログビューをクエリすることで一覧表示できます。

ビューの削除:「ドロップビュー」ステートメントを使用して、既存のビューを削除できます。

読む: SQLとPlSQL

世界のトップ大学からのオンラインソフトウェア開発コースに登録します。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。

SQLのビューの種類

SQL Serverには、システム定義ビューとユーザー定義ビューの2種類のビューがあります。 このセクションには、これら2つのタイプの説明が含まれています。

システム定義のビュー

システム定義ビューは、Tempdb、Master、tempなど、SQLServerデータベースにすでに存在する事前定義されたビューです。 各データベースには、独自のプロパティと機能があります。

すべてのユーザー定義ビューのテンプレートデータベースは、マスターデータベースからのものです。 これには、テーブルやその他のデータベースのテンプレートである多くの事前定義されたビューが含まれています。 事前定義されたビューが230近く含まれています。

システム定義ビューは、すべてのユーザー定義データベースに自動的にアタッチされます。 そして、これらはデータベース、テーブル、およびデータベースとテーブルのすべてのプロパティに関する情報を提供します。 システム定義ビューには、情報スキーマ、カタログビュー、および動的管理ビューの3つのタイプがあります。

情報スキーマ

SQLサーバーには20の異なるスキーマビューがあります。 これらは、テーブル、制約、列、ビューなどのデータベースの物理情報を表示するために使用されます。 このビューはINFORMATION_SCHEMAで始まり、その後にビュー名が続きます。 INFORMATION_SCHEMA.CHECK_CONSTRAINTSは、データベースで使用可能な制約に関する情報を受け取るために使用されます。

テーブルの特定の列に制約を使用して、その列で特定のデータルールが確実に守られるようにします。 INFORMATION_SCHEMA.COLUMNSは、テーブル名、列名、列の位置、デフォルト値などのテーブル列に関する情報を受け取るために使用されます。現在のデータベースに存在するビューを返すために、INFORMATION_SCHEMA.VIEWSが使用されます。

カタログビュー

これらは、SQLサーバーで使用される情報を返すために使用されます。 カタログビューは、カスタム形式の情報を取得、提示、および変換するための効率的な方法を提供します。 ただし、バックアップ、レプリケーション、メンテナンスプランなどに関する情報は含まれていません。これらのビューはデータベースのメタデータにアクセスするために使用され、名前と列名は説明的であり、ユーザーが期待される内容を照会するのに役立ちます。

動的管理ビュー

これらは2005年にSQLサーバーに導入されました。管理者は、サーバーの状態に関する情報を取得して、問題を診断し、サーバーインスタンスの状態を監視し、これらのビューを通じてパフォーマンスを調整できます。 サーバースコープの動的管理ビューはマスターデータベースにのみ保存されますが、データベーススコープの動的管理ビューは各データベースに保存されます。

ユーザー定義ビュー

これらは、ユーザーによって定義されるビューのタイプです。 ユーザー定義ビューには、シンプルビューとコンプレックスビューの2つのタイプがあります。

シンプルビュー

これらのビューには、単一のベーステーブルのみを含めることも、1つのテーブルからのみ作成することもできます。 MAX()、COUNT()などのグループ関数はここでは使用できず、データのグループは含まれていません。

Simple Viewを使用することにより、DML操作を実行できます。 挿入、削除、更新は直接可能ですが、Simple Viewには、式で定義されたrownum、distinct、columnsのようなgroupbyの疑似列は含まれていません。 シンプルビューには、ベーステーブルのNOTNULL列も含まれていません。

複雑なビュー

これらのビューには、複数のベーステーブルを含めることも、複数のベーステーブル上に構築することもでき、group by句、結合条件、orderby句を含めることができます。 ここではグループ関数を使用でき、データのグループが含まれています。 複雑なビューを常に使用してDML操作を実行できるとは限りません。

挿入、削除、および更新は、複雑なビューに直接適用することはできません。 ただし、単純ビューとは異なり、複雑ビューには、group by、rownumのような疑似列、個別の、式で定義された列を含めることができます。 NOT NULL列は、単純ビューで選択されていない場合でも、複雑なビューに含めることができます。

インラインビューやマテリアライズドビューなど、他のビューもあります。 インラインビューはFROM句のサブクエリに基づいており、サブクエリは一時テーブルを作成します。これにより、複雑なクエリが簡素化されます。

これらのビューは、結合およびサブクエリ操作なしで複雑なSQLクエリを作成するために使用されます。 マテリアライズド・ビューには、定義とデータさえも保管されます。 データのレプリカは、データを物理的に保存することによって作成されます。 このビューにより、データ全体を再生成するための処理時間が短縮されます。

読む:エキサイティングなSQLプロジェクトのアイデアとトピック

結論

この記事では、SQLのビューの種類について説明します SQLのビューは、詳細に定義および説明されており、ビューを管理するさまざまな方法も定義されています。 システム定義ビューやユーザー定義ビューなど、SQLのさまざまなタイプのビュー、各タイプのさまざまなサブタイプとともに詳細に説明されています。

フルスタックソフトウェア開発の詳細に興味がある場合は、upGrad&IIIT-Bのフルスタックソフトウェア開発のエグゼクティブPGプログラムをチェックしてください。これは、働く専門家向けに設計されており、500時間以上の厳格なトレーニング、9以上のプロジェクトを提供します。および割り当て、IIIT-B卒業生のステータス、実践的な実践的なキャップストーンプロジェクト、およびトップ企業との雇用支援。

未来のキャリアに備える

ソフトウェアエンジニアリングの修士号を今すぐ申し込む