データベースの使用過程で、開発者はさまざまなテーブルを作成し、データベース操作を行います。本記事は、開発者がデータベース内のテーブル命名を規範化するためのものです。
テーブル命名
テーブル名の規範について、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」。