我有多家商店的数据库。商店里有很多东西,比如衣服、食物、化妆品等等。所以对于每一种商品,它们都是一张桌子,上面摆着商店的细节。
:id,姓名,尺码,价格,颜色,item_id
:id,名称,类型,价格,紧急日期,item_id
化妆品:id、类型、价格、性别、item_id
项目:id、tag、store_id
商店: id,名称
这里的商品与服装、食品、化妆品等有OneToOne关系,商店与商品有OneToMany关系。
现在我只想为商店买衣服和食物之类的东西。但不知道怎么提问。现在,我正在考虑将一个枚举存储到像enum (食品,化妆品.)这样的桌子上。然后用连衣裙把衣服拿来,然后精打细算地去取食物。
在他们的任何方式改变数据库没有这一点,以便我可以查询更好的方式。数据库设计不好吗?这就是我面临问题的原因吗?有更好的方法吗?
发布于 2020-07-29 17:48:36
我认为,如果可以的话,你应该简化数据模型。
然后,如果您想获得一个商店的项目,您可以选择*从其中的项目store_id (选择id从商店的名称= 'MyStore')。如果您想从一家商店获得所有化妆品,它是select *从store_id in的项目(选择id来自商店名称= 'MyStore')和itemType_id in (从ItemType选择id代码=‘化妆品’)
这将使项目目录更改后的维护变得更加容易,因为这意味着在添加新项之前,只需向ItemType添加一行。如果你增加了一家新商店,情况也是一样。
https://stackoverflow.com/questions/63158430
复制相似问题