【发布时间】:2012-10-24 06:06:35
【问题描述】:
我正在开发一个推荐引擎,因此需要存储大量数据并跟踪用户的一举一动。所以,基本上我的网站是一个产品搜索引擎,将有一组查询作为用户数据。以下是数据集的一些示例
例子
User1 :
1. Apple Ipod tOuch
2. Samsung Galaxy Ace Plus
3. HArry Porter
User2 :
1. Product1
2. Product2
等等。
一种方法(天真)可能是拥有一个与我的每个用户相关联的 ID,然后拥有一个与该 ID 对应的字符串,该字符串将采用这种形式(字符串以 ~ 分隔):-
Unique ID - Apple IPod TOuch~Samsung Galaxy Ace Plus~HArry Porter
但考虑到我以后将如何处理这些数据,这种方法效率不高。
任何人都可以想出一个在mysql中相当容易实现的非常有效的模型吗?
如果我的疑问不清楚,请发表评论。
【问题讨论】:
-
你读过任何关于关系数据库和规范化的文章吗?
-
@RemusRusanu 还没有,但告诉我,我会完成的。谢谢:)
-
你的方法打破了第一范式。小心这里有龙。如果您确实需要像这样存储数据,那么 NoSQL 替代方案可能更适合您的需求。就像 Remus 提到的,请检查关系数据库的规范化形式以及它们存在的原因。
-
以en.wikipedia.org/wiki/Database_normalization 开头。按照维基百科文章末尾列出的链接进行操作。
标签: mysql database database-design relational-database database-management