如何使用动态编号创建表。用于数据输入的列

时间:2009-07-20 11:16:57

标签: sql sql-server schema

我目前正在开发一个项目,我需要根据活动数量来保存数据。物品。

它就像..

商店可以包含任何可以从管理员后端动态添加或减少的项目。每个项目都可以激活或停用。没问题。

但我需要管理/保存这些动态n号。每个商店的表格中的项目。我无法决定表格架构。

任何帮助都将受到高度赞赏。

3 个答案:

答案 0 :(得分:4)

我建议使用中间表的标准多对多关系。所以你会使用3个表:

  • StoresTable:商店列表
  • ItemsTable:项目列表
  • StoreItemsTable:商店中的商品列表,每行都有商店表和商品表的外键

希望有所帮助。

答案 1 :(得分:3)

如果你使用不同的方法,你的问题实际上并不那么难。

商店可以有多个商品。因此,Susi的商店基本上有1个项目,但突然间她想要2个,你想添加一个专栏。如果她突然想要添加2000件物品,这将非常困难。

最好的方法是使用商店表(具有商店名称,创建日期和主键)和商品表。然后,您可以将项目作为条目添加到表中,并通过商店主键将它们链接到商店。

一个例子:

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的项目作为答案。

祝你好运!

答案 2 :(得分:0)

我认为您使用活动列并将该活动位用于各种目的,因为这对其他事务中的未来也非常​​有利。