php - 用户-项目关系的数据库设计

标签 php mysql database database-design relational-database

我正在制作一个网站来销售小部件。我有一个小部件表,每个小部件都有一些属性(小部件名称、样式等)。我还有一张供用户使用的表格。小部件具有唯一 ID,用户也具有与之关联的唯一 ID。

我的用户想开始向他们的帐户“添加”小部件。每个小部件都可以添加给无限数量的用户。所以我的问题是我应该制作一个表,让我们称之为 User_Widget,将 UserID 与 WidgetID 相关联吗?

我想到的另一种方法是在 User 表中有一列以逗号分隔值(WidgetID1xQuantity、WidgetID2xQuantity 等)。如果我标准化这种格式,我可以使用 php 来解析它并将它们分解成一个数组,然后可以交叉引用以从 Widget 表中提取信息。

哪个练习更快/更好?如果我使用 User_Widget 方法,如果不止一个用户添加相同的小部件,会发生什么情况?我只会有两个条目吗?这不会增加额外的开销吗?

小工具 |用户 宽度1 |用户1 宽度1 |用户2

搜索这些(使用 JOIN 等)会比其他方法慢吗?

在此先感谢您的帮助。

丹尼尔。

最佳答案

我推荐有关系的新表
它会工作得更快

关于php - 用户-项目关系的数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5115435/

相关文章:

mysql - 从包含零的行中获取最大值,负数

php - 存储基于日期的可用性的最有效方法是什么

android - 基于 REST 的客户端-服务器同步

ios - 更新应用程序后,应用程序在 sqlite 上崩溃

php - Laravel 4 - 不返回被调用方法时从存储库重定向

php - 处理复杂的数据结构值

javascript - 以表单形式传递所有选项值

php - 如何强制列别名为特定数据类型?

php - mySQL 查询,分组依据然后按最近分组的顺序排序?

php - 在 PHP 的 OOP 编程中设置我的类的正确方法是什么?