正在寻找使用PHP和MySQL存储表的更好方法
我是PHP和MySQL新手,需要帮助解决我面临的一个问题。我正在尝试创建一个更干净的表,然后执行以下操作: 表格示例 项目|部分|数量 项目1 | 123 | 2 项目1 | 124 | 2 项目2 | 123 | 1 项目2 | 125 | 3 我可以用一个普通的表来实现这一点,但我可以想象数据库中有大量重复数据的重复行。例如,我多次使用Item1来标识每个零件 我想知道是否有更干净的方法将这些数据存储在我的数据库中?我将使用PHP将数据存储到MySQL中。我也希望使项目列独特的,但因为它的立场,不能这样做 我研究了serialize、join和数组,但我不知道如何使它们都适合,所以我想在这里问一下。最终结果将是一份PHP报告,其中说: 第1项使用以下部分 第123部分:数量2 第124部分:数量2 第2项使用以下部分 第123部分:数量1 第125部分:数量3正在寻找使用PHP和MySQL存储表的更好方法,php,mysql,join,serialization,Php,Mysql,Join,Serialization,我是PHP和MySQL新手,需要帮助解决我面临的一个问题。我正在尝试创建一个更干净的表,然后执行以下操作: 表格示例 项目|部分|数量 项目1 | 123 | 2 项目1 | 124 | 2 项目2 | 123 | 1 项目2 | 125 | 3 我可以用一个普通的表来实现这一点,但我可以想象数据库中有大量重复数据的重复行。例如,我多次使用Item1来标识每个零件 我想知道是否有更干净的方法将这些数据存储在我的数据库中?我将使用PHP将数据存储到MySQL中。我也希望使项目列独特的,但因为它的立
任何帮助都将不胜感激。您的物品和零件之间存在多对多关系 所以您需要3个表(item、part和link\u item\u part) 项目表将有一个id作为主键。同样适用于零件表。您的link\u item\u part表将有一个复合主键,它由两个外键生成,一个在item上,另一个在part上
-- item table
| id | name |
+----+--------+
| 1 | Item 1 |
| 2 | Item 2 |
-- part table
| id | name |
+----+------+
| 1 | 123 |
| 2 | 124 |
| 3 | 125 |
-- link_item_part
| item_id | part_id | quantity |
+---------+---------+----------+
| 1 | 1 | 2 |
| 1 | 2 | 2 |
| 2 | 1 | 1 |
| 2 | 3 | 3 |
编辑:如果要使用查询操作数据,请不要以非数据库本机格式存储数据。如果您以非本机格式存储数据,您将很难对其进行操作,而且速度会很慢。您的项目和部件之间存在多对多关系 所以您需要3个表(item、part和link\u item\u part) 项目表将有一个id作为主键。同样适用于零件表。您的link\u item\u part表将有一个复合主键,它由两个外键生成,一个在item上,另一个在part上
-- item table
| id | name |
+----+--------+
| 1 | Item 1 |
| 2 | Item 2 |
-- part table
| id | name |
+----+------+
| 1 | 123 |
| 2 | 124 |
| 3 | 125 |
-- link_item_part
| item_id | part_id | quantity |
+---------+---------+----------+
| 1 | 1 | 2 |
| 1 | 2 | 2 |
| 2 | 1 | 1 |
| 2 | 3 | 3 |
编辑:如果要使用查询操作数据,请不要以非数据库本机格式存储数据。如果您以非本机格式存储数据,您将很难对其进行操作,而且速度会很慢。请阅读:Marc B是正确的,解决问题的第一步是数据库体系结构。对于你想要实现的目标,你需要规范化你的数据库。阅读以下内容:Marc B是正确的,解决问题的第一步是数据库架构。对于您试图实现的目标,您将需要规范化您的数据库。