Pra*_*ngh 1 mysql database database-design relational-database database-management
我正在开发一个推荐引擎,因此需要存储大量数据并跟踪用户所做的每一步。因此,基本上我的网站是一个产品搜索引擎,并且将具有作为用户数据的查询集。以下是数据集的一些示例
例
User1 :
1. Apple Ipod tOuch
2. Samsung Galaxy Ace Plus
3. HArry Porter
User2 :
1. Product1
2. Product2
Run Code Online (Sandbox Code Playgroud)
等等。
一种方式(天真)可能是让一个ID与我的每个用户相关联,然后有一个与该ID相对应的字符串,该字符串将具有这种形式(字符串用分隔~):
Unique ID - Apple IPod TOuch~Samsung Galaxy Ace Plus~HArry Porter
Run Code Online (Sandbox Code Playgroud)
但是考虑到以后我将如何处理这些数据,此方法效率不高。
任何人都可以提出一种非常容易在mysql中实现的非常有效的模型吗?
如果不清楚我的疑问,请发表评论。
经典的设计为用户提供了一张桌子:
Users(user_id,user_name,reg_date....)
Run Code Online (Sandbox Code Playgroud)
产品表:
Products(prod_id,prod_name,prod_cost....)
Run Code Online (Sandbox Code Playgroud)
映射用户的表->产品:
User_products(user_id,prod_id ....)
Run Code Online (Sandbox Code Playgroud)
范例:
用户数:
user_id|user_name
1200 | User1
7856 | User2
Run Code Online (Sandbox Code Playgroud)
产品:
prod_id | prod_name
12900 | Apple Ipod tOuch
45673 | Samsung Galaxy Ace Plus
99876 | HArry Porter
34590 | Product1
56283 | Product2
Run Code Online (Sandbox Code Playgroud)
用户产品:
user_id | prod_id
1200 |12900
1200 |45673
1200 |99876
7856 |34590
7856 |56283
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
219 次 |
| 最近记录: |