OceanBase 開発者センター (ODC) では、GUI でテーブルを作成できます。このトピックでは、ODC コンソールでテーブルを作成する方法について説明します。
背景情報
論理テーブル
ODC V4.3.2 以降のバージョンでは、複数の (または単一の) 物理データベースを論理データベースに構成し、論理テーブルを構成して、複雑で大規模なシャーディングデータベースとテーブルをクエリおよび管理することができます。詳細については、「論理データベース管理」をご参照ください。
論理データベース権限がない場合は、プロジェクト/チケットからデータベース権限を申請できます。
論理テーブルの式
ルールタイプ | ルール名 | 例 |
単純なルール | 名前に数値順に増加する数値が含まれるテーブルを作成する |
|
名前に同じ桁数の数値順に増加する数値が含まれるテーブルを作成する |
| |
名前に指定されたステップで増加する数値が含まれるテーブルを作成する |
| |
名前に同じ桁数の数値で、指定されたステップで増加する数値が含まれるテーブルを作成する |
| |
名前の中央部分に増加する数値が含まれるテーブルを作成する |
| |
複数レベルのルール | 名前に月と日付を表す数値が含まれるテーブルを作成する |
|
名前に指定されたステップで増加する月と日付を表す数値が含まれるテーブルを作成する |
| |
データベースとテーブルのルール | 同じ名前のテーブルを作成する |
|
テーブルを作成し、指定されたデータベースに均等に分散する |
| |
列挙ルール | 単純な列挙に基づいてテーブルを作成する |
|
複雑な列挙に基づいてテーブルを作成する | 複数の式を使用してテーブルを作成し、指定されたデータベースに均等に分散します。例: | |
データベースの列挙ルール | 指定されたデータベースに同じテーブルを作成する |
|
指定されたデータベースに列挙ルールに基づいてテーブルを作成する |
| |
異なるデータベースに異なる数のテーブルを作成する |
|
テーブルを作成する手順

手順は 7 つのステップで構成されています。
基本情報を指定します。
テーブルを作成します。
インデックスを設定します。(オプション)
制約を設定します。(オプション)
パーティション分割ルールを設定します。(オプション)
SQL 文を確認します。
テーブルの作成を完了します。
次の例では、employee という名前のテーブルが ODC コンソールで作成されます。テーブルには、emp_no、birthday、name、gender 列が含まれています。
このトピックで使用されているデータは例です。必要に応じて実際のデータに置き換えることができます。
手順
物理ライブラリにテーブルを作成する
ステップ 1: 基本情報を指定する
ODC コンソールにログインし、目的の接続の名前をクリックして、対応する接続管理ページに移動します。左側のナビゲーションウィンドウの をクリックして、テーブルを表示できます。テーブルを作成するには、テーブルリストの右上隅にあるプラス記号 () をクリックするか、上部ナビゲーションバーの をクリックします。表左側のナビゲーション ウィンドウでテーブルを表示します。テーブルを作成するには、プラス記号(+) をクリックするか、テーブル リストの右上隅にある 作成上部のナビゲーション バーにあります。
次の 基本情報セクションで、設定しますテーブル名および 説明パラメーター。
説明MySQL モードでは、[デフォルトの文字セット] パラメーターと [デフォルトの照合順序] パラメーターも設定する必要があります。
基本情報を指定して「列の設定」ステップに進むと、基本情報が送信されます。
ステップ 2: 列を設定する
ODC V4.2.3 以降では、空間データ型の列を含むテーブルを MySQL モードの OceanBase Database または MySQL Database に作成できます。
次の図と表は、列を追加するときに指定する必要がある情報を示しています。

