Oracle オブジェクトには、1. テーブル、2. インデックス、3. クラスター、4. ビュー、5. シノニム、6. シーケンス、7. プロセス (プロシージャ) と関数、8. トリガー、9. 制約が含まれます。 、など。
このチュートリアルの動作環境: Windows 7 システム、Oracle 11g バージョン、Dell G3 コンピューター。
データベースの機能は、さまざまなデータベース オブジェクトを整理、管理、保存することです。データベース内のオブジェクトはデータ管理の基礎です。この記事では、これらの Oracle データベース オブジェクトをより明確に理解できるように、データベース オブジェクトの基本的な知識を確認します。
1. テーブル:
データベースを操作するとき、そのほとんどはテーブルの操作によって行われます。テーブルは論理的な概念であり、データベースの編成とデータ管理の基本単位です。
テーブルは、リレーショナル テーブルとオブジェクト テーブルに分類できます。リレーショナル テーブルには、ヒープ テーブル、索引構成テーブル、外部テーブルが含まれます。私たちがよく使うのはヒープテーブルです。
ヒープテーブルに対応するセグメントはヒープ構造の形式で格納されており、格納されたデータは論理的に順序が崩れています。
テーブルとセグメントの対応関係は次のとおりです。
非パーティションテーブルの場合、1 つのテーブルが 1 つのセグメントに対応します。
パーティションテーブルの場合、1 つのパーティションが 1 つのセグメントに対応します。セグメント;
サブパーティションのあるテーブルの場合、1 つのサブパーティションが 1 つのセグメントに対応します;
他のデータベース オブジェクトはこれに似ています
1.1 テーブル パーティション
テーブルパーティション (パーティション)。ユーザーのデータ状況やビジネス ニーズに応じて、テーブル内のデータが 1 つのセグメントから複数のセグメントに格納され、ユーザー データの管理と保守が容易になり、クエリ操作のパフォーマンスが向上します。もちろん、いくつかの欠点もあります。不適切に使用すると、パフォーマンス上の問題が発生します。パーティション テーブルの適用には、より多くの経験とより包括的な考慮事項が必要であり、開発者にとってもより高い要件が求められます。
パーティショニングを適用する場合:
最初に考慮すべきことは、データの量です。パーティショニングは、データの量が十分に大きい場合にのみ必要です。少量の場合は、パーティショニングは必要ありません。データ。オラクルは、テーブルが占有する記憶領域が 2GB を超える場合、テーブルのパーティション化を検討することを公式に推奨しています。一般に、パーティション分割は避けるようにしてください。パーティション分割には十分な理由が必要です。
現在のパーティション化されていないテーブルがユーザーによるデータの管理と保守に影響を与えている場合は、パーティション化を検討できます。
パーティショニング後にユーザーのクエリと操作のパフォーマンスを向上できるかどうか。
分割方法については、次の記事で引き続き分析していきます。
2. インデックス:
インデックスはテーブル上に構築された論理オブジェクトです。インデックスはテーブル データのアクセスとクエリの効率を向上させ、パフォーマンスの最適化に大きな役割を果たします。インデックスは 1 つ以上のセグメントにも関連付けられており、インデックスの最終的な格納場所もセグメントです。インデックスの種類が異なれば、B ツリー、ビットマップなど、ストレージ論理構造も異なります。
インデックスはテーブルのオプションであり、適切なインデックスを作成することがデータベース最適化の最優先事項です。ただし、インデックスによりクエリの効率は向上しますが、DML 操作の効率も低下するため、この 2 つを考慮した場合にのみ、より良いパフォーマンスが実現されます。
インデックス データベースの最適化ソリューションに関しては、そのほとんどはインデックスの失敗の回避、インデックスの使用順序の最適化などです。 B* ツリー インデックスやビットマップ インデックスなどのインデックスについては、以降の記事で詳しく説明します。
3. クラスター:
クラスターは、1 つ以上のテーブルのデータを含むデータベース オブジェクトです。含まれるテーブルはすべて、1 つまたは複数のテーブルを持ちます。より多くの列が共通しているため、これらの列はクラスター キー列と呼ばれます。
クラスターの作成には対応する権限が必要ですが、開発ではほとんど使用されません。クラスタはインデックスクラスタとハッシュクラスタに分けられ、前者はクラスタキーカラムのインデックスを利用してデータを検索するのに対し、後者はクラスタキーカラムのハッシュ値を利用して検索する点が異なります。どのタイプを使用するかは、使用シナリオによって異なります。
4. ビュー (View) とマテリアライズド ビュー (マテリアライズド ビュー):
View は仮想的に定義された論理オブジェクトであり、主に簡素化するために使用されます。ビューにはデータが含まれず、そのデータはビューに対応する他のオブジェクトに基づいています。
ビューでは、追加、削除、変更、確認などの操作ができると同時に、ある程度のセキュリティが確保されており、一部の列をブロックでき、より柔軟に使用できます。ただし、パフォーマンスには多少の影響があります。
マテリアライズド ビューは、ビューと比較して、実際にデータを格納し、テーブルなどの関連セグメントに対応できます。
マテリアライズド ビューは、概要、計算、その他のサービスに使用できます。同時に、一定の条件で追加、削除、変更、検索を行うこともでき、インデックスを作成することもできます。
5. シノニム:
シノニムも仮想論理オブジェクトであり、データは保存されません。基本的に、これは他のデータ オブジェクトのエイリアスです。同時に、セキュリティ管理の方法として、シノニムの権限を異なるユーザーに割り当てることができます。
6. シーケンス:
シーケンスにはデータが保存されず、ユーザーは、順序。
シーケンスを定義するときは、シーケンス名、昇順と降順、ステップ サイズなどを定義できます。負荷の同時実行性が高い場合、シーケンスの増大が全体のパフォーマンスに影響します。
7. プロシージャと関数:
プロシージャと関数は仮想論理オブジェクトであり、データは保存されません。主な機能は、データベースでエンコードされた呼び出しを使用して一連のタスクを実行することです。
プロセスと関数はデータベース内のオブジェクトであり、一連の SQL またはその他の PL ステートメントで構成されます。特定の問題を解決するために書かれた単元。
違いは関数に戻り値があることですが、それ以外の点ではプロシージャと関数は同じです。
8. トリガー:
トリガーもデータベースの論理オブジェクトであり、データは保存されません。主にデータベースコーディングを通じて、イベントが自動的にトリガーされると一連のコマンドが実行されます。
実行プロセスは自動であり、イベントが関連する条件をトリガーすると、実行されます。
9. 制約:
制約はデータベース内の論理オブジェクトであり、その機能は内部ロジックまたは自動ロジックによって決定されます。特定のルールや標準に準拠させるためのデータの制限。これにより、データの正規化と標準化が可能になります。
#一般的な制約には、次のものが含まれます。以上がオラクルオブジェクトとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。