RDB, SEノウハウ

DB, API設計でのINT型

 

DB, API設計でのINT型留意点

  • データベース設計の正規化ではnullは不許可
  • WorkBenchのフラグ欄を真偽値型のBoolean(TINYINT)を選択する
  • Swagger Editor
    ・真偽値はtypeをbooleanにする
    ・21億4,000万
    ・超える可能性がある →BIGINT
    ・超えない → INT32

自動採番の主キーはBIGINT(INT64)にしています。
→LaravelのマイグレーションでのデフォルトがBIGINTになったから。

Swagger Editor

    Notice:
      type: object
      description: プッシュ通知で送信するお知らせオブジェクト
      properties:
        id:
          type: integer
          format:int64
          description: Noticeオブジェクトのid
          example: 1
        name:
          type: string
          description: お知らせタイトル
          example: ポイントボーナス!
        main_text:
          type: string
          description: お知らせ本文
          example: お正月だよ、お年玉ボーナス
        important_flag:
          type: boolean
          description: |
            重要フラグ。画面設計を見ると赤い点で表示される
            - true
            - false

 

 

ifの比較

// true比較の場合
if(flag)

// false比較の場合
if(flag == false)
  • if(flag === true)は一見すると可読性が高い?が書かない。
  • 理由としてifはtrueかfalseで判定するものだから。

 

 

INT型の種類

  • TINYINT ・・・真偽値に利用
    0 〜 255
  • SMALLINT(int16)
    -32,768 〜 32,767
  • INT(int32) ・・・汎用の数値に利用
    21億で収まる値
    2,147,483,648 〜 2,147,483,647
  • BIGINT(int64) ・・・Auto Increntなどの自動採番idに利用
    数十億になりそうな値。
    -9,223,372,036,854,775,808 〜 -9,223,372,036,854,775,807

 

 

Laravel マイグレーション INT型生成

 

Boolean型

$table->boolean('delete_flag')->default(false);

 

INT型

$table->integer('item_code');

 

自動採番 + INT型(INT32)

$table->increments('user_id');

 

自動採番 + BIGINT型(INT64)

$table->bigIncrements('id');

 

Amazonおすすめ

iPad 9世代 2021年最新作

iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)