我在Mysql中有一个如下所示的表:
Name Slot_1 Slot_2 Slot_3
------ ------ ------ --------
MyName MyItem
MyName2
我有这个应用程序与界面购买一些产品。当客户端“MyName”在应用程序中购买时,它会将其存储在“Slot_2”中,因为已经使用了“Slot_1”;另一方面,如果MyName2购买相同的产品,它将存储在Slot_1上,因为它是第一个找到的空闲插槽。我搜索了几个链接,但我找到的只是如何更新找到的第一个空行,而不是列。
注意:该应用程序是在VB.net中制作的,所以如果你认为做这个应用程序级别会更好,请随意发表评论。 注2:这是我发现做“库存”的最佳数据库设计。如果您认为有更好的方法,请指出我。
答案 0 :(得分:1)
这真是一个糟糕的设计。我真的建议阅读有关构建关系数据库的基本知识。
说唯一正确的方法是至少有三个表
第一个表包含客户信息
IDCustomer Name Address City
---------- ------ ------ --------
1 Steve XXXX YYYY
2 Andre KKKK ZZZZ
第二个表格包含可以出售的物品
IDItem Item Price
---------- ------ ------
1 Apple 1
2 Orange 2
第三个表将客户与销售的商品链接
IDItem IDCustomer Quantity
------- ----------- ---------
1 1 5
2 2 10
1 2 3
此外,如果您想要将销售给客户的商品限制为仅三个,那么这是一个不应该由数据库设计强制执行的商业规则。