【问题标题】:How do create table with dynamic no. of columns for data entry如何创建具有动态编号的表。数据输入的列数
【发布时间】:2010-11-12 06:49:05
【问题描述】:

我目前正在做一个项目,我需要根据活动编号保存数据。项目。

就像..

商店可以有 n 个可以从管理后端动态添加或减少的项目。每个项目都可以被激活或停用。没问题。

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

我们将不胜感激。

【问题讨论】:

    标签: sql sql-server schema


    【解决方案1】:

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

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

    希望对您有所帮助。

    【讨论】:

      【解决方案2】:

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

      一家商店可以有许多商品。所以基本上 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 的所有物品作为答案。

      祝你好运!

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 2021-03-12
          • 2010-10-28
          • 2021-12-02
          • 1970-01-01
          • 2015-07-28
          • 1970-01-01
          • 2013-02-23
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多