OceanBaseデータベースの設計仕様および制約は、オブジェクト名付け、構造設計、文字セット、接続規範、コメントの使用、ORM規約、異常処理などの面を網羅しており、データベースの設計と管理において効率性、一貫性、保守性を確保するのに役立ちます。詳細については、データベース設計と仕様制約をご参照ください。
オブジェクト名付け規範
MySQLモード:テーブル名は小文字、数字、アンダースコアで構成され、小文字で始まり、小文字または数字で終わります。長さは3文字以上64文字以下である必要があります。MySQLモードのキーワードや予約語の使用は避けてください。
Oracleモード:テーブル名は大文字、数字、アンダースコアで構成され、大文字で始まり、大文字または数字で終わります。長さは3文字以上64文字以下である必要があります。Oracleモードのキーワードや予約語の使用は避けてください。
一時テーブル
一時テーブルはtmp_をプレフィックスとして使用し、通常のテーブルと混同しないようにしてください。
オブジェクト構造設計規範
テーブル設計:データの冗長性を可能な限り削減し、テーブル構造を適切に見積もり、データの一貫性と完全性を確保します。各列に適切なSQLデータ型を選択します。業務要件に応じて、非パーティションテーブルまたはパーティションテーブルを作成します。
行の長さ:最大1.5MB
列数:最大512列
インデックス数:最大128個
パーティション数:Oracleモードでは最大65,536個、MySQLモードでは最大8,192個
文字セット規範
- UTF8、GBKなど、さまざまな文字セットをサポートしています。
- Oracleモードでは、UTF16をデータベースの文字セットとして使用することは禁止されています。
データベース接続規範
- データベース接続はセキュリティ規範に従う必要があり、デフォルトのユーザー名とパスワードの使用は避けてください。
- データ転送のセキュリティを保護するため、暗号化接続(SSL/TLSなど)の使用を推奨します。
コメントの使用
- SQLステートメントやデータベースオブジェクト(テーブル、列、インデックスなど)には、理解と保守を容易にするために、明確なコメントを追加する必要があります。
- コメントは簡潔かつ明瞭である必要があり、オブジェクトの機能と用途を記述する必要があります。
ORM規約
- ORM(オブジェクト関係マッピング)ツールを使用する場合は、データベース設計規範に従い、生成されるSQLステートメントが効率的で業務要件に合致することを確保する必要があります。
- 特別な要件がない限り、ORM内でネイティブSQLを直接使用することは避けてください。
異常処理
- Oracle互換モードのテナント:エラーコード、SQLSTATE、エラーメッセージは、可能な限りOracleデータベースと一致させる必要があります。分散環境特有のエラーは、ORA-00600エラーコードにマッピングされます。
- エラーメッセージ形式:SQLエラーはORAで始まり、ストアドプロシージャのエラーはPLSで始まります。開発プロセスでは、データベースの異常を捕捉・処理し、システムの安定性とデータの完全性を確保する必要があります。