次の表は、列設定ページで実行できる操作について説明しています。
操作 | 説明 |
ツールバー操作 | ページ上部のツールバーを使用して、列を追加または削除できます。 |
行 ID をクリックする |
|
行を右クリックする | 行を右クリックして選択し、表示されるコンテキストメニューから [コピー] または [下へ移動] を選択できます。 |
行をコピーした後、Command + V または Ctrl + V ショートカットキーを使用して行を貼り付けることができます。
ページ下部の補助編集セクションには、選択した列に関する追加情報が表示されます。
基本情報と列の設定は必須です。他の構成ステップの設定はオプションです。基本情報と列の設定を指定した後、設定を送信し、SQL 文を確認してテーブルを作成できます。
ステップ 3: インデックスを設定する
テーブルに大量のデータが含まれている場合は、インデックスを使用してデータクエリを高速化できます。インデックスは、テーブル内の 1 つ以上の列の値を事前にソートするデータ構造です。インデックスを使用することにより、条件を満たすレコードを直接見つけることができます。
次の図と表は、インデックスを設定するときに指定する必要がある情報を示しています。

インデックス設定ページには、次のアイコンが用意されています。
アイコン | 説明 |
作成 | このアイコンをクリックして、インデックスを作成します。 |
削除 | このアイコンをクリックして、選択したインデックスを削除します。 |
ステップ 4: 制約を設定する
制約は、テーブルのデータルールを指定するために使用されます。制約に違反するデータ操作は終了します。

ODC は、次の 4 種類のテーブル制約をサポートしています。
主キー制約: テーブルの各データ行を一意に識別する主キーを定義します。主キー制約は、1 つのフィールドまたは複数のフィールドのグループにすることができます。テーブルに設定できる主キー制約は 1 つだけで、制約を構成した後は変更できません。
一意制約: フィールドまたはフィールド グループのデータがテーブル内で一意であることを保証します。 1 つのテーブルに複数の一意制約を設定できます。
外部キー制約: 2 つのテーブルの 1 つ以上の列を関連付けます。外部キー制約は、関連付けられたテーブル間のデータの整合性と完全性を維持するために使用されます。外部キー制約の設定が完了すると、新しい制約の作成や既存の制約の変更はできません。
CHECK 制約: データを編集する際に、設定されたチェック ルールに基づいてデータベース内のデータをチェックします。チェックに合格した場合のみ、データの変更が許可されます。
OceanBase データベースは、MySQL モードと Oracle モードで異なる制約をサポートしており、異なる制約には異なる情報が必要です。したがって、選択した制約とページの要件に基づいて必要な情報を指定する必要があります。
制約設定ページには、次のアイコンが用意されています。
アイコン | 説明 |
作成 | このアイコンをクリックして、制約を作成します。 |
削除 | このアイコンをクリックして、選択した制約を削除します。 |
ステップ 5: パーティション分割ルールを設定する

大量のデータを含むテーブルをパーティション分割できます。テーブルがパーティション分割されると、テーブル内のデータは複数の表領域に格納されます。データベースは、クエリのためにテーブル全体をスキャンしません。
MySQL モードでは、OceanBase データベースは、、、、、、 などのパーティション分割方法をサポートしています。キー、ハッシュ、範囲、範囲列、リスト、および 列の一覧。
Oracle モードでは、OceanBase データベースは、、、 の 3 つのパーティション分割方法をサポートしています。リスト、範囲、および ハッシュ。
ステップ 6: SQL 文を確認する

[実行]を実行すると、SQL 確認ページでステートメントを表示できます。ステートメントを確認およびフォーマットできます。
構文は次のとおりです。
CREATE TABLE table_name (column_name column_type, column_name column_type,.......);
次の表は、構文のフィールドについて説明しています。
フィールド | 説明 |
CREATE TABLE | 指定された名前のテーブルの作成を示すキーワード。テーブルを作成する権限が必要です。 |
table_name | テーブルの名前。テーブル名は、識別子の命名規則に準拠している必要があります。 |
column_name column_type | テーブル内の各列の名前とデータ型。複数の列のタプルはコンマ (,) で区切ります。 |
ステップ 7: テーブルの作成を完了する
[クリック] 実行。テーブルが作成されると、左側のナビゲーション ウィンドウのテーブル リストに従業員テーブルが表示されます。

