Open3

命名規則について考える

soagssoags

有効期間

start_date / end_date

  • 統一感はある
  • 何の開始・終了かわかりにくい

valid_from / valid_to

  • 有効時間はValid timeなので説得力ある
  • 中身が日付か日時かわからない
  • SQLServer、SAPがドキュメントで使用している

valid_from_date / valid_to_date

  • 型が分かるようになった
  • 長い
  • Oracleがドキュメントで使用している

effective_date / expired_date

  • 契約の発効日/失効日を示す
  • 知らないと多分出てこない
soagssoags

ID or コード

ID

  • レコードを一意に識別するためのキー
  • システムが採番する(Auto Increment や UUID)

コード

  • レコードを識別するためのキーになりえる文字列
    • 社員番号、品番、会社コードなど
  • ユーザーが採番する
  • 全スコープで一意になることは保証されない
    • 異なる会社で同じ社員番号は存在しうる
CREATE TABLE (
  user_id serial PRIMARY KEY,
  user_code varchar(10) NOT NULL UNIQUE,
  name varchar(50) NOT NULL
)
soagssoags

保守項目(作成)

created_at

  • たぶんデファクトスタンダード
  • _atの意味が分からない人がよくいて、文句言われることも割と多い

created_date

  • 日付って名前のくせに時間も持ってる
  • WHERE created_date = '2023-01-01'ってミスる人続出
  • JTC界隈でよく見る

created_time

  • 時間って名前のくせに日付も持ってる
  • JTC界隈でよく見る

created_by

  • たぶんデファクトスタンダード
  • byの意味が分からない人はさすがに少ない

created_user

  • ユーザーであることが明確
  • 意味的に微妙
  • JTC界隈でよく見る

created_pgm

  • 作成を行った処理の機能IDとかが入る
  • トレーサビリティとしては割と便利で有用
  • プログラムってなんやねん、全部プログラムやろ
  • JTC界隈でよく見る

created_host

  • ユーザーのホスト名やIPアドレスとかが入る
  • このデータが必要になったことない
  • このデータがちゃんと入ってるの見たことない
  • JTC界隈でよく見る