エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
「発効日」を主キーに含むデータモデル: 設計者の発言
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
「発効日」を主キーに含むデータモデル: 設計者の発言
最近、あるプロジェクトのデータモデルをレビューして驚いた。マスター系テーブルのほとんどの主キーに... 最近、あるプロジェクトのデータモデルをレビューして驚いた。マスター系テーブルのほとんどの主キーに「発効日」が含まれていたからだ。たしかに、レコードの有効期間をそのように管理することはある。しかしそこまで徹底されると異様だし、明らかな問題を含んでいた。あらためて「発効日」を主キーに含むモデリングについて考えてみたい。 まずは、発効日を含む「まとも」なモデリング例を見よう。図1では、{仕入先ID,商品ID,発効日}の組み合わせに「契約単価」が関数従属している。発注管理ではありきたりなシステム要件だ(発効年月を用いるほうが自然なのだが、ここではテーマに沿って発効日にしてある)。 図1.発効日を含むまともなモデル 契約仕入単価テーブル上の「失効日」は、同一の{仕入先ID+商品ID}を持つレコード群の中で、当該レコードの発効日に後続する発効日が代入される論理フィールド(仮想フィールド)である。また、