質問編集履歴

2

edit

2017/03/13 01:06

投稿

xenbeat
xenbeat

スコア4258

test CHANGED
File without changes
test CHANGED
@@ -18,21 +18,23 @@
18
18
 
19
19
 
20
20
 
21
- - 親テーブル
21
+ 親テーブル
22
22
 
23
- - 商品
23
+ - 商品
24
24
 
25
- - 子テーブル
26
25
 
27
- - 注文詳細
28
26
 
29
- - 商品画像
27
+ ■子テーブル
30
28
 
31
- - 商品バリエーション
29
+ - 注文詳細
32
30
 
33
- - 商品レビュー
31
+ - 商品画像
34
32
 
33
+ - 商品バリエーション
34
+
35
+ - 商品レビュー
36
+
35
- - お気に入り商品
37
+ - お気に入り商品
36
38
 
37
39
 
38
40
 

1

tag edit

2017/03/13 01:06

投稿

xenbeat
xenbeat

スコア4258

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
 
14
14
 
15
- 例えばECサイトで、登録した商品情報を物理削除する場合、どのようにアプリケーションで実装するのがベターでしょうか?(子の行が存在する場合は論理削除)
15
+ 例えばECサイトで、登録した商品情報を物理削除する場合、どのようにアプリケーションで実装するのがベターでしょうか?
16
16
 
17
17
  下記のように親テーブル(本件の商品テーブル)に紐づく子テーブルが数多く存在する場合、デッドロックや性能面で問題がでてくる思っています。
18
18
 
@@ -20,19 +20,19 @@
20
20
 
21
21
  - 親テーブル
22
22
 
23
- - 商品(item)
23
+ - 商品
24
24
 
25
25
  - 子テーブル
26
26
 
27
- - 注文詳細(order_detail)
27
+ - 注文詳細
28
28
 
29
- - 商品画像(item_image)
29
+ - 商品画像
30
30
 
31
- - 商品バリエーション(item_variation)
31
+ - 商品バリエーション
32
32
 
33
- - 商品レビュー(item_review)
33
+ - 商品レビュー
34
34
 
35
- - お気に入り商品(customer_item)
35
+ - お気に入り商品
36
36
 
37
37
 
38
38
 
@@ -44,16 +44,16 @@
44
44
 
45
45
  外部キーを使用している環境であれば、例外をキャッチしてハンドリングするのが一般的だと思いますが、本ケースの場合どうするのがベターなのか知りたいです。
46
46
 
47
- 若輩者の自分の知識の中では、下記の方法しか思いつかなくて困っています。
48
47
 
49
- 0. それぞれのテーブルに対して子行の存在確認すると同時にロックを取得(確認後の挿入を防止するため)
50
48
 
49
+ 0. それぞれのテーブルに対して子行の存在確認すると同時にロックを取得(存在しなかった事実確認後のデータ挿入を防止するため)
50
+
51
- 0. もし、全テーブルで子行が存在しなければ親行を物理削除、もし1テーブルでも子行が存在してれば論理削除という単純な方法しか思いつかないです。
51
+ 0. 全テーブルで子行が存在しなければ親行を物理削除、もし1テーブルでも子行が存在してれば論理削除
52
52
 
53
53
 
54
54
 
55
- どん言語でも構ませんのでベターな方法が御座いましたらご教示いただら幸甚です。
55
+ という単純方法しか思つかないのですが、ベターな方法が御座いましたらご教示いただです。
56
56
 
57
57
 
58
58
 
59
- 以上、よろしくお願いします。
59
+ よろしくお願いします。