Php Mysql数据库设计结构

Php Mysql数据库设计结构,php,mysql,database,Php,Mysql,Database,插入记录时,哪种数据库设计更好 **Option 1.** uid|itemid| qty | price | amount 1 |13| 2 | 100 |200 **Option 2.** uid| itemid| qty | price | amount 1 |13| 1 | 100 | 100 2 |13| 1 | 100 | 100 在选项2中,然后通过mysql查询检索行,并使用id进行计算…看起来您希望保留订购的每个商品的原始价格。我要做的是使用选项1,然后在表

插入记录时,哪种数据库设计更好

**Option 1.**
uid|itemid| qty | price | amount
1  |13| 2  |  100    |200

**Option 2.**
uid| itemid| qty | price | amount
1  |13| 1 | 100 | 100
2  |13| 1 | 100 | 100

在选项2中,然后通过mysql查询检索行,并使用id进行计算…

看起来您希望保留订购的每个商品的原始价格。我要做的是使用选项1,然后在表中创建另一列,该列包含一个字符串,用于标识订单中的每个项目


例如,如果我在卖水果,香蕉可以有
iZ
作为唯一的键。苹果可以将
6U
作为唯一的钥匙。当用户下订单时,这些唯一键将插入到新列中。因此,当你看到本专栏的数据是iZ6U时,你就会知道用户点了一个苹果和一个香蕉。

第一个。。。这正是MySQL优化的目的。确实是第一个,但是如果总是数量*价格,就忽略了“数量”——除非你要做的是通过大约搜索我们的订单(在这种情况下,保留它并索引它)。第二个表有缺陷,因为没有键。没有键的表在很大程度上是一个危险信号。即使添加一个“LineNo”也足以限定一个键。尽管如此,感觉好像缺少了一些背景。请详述类型、关系和角色(至少对你自己而言)。-1是一个非常模糊的标题。更新到相关的内容,我将删除否决票。(例如,“存储客户订单的表模式?”或任何合适的选项)我暂时删除了我的答案,因为我意识到“id”是不明确的。这是一件物品、一次拍卖还是其他身份证?如果您指出这是用来存储什么数据,那就好了。