左側のナビゲーションウィンドウのテーブルリストにあるテーブル名の横にある [その他] アイコンをクリックし、コンテキストメニューから 、、、、、、、、、 を選択して、テーブルを管理または操作できます。[テーブルスキーマを表示]、テーブルデータの表示、インポート、エクスポート、ダウンロード、モックデータ、[SQL ウィンドウを開く]、コピー、削除、または 更新コンテキストメニューからテーブルを管理または操作します。
詳細については、「テーブル属性を管理する」をご参照ください。
新しいテーブルのデータをクエリするには、SELECT 文を使用できます。
構文は次のとおりです。
SELECT
column_name,
column_name
FROM
table_name [WHERE 句] [LIMIT N] [OFFSET M]
次の表は、構文内のフィールドについて説明しています。
フィールド | 説明 |
SELECT | 文の名前を示すキーワードです。 SELECT 文を使用して、1 つ以上のレコードを読み取ることができます。 |
column_name | クエリ対象の列の名前です。 * の形式でアスタリスク (*) を使用して、すべての列をクエリできます。 |
WHERE | 条件句のキーワードです。 |
LIMIT | 返されるレコードの数です。 |
OFFSET | SELECT 文がクエリを開始するデータオフセットです。 デフォルトのオフセットは 0 です。 |
例:
SELECT `emp_no`, `birthdate`, `name`, `gender` FROM `employee`;

論理ライブラリにテーブルを作成する
ステップ 1: 基本情報を指定する
ODC コンソールにログインし、目的の接続の名前をクリックして、対応する接続管理ページに移動します。左側のナビゲーションウィンドウの をクリックして、テーブルを表示できます。テーブルを作成するには、テーブルリストの右上隅にあるプラス記号 () をクリックするか、上部ナビゲーションバーの をクリックします。表 左側のナビゲーション ウィンドウでテーブルを表示します。テーブルを作成するには、プラス記号 (+) をクリックするか、テーブルリストの右上隅にある 作成 トップ ナビゲーション バーにあります。

