teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

微修正

2019/11/25 06:07

投稿

FKM
FKM

スコア3662

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,●visit_date,business_id,record_id
13
+ review(投稿トランザクション): ●user_id,●review_date,business_id,tip_id
14
- tip(口コミトランザクション):●record_id,●seq_no,tip_text,stars
14
+ tip(口コミトランザクション):●tip_id,●seq_no,tip_text,stars
15
15
  ```
16
16
 
17
17
  このように整理できそうですね。こうすれば、ボブとアレックスが同じ店に対してコメントしていることが一目瞭然です。もし、一回あたり一コメント限定なら、訪問トランザクションと口コミトランザクションは集約できます。
18
18
 
19
- こうやって、あとはreviewsに対してuser_id&business_idでグループ化して、それぞれの個数をカウントしてソートすれば、一番多い類似の嗜好パターンが取得できるはずです。
19
+ こうやって、あとは`review`に対して**user_id**と**business_id**でグループ化して、それぞれの個数をカウントしてソートすれば、一番多い類似の嗜好パターンが取得できるはずです。

3

更に元に即して

2019/11/25 06:07

投稿

FKM
FKM

スコア3662

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:利用者マスタ:●user_id,user_name
11
+ users(利用者マスタ):●user_id,user_name
12
- business:店舗マスタ : ●business_id,shop_name
12
+ business(店舗マスタ) : ●business_id,shop_name
13
- reviews:訪問トランザクション: ●user_id,●visit_date,business_id,record_id
13
+ review(投稿トランザクション): ●user_id,●visit_date,business_id,record_id
14
- tips:口コミトランザクション:●record_id,●seq_no,tip_text,stars
14
+ tip(口コミトランザクション):●record_id,●seq_no,tip_text,stars
15
15
  ```
16
16
 
17
17
  このように整理できそうですね。こうすれば、ボブとアレックスが同じ店に対してコメントしていることが一目瞭然です。もし、一回あたり一コメント限定なら、訪問トランザクションと口コミトランザクションは集約できます。

2

ひもづけ

2019/11/25 06:03

投稿

FKM
FKM

スコア3662

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

疑問文に即して

2019/11/25 06:02

投稿

FKM
FKM

スコア3662

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,comment,stars
14
+ 口コミトランザクション:●record_id,●seq_no,tip_text,stars
15
15
  ```
16
16
 
17
17
  このように整理できそうですね。こうすれば、ボブとアレックスが同じ店に対してコメントしていることが一目瞭然です。もし、一回あたり一コメント限定なら、訪問トランザクションと口コミトランザクションは集約できます。