鍍金池/ 問答/HTML5  PHP  HTML/ 一般的收藏夾 數(shù)據(jù)表怎么設計?

一般的收藏夾 數(shù)據(jù)表怎么設計?

假設這么設計 id(int),user_id(int),collected_id(int)

如果有十萬個用戶,每個用戶收藏5個東西,那么有很多冗余數(shù)據(jù)啊
我的想法是將收藏的商品id 保存成字符串 逗號分隔;

1.我設計的表: user_id int, collected_id varchar(xx) -----1,'1,2,3,4'

回答
編輯回答
痞性

前者好。
后者實現(xiàn)起來麻煩,而且有些業(yè)務邏輯很難實現(xiàn),比如你要看某個商品被收藏多少次。

2017年2月16日 21:30
編輯回答
負我心

建議看看sql反模式 非常清楚的分析了 你這種設計數(shù)據(jù)庫的不足

2017年8月17日 18:25
編輯回答
刮刮樂

我覺得沒必要

1.不容易查詢商品有哪些用戶收藏
2.如果收藏的商品數(shù)量很大需要分頁處理也很繁瑣

2018年5月30日 14:49
編輯回答
你的瞳

數(shù)據(jù)庫范式是曾經(jīng)空間很昂貴的情況下提出的,不一定非要按數(shù)據(jù)庫范式來設計,冗余也是可以的

2017年11月4日 16:51
編輯回答
孤毒

照你的意思,用戶表也設計二三十個字段,什么地址電話簡介等等都放一個表??還是用逗號分隔放在一個字段里??

2018年8月10日 21:22
編輯回答
厭惡我

用逗號分割開來不方便統(tǒng)計數(shù)據(jù),或者用戶對收藏進行增刪改查。
還是每一條數(shù)據(jù)單獨一條。然后如果覺得數(shù)據(jù)太多統(tǒng)計起來耗費時間長,可以單獨新建一個統(tǒng)計表,一個用戶一條數(shù)據(jù)。每次增刪對表數(shù)據(jù)進行+1 -1.

2017年3月16日 11:16