この記事では、OceanBaseデータベースのMySQLモードでサポートされているデータベースオブジェクトの種類について説明します。
OceanBaseデータベースのMySQLモードにおけるデータベースオブジェクトの詳細は、以下の表を参照してください。
| オブジェクトタイプ | 説明 |
|---|---|
| テーブル(Table) | データベースにおける最も基本的なストレージ単位であり、テーブル内のデータは行と列によって構成されています。 |
| ビュー(View) | ビューは仮想的なテーブルであり、その内容はクエリによって定義されます。実際のテーブルと同様に、ビューには名前付きの列と行データが含まれます。ただし、ビューはデータベース内に格納されたデータ値の集合として存在するわけではありません。行と列のデータは、ビューを定義するクエリで参照されるテーブルから取得され、ビューが参照される際に動的に生成されます。 |
| インデックス(Index) | インデックスとは、データベーステーブルの1列または複数の列の値をソートするための構造であり、インデックスを使用することでデータベーステーブル内の特定の情報へのアクセスを高速化できます。例えば、特定の職員の姓でその人物を検索したい場合、テーブル内のすべての行を検索するのと比較して、インデックスを使用する方が情報をより迅速に取得できます。 |
| パーティション(Partition) | OceanBaseデータベースでは、通常のテーブルのデータを一定のルールに基づいて異なるブロックに分割し、同一ブロック内のデータを物理的にまとめて格納することができます。このようにブロックに分割されたテーブルをパーティションテーブルと呼びます。OracleにおけるPartitionの概念と同じであり、OceanBaseデータベースでは水平パーティションのみが存在し、テーブルの各パーティションは一部のレコードを含みます。行データとパーティションとのマッピング関係によって、Hashパーティション、Rangeパーティション(範囲)、Listパーティションなどに分類されます。また、各パーティションはさらに異なる次元で複数のパーティションに細分化することができ、これをサブパーティションと呼びます。例えば、取引記録テーブルをユーザーIDに基づいて複数のHashパーティションに分割し、各Hashパーティションをさらに取引時間に基づいて複数のサブRangeパーティションに分割します。 |
| トリガー(Trigger) | トリガーとは、指定されたイベントが発生した際にシステムが自動的に呼び出す一連のストアドプロシージャです。通常のストアドプロシージャとは異なり、トリガーは有効または無効にすることができ、明示的に呼び出すことはできません。 |
| ストアドプログラム(Stored Program) | ストアドプログラム(Stored Program)とは、指定された機能を実行するためのSQL文の集合であり、コンパイル後にデータベースに格納されます。ユーザーはストアドプロシージャの名前を指定し、パラメータ(該当する場合)を指定することでそれを呼び出して実行します。ストアドプログラムはプログラマブルな関数であり、データベース内で作成・保存され、SQL文と制御構造で構成されています。 |