2017-02-21 89 views
0

我有一個表tc_res_rating,看起來像這樣:數據庫表設計參數表和審覈表評級

| user_id | res_id | rating | review_id | post_date (CURRENT_TIMESTAMP)| 
| 1 | 13 | 4.0 | 3  | 2016-12-14 17:02:12   | 
| 2 | 6 | 3.5 | NULL | 2016-12-19 20:55:24   | 

和另一個表tc_res_reviews看起來像:

| review_id | res_id | user_id | review |  date_created | 
|  3  | 13 | 1 | [BLOB - 4 B] | 2016-12-14 17:02:12 | 

用戶可以創建評級對於沒有評論的餐廳,

所以評級數據將直接插入tc_res_ratingreview_id NULL。

用戶還可以插入審查與鏈接到審查評級的餐廳,

所以審查插入tc_res_reviews和評級插入tc_res_ratingreview_id

這是爲右表模式這種情況?

+0

看起來不錯。鑑於你已經在兩個表中都有餐廳ID和用戶ID,評論似乎是多餘的 – Strawberry

+0

@yeh你的主鍵是什麼?審查是否存在沒有評分? – reaanb

+0

我不認爲你需要兩張表,你可以使用一張也應該包含'review'列的表。如果有人不想撰寫評論,請將其保留爲空。 –

回答

0

你可以做的一件事是確保從tc_res_reviews表中刪除重複列(res_id和user_id)。

我可以完全刪除tc_res_reviews表,因爲我們可以在tc_res_rating表中保存自己的評論。我相信一個用戶只能給一家餐廳評論一次。

可以允許列審查NULL,所以想要對餐廳評分的用戶可以節省餐館評分。