データベースの使用過程で、開発者はさまざまなテーブルを作成し、データベース操作を実行します。本記事は、開発者がデータベース内のテーブル名を規範的に付けることを支援することを目的としています。
テーブル名の命名
テーブル名の規則は、MySQLモードとOracleモードで以下のように異なります:
OceanBaseデータベースMySQLモードの一般的な規則
- 小文字、数字、アンダースコアで構成され、小文字で始まり、小文字または数字で終わります。
- 長さは3文字以上(開発規範)で、データベースのテーブル名の最大制限文字数未満である必要があります。
- OceanBaseデータベースMySQLモードで既に存在するキーワードや予約語を使用して命名しないでください。
注意
OceanBaseデータベースMySQLモードでは、現在テーブル名の最大長は64文字です。具体的なバージョンによっては、制限が異なる場合があります。
OceanBaseデータベースOracleモードの一般的な規則
- 大文字、数字、アンダースコアで構成され、大文字で始まり、大文字または数字で終わります。
- 長さは3文字以上(開発規範)で、データベースのテーブル名の最大制限文字数未満である必要があります。
- OceanBaseデータベースOracleモードで既に存在するキーワードや予約語を使用して命名しないでください。
注意
- OceanBaseデータベースOracleモードの規則は、大文字と小文字の要件を除き、その他はOceanBaseデータベースMySQLモードの規則と同じです。
- OceanBaseデータベースOracleモードでは、現在テーブル名の最大長は64文字です。具体的なバージョンによっては、制限が異なる場合があります。
テーブル名は、英字で始めることを推奨します。
テーブル名は、直感的に理解できるものにすることを推奨します。例:「TEST」。
テーブル名は、アンダースコアで始めたり、アンダースコアで終えたりすることは推奨されません。
テーブル名は、数字で始めることは推奨されません。
テーブル名には、システムの予約語やキーワードを使用しないでください。
テーブル名の途中にアンダースコーが続く場合、その間に数字を含めることは推奨されません。
テーブル名に複数形の名詞を使用することは推奨されません。
テーブル名は、サブシステム名または標準的な略語で始め、後に機能名または標準的な略語を「_」で区切る形式を推奨します。例えば、「業務名_テーブルの役割」という構成が望ましいです。例:「ACCOUNT_USER」。
テーブル名の後に続く数字の番号は、順序良く連番で付けることを推奨します。番号は「00」から始めて連番で付けます。例:「ACCOUNT_USER_00」、「ACCOUNT_USER_01」、「ACCOUNT_USER_02」。
時間を基準に分割したテーブルの名前は、「テーブルワイルドカード名_時間」という形式を推奨します。時間は、テーブル内のデータの日時を4~6文字で略記したものにすることを推奨します。例:「ACCOUNT_USER」テーブルの2022年1月のパーティションテーブル名は「ACCOUNT_USER_2201」とします。
中間テーブルは、中間結果セットを保持するために使用されます。命名規則は、「tmp_テーブル名(または略称)列名(または略称)作成時間」とすることを推奨します。例:「tmp_account_tbluser_20220224」。
バックアップテーブルは、バックアップやソーステーブルのスナップショット取得に使用されます。命名規則は、「bak_テーブル名(または略称)列名(または略称)作成時間」とすることを推奨します。例:「bak_ account_tbluser _20220224」。