SQLテーブルフィールドの設計ルール

テーブル設計仕様書

フィールドの命名規則

  1. フィールドのセマンティクスは完全である必要があり、ステータスのようなあいまいなフィールドは許可されないため、check_status に変更する必要があります。
  2. is_delete など、概念が is で始まるかどうかを示します
  3. 各フィールド、特に列挙された意味を持つフィールドには注釈を付ける必要があります。新しいデータが更新されたときに必ず注釈を維持してください。
  4. desc、enable などのキーワードは使用しないでください。
  5. テーブルのフィールド名はすべて小文字であり、キャメルケースのマッピングを満たすことができるように複数の単語は _ で区切られています。

フィールドタイプのデザイン

  1. 主キーの種類は通常、unsigned bigint を使用します (42 億個のデータを格納可能)

unsigned を使用する利点は、データ特性 (負の数値がない) を識別し、スペース使用率を向上させ、負の数値が表示されないことが確実なフィールドにこの識別を追加できることです。

  1. 整数型は必要に応じて int、unsigned int、bigint を使用します。Java の Integer、Long、Long に対応します。
  2. 10 進数型は 10 進数を使用し、float と double を使用すると精度が失われるという問題があります。
  3. ブール型は tinyint を使用し、1 と 0 を使用して Yes と No を識別し、名前付けに「is_XX」を使用します。
  4. 固定長文字列には char(x) を使用し、非固定長文字列には varchar(x) を使用します。x は文字数 (漢字を含む) を表します。長さが 5000 を超える場合は、テキスト タイプを使用して、効率への影響を避けるために、主キーに関連付ける別のテーブル。
  5. テーブルの必須フィールド: created、create_id、updated、update_id。これらのフィールドは、セッション コンテキストからフレームワークによって自動的に入力されます。
  6. テーブルの必須フィールド 2: is_delete、すべての論理削除、基本的に物理削除なし
  7. テーブルの必須フィールド 3: extend1、extend2……、いくつかの予備フィールドを準備する必要があります
  8. 列挙型は unsigned tinyint を使用し、Java の対応する型は Integer です。
  9. ステータスは、ステータスが何であるかを指定する必要があります。ステータスに名前を付けることはできません。「check_status」、「sale_status」などの「xx_status」である必要があります。

タイプの説明

タイプ 範囲を示します 占有バイト数 Java対応型
tinyint 署名なし 符号なしの値: 0 ~ 255 1 整数
int 符号なし 符号なしの値: 0 ~ 約 42 億 9,000 万 4 長さ
bigint 署名なし 符号なしの値: 0 ~ 約 10 の 19 乗 8 長さ

追加の指示

コード生成ツールの識別を容易にするために、以下に特別な仕様を示します。

bool は、Java の boolean に対応する tinyint(1) unsigned を使用します。

列挙では tinyint unsigned が使用されます。これは Java の int に対応します。

おすすめ

転載: blog.csdn.net/weixin_47068446/article/details/130611106