回答編集履歴
1
修正
test
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
1:n の関係の場合、n側に1のID(やユニークキー)を外部キーとして持たせるのが一般的です。
|
2
|
+
|
3
|
+
(=カートにユーザーIDを持たせる)
|
2
4
|
|
3
5
|
|
4
6
|
|
@@ -7,3 +9,23 @@
|
|
7
9
|
(想像ですが)ユーザーテーブルはユーザーに関わる情報の中心的なテーブルであり、ユーザーテーブルに連携先のテーブルのIDを持たせた場合、
|
8
10
|
|
9
11
|
今後連携するテーブルが増えた場合にフィールドを追加する必要が発生してしまうので色々大変なのでやはりカート側に持たせた方が良いです。
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
---
|
16
|
+
|
17
|
+
揚げ足とりみたいになりますが、質問中でユーザーテーブルに持たせようとしているカートIDはカートテーブル内でユニークでは無いので、IDと呼べないものになっています。(この辺、すでに設計に無理が出ているように思います)
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
もしカートがデータの中心になるようなアプリケーション設計(複数人でカートを共有できるとか)なのであれば
|
22
|
+
|
23
|
+
- ユーザーテーブル(カートIDを外部キーに持つ)
|
24
|
+
|
25
|
+
- カートテーブル
|
26
|
+
|
27
|
+
- アイテムテーブル(カートIDを外部キーに持つ)
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
みたいな感じかなあ。。。
|