【发布时间】:2010-11-12 06:49:05
【问题描述】:
我目前正在做一个项目,我需要根据活动编号保存数据。项目。
就像..
商店可以有 n 个可以从管理后端动态添加或减少的项目。每个项目都可以被激活或停用。没问题。
但我需要管理/保存这些动态 n 不。每个商店的表中的项目。我无法决定表架构。
我们将不胜感激。
【问题讨论】:
标签: sql sql-server schema
我目前正在做一个项目,我需要根据活动编号保存数据。项目。
就像..
商店可以有 n 个可以从管理后端动态添加或减少的项目。每个项目都可以被激活或停用。没问题。
但我需要管理/保存这些动态 n 不。每个商店的表中的项目。我无法决定表架构。
我们将不胜感激。
【问题讨论】:
标签: sql sql-server schema
我建议使用中间表建立标准的多对多关系。所以你会使用 3 个表:
希望对您有所帮助。
【讨论】:
如果您使用不同的方法,您的问题实际上并不难。
一家商店可以有许多商品。所以基本上 Susi 的商店有 1 件商品,但突然她想要 2 件商品,而您想添加一列。如果她突然想加2000件,这很困难。
最好的方法是使用商店表(其中包含商店的名称、创建日期和主键)和项目表。然后,您可以将项目作为条目添加到表中,并通过 stores 主键将它们链接到 store。
一个例子:
Store table:
PK Name Owner
1 Sunshine Store Susi
2 Moonstore Harald
Item table:
PK Name Store_id Price
1 Candle 1 2.44
2 Table 1 51.44
3 Chair 2 6.55
这允许您将任意数量的商品添加到您想要的任何商店。 Store_id 在此示例中称为外键,因为它将项目链接到商店。然后,您可以使用 SQL 命令来选择项目,例如
"Select * from ITEMS where Store_id = 1;"
并得到 Susi 的所有物品作为答案。
祝你好运!
【讨论】:
我认为您使用活动列并将该活动位用于各种目的,因为这对其他交易的未来也非常有利。
【讨论】: