回答編集履歴
4
微修正
answer
CHANGED
@@ -10,10 +10,10 @@
|
|
10
10
|
```
|
11
11
|
users(利用者マスタ):●user_id,user_name
|
12
12
|
business(店舗マスタ) : ●business_id,shop_name
|
13
|
-
review(投稿トランザクション): ●user_id,●
|
13
|
+
review(投稿トランザクション): ●user_id,●review_date,business_id,tip_id
|
14
|
-
tip(口コミトランザクション):●
|
14
|
+
tip(口コミトランザクション):●tip_id,●seq_no,tip_text,stars
|
15
15
|
```
|
16
16
|
|
17
17
|
このように整理できそうですね。こうすれば、ボブとアレックスが同じ店に対してコメントしていることが一目瞭然です。もし、一回あたり一コメント限定なら、訪問トランザクションと口コミトランザクションは集約できます。
|
18
18
|
|
19
|
-
こうやって、あとは
|
19
|
+
こうやって、あとは`review`に対して**user_id**と**business_id**でグループ化して、それぞれの個数をカウントしてソートすれば、一番多い類似の嗜好パターンが取得できるはずです。
|
3
更に元に即して
answer
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
|
3
3
|
で、口コミサイトのような今回のテーブルの設計です(●は主キー)。カラム名はある程度自分で補完しています。
|
4
4
|
要点を整理しましょう。
|
5
|
-
- userは、ある時間に任意の店舗
|
5
|
+
- userは、ある時間に任意の店舗へ投稿する。
|
6
|
-
- userは
|
6
|
+
- userは口コミを投稿し、スター数で評価できる
|
7
7
|
|
8
8
|
なので、
|
9
9
|
|
10
10
|
```
|
11
|
-
users
|
11
|
+
users(利用者マスタ):●user_id,user_name
|
12
|
-
business
|
12
|
+
business(店舗マスタ) : ●business_id,shop_name
|
13
|
-
|
13
|
+
review(投稿トランザクション): ●user_id,●visit_date,business_id,record_id
|
14
|
-
|
14
|
+
tip(口コミトランザクション):●record_id,●seq_no,tip_text,stars
|
15
15
|
```
|
16
16
|
|
17
17
|
このように整理できそうですね。こうすれば、ボブとアレックスが同じ店に対してコメントしていることが一目瞭然です。もし、一回あたり一コメント限定なら、訪問トランザクションと口コミトランザクションは集約できます。
|
2
ひもづけ
answer
CHANGED
@@ -8,12 +8,12 @@
|
|
8
8
|
なので、
|
9
9
|
|
10
10
|
```
|
11
|
-
利用者マスタ:●user_id,user_name
|
11
|
+
users:利用者マスタ:●user_id,user_name
|
12
|
-
店舗マスタ : ●business_id,shop_name
|
12
|
+
business:店舗マスタ : ●business_id,shop_name
|
13
|
-
訪問トランザクション: ●user_id,●visit_date,business_id,record_id
|
13
|
+
reviews:訪問トランザクション: ●user_id,●visit_date,business_id,record_id
|
14
|
-
口コミトランザクション:●record_id,●seq_no,tip_text,stars
|
14
|
+
tips:口コミトランザクション:●record_id,●seq_no,tip_text,stars
|
15
15
|
```
|
16
16
|
|
17
17
|
このように整理できそうですね。こうすれば、ボブとアレックスが同じ店に対してコメントしていることが一目瞭然です。もし、一回あたり一コメント限定なら、訪問トランザクションと口コミトランザクションは集約できます。
|
18
18
|
|
19
|
-
こうやって、あとはuser_id&business_idでグループ化して、それぞれの個数をカウントしてソートすれば、一番多い類似の嗜好パターンが取得できるはずです。
|
19
|
+
こうやって、あとはreviewsに対してuser_id&business_idでグループ化して、それぞれの個数をカウントしてソートすれば、一番多い類似の嗜好パターンが取得できるはずです。
|
1
疑問文に即して
answer
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
利用者マスタ:●user_id,user_name
|
12
12
|
店舗マスタ : ●business_id,shop_name
|
13
13
|
訪問トランザクション: ●user_id,●visit_date,business_id,record_id
|
14
|
-
口コミトランザクション:●record_id,●seq_no,
|
14
|
+
口コミトランザクション:●record_id,●seq_no,tip_text,stars
|
15
15
|
```
|
16
16
|
|
17
17
|
このように整理できそうですね。こうすれば、ボブとアレックスが同じ店に対してコメントしていることが一目瞭然です。もし、一回あたり一コメント限定なら、訪問トランザクションと口コミトランザクションは集約できます。
|