回答編集履歴
2
Fix
test
CHANGED
@@ -38,6 +38,6 @@
|
|
38
38
|
|
39
39
|
既にご認識かと思いますが、ある商品が過去に何度か注文された後に、その商品の価格が変わったり、その商品が廃番になったりと、商品と注文のライフサイクルは異なります。
|
40
40
|
|
41
|
-
このように、**ライフサイクルの異なるエンティティ同士はリレーションを張ら
|
41
|
+
このように、**ライフサイクルの異なるエンティティ同士はリレーションを張らない**というのが設計的にはベストと言えるでしょう。
|
42
42
|
|
43
43
|
ただ、使用しているアプリケーションフレームワークで、リレーションを張らないといけない等の制約がありましたら、この限りではありません。
|
1
補足
test
CHANGED
@@ -28,4 +28,16 @@
|
|
28
28
|
|
29
29
|
|
30
30
|
|
31
|
-
なので、注文された商品情報は、非正規化した注文関連のテーブルに、注文時点の情報をそのまま保持するのが良いという考えになります。
|
31
|
+
なので、注文された商品情報は、非正規化した注文関連のテーブルに、**注文時点の情報をそのまま保持する**のが良いという考えになります。
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
##### 補足
|
36
|
+
|
37
|
+
少し言葉足らずだったようなので補足。
|
38
|
+
|
39
|
+
既にご認識かと思いますが、ある商品が過去に何度か注文された後に、その商品の価格が変わったり、その商品が廃番になったりと、商品と注文のライフサイクルは異なります。
|
40
|
+
|
41
|
+
このように、**ライフサイクルの異なるエンティティ同士はリレーションを張らずに非正規化する**というのが設計的にはベストと言えるでしょう。
|
42
|
+
|
43
|
+
ただ、使用しているアプリケーションフレームワークで、リレーションを張らないといけない等の制約がありましたら、この限りではありません。
|