LoginSignup
0
0

最近RDM周りで勉強したこと①

Posted at

最近業務を通じてRDBについて色々勉強したのでその内容をまとめました。
どなたかの参考になりましたら、幸いです😌

Viewとは?

viewの定義

ビューとは、クエリによって内容が定義される仮想テーブルです。 ビューは、テーブルと同様に、一連の名前の付いた列とデータ行で構成されます。 インデックスが設定されていないと、データベース内に保存された一連のデータ値としてビューが作成されることはありません。 データは、ビューを定義するクエリが参照するテーブルから取り出され、ビューの行と列はビューを参照したときに動的に作成されます。

CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;

viewを使うことのメリットとデメリット

一般的には下記のようなことが言えると思います。

メリット:

  • 簡略化されたクエリの利用:
    ビューはクエリを簡略化し、複雑な結合や条件を内部的に処理できます。これにより、データへのアクセスが容易になります。
  • セキュリティの向上:ビューを使用すると、ユーザーに必要なデータのみを公開することができ、不要な情報へのアクセスを制限できます。セキュリティとアクセス制御の観点から有用です。
  • データの抽象化:
    ビューは基礎となるテーブルの構造を抽象化するため、データモデルの変更があってもビューの定義だけを変更すれば済みます。これにより、アプリケーションがデータ構造の変更に追従しやすくなります。
  • 再利用性:
    ビューは再利用可能なオブジェクトであるため、同じデータセットに対して異なるクエリを使用する必要がある場合や、複数のクエリで同じ結果を利用する場合に便利です。

デメリット:

  • パフォーマンスの低下:
    ビューが複雑なクエリや多くのテーブルを結合している場合、実行時に性能の低下が発生する可能性があります。
  • 更新の制限:
    特定の条件下では、ビューが更新対象として使用できないことがあります。たとえば、複数のテーブルを結合したビューは、一部の条件下では更新できません。
  • 定義の変更が制限される:
    一部のビューの定義を変更する場合、ビューを使用しているクエリやアプリケーションに影響を与える可能性があります。定義の変更が難しい場合があります。
  • 実行計画の複雑化:
    複雑なビューは、実行計画が複雑になり、最適なクエリの実行が難しくなることがあります。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0