【问题标题】:How are database scenario based applications developed?基于数据库场景的应用程序是如何开发的?
【发布时间】:2014-03-17 09:46:04
【问题描述】:

您正在构建一个使用数据库的应用程序。例如,它是一种营销/销售软件。该应用程序允许用户创建场景,一个用户可以选择不同的路径来提高公司的销售额,其他用户可以选择另一条路径。每个用户的场景都保存在数据库中,他们可以随时从数据库中加载他们的场景并继续工作。 问题是:应用程序如何改变数据库?例如,有一个表“sales”。用户 1 有一个场景,他在“销售”表中的值不同,用户 2 的值可能完全不同。 应用程序会为每个场景创建不同的销售表副本吗?比如sales_scenario_1sales_sceneario_2? 这些应用程序是如何构建的?

【问题讨论】:

  • 我绝不会将更改数据库模型作为正常应用程序使用的一部分。
  • 从简短的描述来看,您似乎需要在表和查询中添加一个“场景”ID。
  • 这不会使表格太大吗?如果 1 个场景有 2000 行,那么 5 个场景将有 10000 行

标签: database database-design architecture scenarios


【解决方案1】:

您创建一个具有动态值的表:

sales
  ID,
  ...

sales_properties
  sales_FK,
  name,
  value

我永远不会在正常的应用程序使用中更改数据库结构。您将无法处理不同的数据库模型。

【讨论】:

  • 动态值是什么意思?您是否在每个包含用户或场景 ID 号的表中添加一个额外的列?
  • 您可能需要一个存储场景的表和可用的属性名称列表。 sales_properties 保存这些值。您可能需要在某些表上使用场景 ID。这都是特定于应用程序的。
猜你喜欢
  • 1970-01-01
  • 2011-05-29
  • 1970-01-01
  • 2011-07-04
  • 1970-01-01
  • 2020-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多