generated at
シングル世代テーブルパターン



tableに 適用開始日 適用終了日 を持たせる設計
主キーは、 id 適用終了日 になる
これ単体で使うとかなりやりづらい
登録時に必ず 適用開始日 適用終了日 を指定しないといけない
例えば税率を加味したりすると、 適用終了日 なんて分かるはずがない
従って、NULLだったり、適当な未来の日付が入れられてしまう
SQLで取得する際に面倒
常に 適用開始日 適用終了日 のbetweeenを指定しないといけない
使っても良さげなケース
ここの図、 販売予定価格 に適用終了日とか要らなくない?mrsekut
データを、過去と未来に分けて、過去の方だけをシングル世代テーブルパターンを使う
OrderLineが新規作成された時に、
PriceHistory tableのデータを見て(なければ作る)、それと紐付ける
「現在の価格」は普通に product tableを見ればいい
価格を変更したいときは、 product tableをそのまま更新するだけでいい
product の構造が複数種類ある場合は、 history 系のtableもそれだけ増えちゃう?








『WEB+DB PRESS Vol.130』 p.28のシングル世代テーブルパターンの商品価格tableって何で「主キーが商品IDと適用開始日」の2つになるの?
p.29の図5では、「商品価格ID」を振っているように同じようにそうしたらなにか問題が起きるの?
図4と図5で商品価格tableの主キーが異なる理由がわからない


参考
ここでは悪い例として挙げられている