我有一张表格,其中填写了以下内容:
Nick: SbsNick;
Item: SomeItem1; Price: PriceOfItem1
Item: SomeItem2; Price: PriceOfItem2
Item: SomeItem3; Price: PriceOfItem3
................................
我可以添加具有不同数量输入的项目。这意味着每个尼克可以有不同数量的项目。
我想创建可以查询的数据库
SELECT ? FROM items WHERE Item="SomeItem"
并接收 SomeItem 的所有昵称和价格,即我希望最终得到这样的表格:
Nick |Price
-------------
Jack |20
BlackB |18
Karl |25
.............
我在设计这样的数据库时遇到了问题,因为我觉得我缺少一个额外的维度。如果我想修复表的数量,我发现某些表中需要无限数量的列。如果我想绑定(bind)表和列的数量,我发现单元格的行为必须类似于数组。
是否有一种巧妙的方法来设计这样的数据库?
最佳答案
我认为你需要学习关系数据库。 我不明白你的确切问题是什么。
您需要三个表:
用户、项目、购买
。一个代表用户,另一个代表项目,最后一个代表两者之间的关系。
USERS(ID_USER, NAME, NICK, REGISTER_DATE)
ITEMS(ID_ITEM, DESCRIPTION, PRICE)
PURCHASES(ID_PURCHASE, ID_USER, ID_ITEM, PRICE, PURCHASE_DATE)
我使用了“PURCHASES”这个名称,因为我个人不知道您的问题中用户和项目之间关系的确切性质,可以随意命名第三个表,无论您想要什么。
用户在表 USERS 或表 ITEMS 中进行的每次购买都不需要额外的新列,您只需在表 PURCHASES 中插入一个新行。
关于mysql - 如何设计一个可以添加 Unresolved 项目数的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36381458/