Open3
命名規則について考える
有効期間
start_date / end_date
- 統一感はある
- 何の開始・終了かわかりにくい
valid_from / valid_to
- 有効時間はValid timeなので説得力ある
- 中身が日付か日時かわからない
- SQLServer、SAPがドキュメントで使用している
valid_from_date / valid_to_date
- 型が分かるようになった
- 長い
- Oracleがドキュメントで使用している
effective_date / expired_date
- 契約の発効日/失効日を示す
- 知らないと多分出てこない
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
)
保守項目(作成)
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界隈でよく見る