[基本情報 セクションで、設定します テーブル名 および 説明 パラメーター。
説明MySQL モードでは、[デフォルトの文字セット] パラメーターと [デフォルトの照合順序] パラメーターも設定する必要があります。
基本情報を指定して「列の設定」ステップに進むと、基本情報が送信されます。
ステップ 2: 列を設定する
ODC V4.2.3 以降では、 または で空間データ型の列を含むテーブルを作成できます。 MySQL モードの OceanBase Database または MySQL データベース。
次の図と表は、列を追加するときに指定する必要がある情報を示しています。

パラメーター | 説明 |
名前 | 列の名前。 |
型 | 列のデータ型。 データ型の詳細については、「OceanBase Database デベロッパーガイド」をご参照ください。 |
長さ | データ型の長さ。 |
スケール | データ型の小数点以下の桁数。 |
NULL 以外 | 列の値が必須かどうかを指定します。 |
自動インクリメント | 列が自動インクリメント列かどうかを指定します。このパラメーターは MySQL モードで有効です。 重要
|
仮想カラム | 列を仮想カラムとして設定するかどうかを指定します。 重要
|
デフォルト値/式 | 列のデフォルト値または式。 |
コメント | 列に関する追加情報。 |
次の表は、列設定ページで実行できる操作について説明しています。
操作 | 説明 |
ツールバー操作 | ページ上部のツールバーを使用して、列を追加または削除できます。 |
行 ID をクリックする |
|
行を右クリックする | 行を右クリックして選択し、表示されるコンテキストメニューから [コピー] または [下へ移動] を選択できます。 |
行をコピーした後、Command + V または Ctrl + V ショートカットキーを使用して行を貼り付けることができます。
ページ下部の補助編集セクションには、選択した列に関する追加情報が表示されます。
基本情報と列設定は必須です。その他の構成ステップの設定はオプションです。基本情報と列設定を指定した後、設定を送信し、SQL 文を確認してテーブルを作成できます。
ステップ 3:インデックスを設定する
テーブルに大量のデータが含まれている場合は、インデックスを使用してデータ クエリを高速化できます。インデックスは、テーブル内の 1 つ以上の列の値を事前にソートするデータ構造です。インデックスを使用することにより、条件を満たすレコードを直接見つけることができます。
次の図と表は、インデックスを設定するときに指定する必要がある情報を示しています。

パラメーター | 説明 |
インデックス名 | インデックスの名前。 |
範囲 | デフォルト値は GLOBAL です。有効な値: GLOBAL および LOCAL。 |
メソッド | デフォルト値は BTREE で、グローバルインデックスに適用されます。有効な値: Empty、BTREE、および HASH。
|
インデックスタイプ | デフォルト値は NORMAL です。有効な値: NORMAL、UNIQUE、および FULLTEXT。
|
列 | インデックスを作成する列。インデックス付き列の順序に注意してください。 |
非表示 | インデックスを非表示にするかどうかを指定します。 |
インデックス設定ページには、次のアイコンが表示されます。
アイコン | 説明 |
作成 | このアイコンをクリックすると、インデックスが作成されます。 |
削除 | このアイコンをクリックすると、選択したインデックスが削除されます。 |
ステップ 4:制約を設定する
制約は、テーブルのデータ ルールを指定するために使用されます。制約に違反するデータ操作は終了します。

ODC は、次の 4 種類のテーブル制約をサポートしています。
主キー制約: テーブルの各データ行を一意に識別する主キーを定義します。主キー制約は、1 つのフィールド、または複数のフィールドのグループにすることができます。テーブルに設定できる主キー制約は 1 つだけで、制約を構成した後は変更できません。
一意制約: フィールドまたはフィールド グループのデータがテーブル内で一意であることを保証します。1 つのテーブルに複数の一意制約を設定できます。
外部キー制約: 2 つのテーブルの 1 つ以上の列を関連付けます。外部キー制約は、関連付けられたテーブル間のデータの整合性と完全性を維持するために使用されます。外部キー制約の設定が完了すると、新しい制約を作成したり、既存の制約を変更したりすることはできません。
チェック制約: データを編集するときに、構成されたチェック ルールに基づいてデータベース内のデータをチェックします。チェックに合格した後にのみ、データの変更が許可されます。
OceanBase Database は、MySQL モードと Oracle モードで異なる制約をサポートしており、制約ごとに必要な情報が異なります。そのため、選択した制約とページの要件に基づいて必要な情報を指定する必要があります。
パラメータ | 説明 |
制約名 | 制約の名前。 |
列情報 | 制約として指定されたフィールドまたはフィールドのグループ。 |
関連スキーマ | 関連付けられたテーブルが配置されているスキーマ 外部キー制約が使用されます。関連付けられたテーブルは親テーブルです。このフィールドは Oracle モードでのみ有効です。 |
関連データベース | 関連付けられたテーブルが配置されているデータベース (外部キー制約が使用されます。関連付けられたテーブルは親テーブルです。このフィールドは MySQL モードでのみ有効です。 |
関連テーブル | 関連付けられているテーブル (外部キー制約が使用されます。関連付けられたテーブルは親テーブルです。 |
関連フィールド | 関連付けられているフィールド (外部キー制約が使用されます。関連付けられたフィールドは親テーブルにあります。 |
削除 | 関連付けられたテーブルのデータが削除されたときに、現在のテーブルに対して実行される操作を指定します。現在のテーブルは子テーブルで、関連付けられたテーブルは親テーブルです。 次の 4 つのタイプの操作がサポートされています: CASCADE、NO ACTION、RESTRICT、および SET NULL。 MySQL モードでサポートされている操作は、Oracle モードでサポートされている操作とは異なります。
|
更新 | 関連付けられたテーブルのデータが更新されたときに、現在のテーブルに対して実行される操作を指定します。現在のテーブルは子テーブルで、関連付けられたテーブルは親テーブルです。 次の 4 つのタイプの操作がサポートされています: CASCADE、NO ACTION、RESTRICT、および SET NULL。 MySQL モードでサポートされている操作は、Oracle モードでサポートされている操作とは異なります。
重要 現在、OceanBase Database は NULL を設定。構文の詳細については、「CREATE TABLE文、または MySQL や Oracle の公式ドキュメント。 |
チェック条件 | データ検証時のチェックルールを指定します。チェック制約有効になっています。 |
制約設定ページには、次のアイコンがあります。
アイコン | 説明 |
作成 | このアイコンをクリックして、制約を作成します。 |
削除 | このアイコンをクリックして、選択した制約を削除します。 |
ステップ 5:パーティション分割ルールを設定する

大量のデータを含むテーブルをパーティション分割できます。テーブルがパーティション分割されると、テーブル内のデータは複数の表領域に格納されます。データベースは、クエリに対してテーブル全体をスキャンしません。
MySQL モードでは、OceanBase Database は以下のパーティション化メソッドをサポートしています: KEY、HASH、RANGE、RANGE COLUMNS、LIST、および LIST COLUMNS。
Oracle モードでは、OceanBase Database は次の 3 つのパーティション化方式をサポートしています: リスト、範囲、および ハッシュ。
MySQL モードでのパーティションの定義は、Oracle モードでの定義とは異なります。そのため、次のフィールドの値はモードによって異なります。選択したパーティション化方式に基づいて、次のフィールドを指定する必要があります。
パラメータ
説明
パーティション化方式
パーティション化方式を指定します。MySQL モードでサポートされているパーティション化方式は、Oracle モードでサポートされている方式とは異なります。
RANGE パーティション化: 順序付けられ、連続しており、重複しない範囲の列値を持つ複数の行が 1 つのパーティションに割り当てられます。
LIST パーティション化: テーブルは、列挙値に基づいてパーティション化されます。
HASH パーティション化: テーブルは、指定された数のパーティションに基づいてパーティション化されます。明確なパターンや範囲のないデータを格納するテーブルの場合、ハッシュパーティション化を使用して、HASH アルゴリズムに基づいてパーティション列の値を異なるパーティションにランダムに分散できます。
KEY パーティション化: このパーティション化方式は、HASH パーティション化に似ています。違いは、KEY パーティション化では 1 つ以上の列のみの計算がサポートされ、MySQL サーバーが独自のハッシュ関数を用意していることです。Key パーティション化には、少なくとも 1 つの INT 型の列が必要です。
フィールド
パーティションキーとして使用される列。
式
パーティションは、式の戻り値に基づいて分割されます。パーティション式は Oracle モードではサポートされていません。
パーティション
指定された値に基づいて パーティション方法などの情報を指定する必要がある場合があります。パーティション名、パーティション数、上限、および 値の列挙。複数のパーティションを追加し、選択したフィールドをドラッグして順序を調整できます。 で指定された値に基づいて、 などの情報を指定する必要がある場合があります。複数のパーティションを追加し、選択したフィールドをドラッグして順序を調整できます。
ステップ 6:SQL 文を確認する

クリックした後、実行、SQL 確認ページでステートメントを表示できます。ステートメントを確認およびフォーマットできます。
構文は次のとおりです。
CREATE TABLE table_name (column_name column_type, column_name column_type,.......);
次の表は、構文内のフィールドについて説明しています。
フィールド | 説明 |
CREATE TABLE | 指定された名前でテーブルを作成することを示すキーワードです。テーブルを作成する権限が必要です。 |
table_name | テーブルの名前です。テーブル名は、識別子の命名規則に準拠している必要があります。 |
column_name column_type | テーブルの各列の名前とデータ型です。複数の列のタプルはコンマ (,) で区切ります。 |
ステップ 7:テーブルの作成を完了する
[実行] をクリックします。テーブルが作成されると、左側のナビゲーション ウィンドウのテーブル リストに employee テーブルが表示されます。