gpt4 book ai didi

c# - 在不创建 100 个表的情况下存储来自表单的数据 : ASP. NET 和 SQL Server

转载 作者:行者123 更新时间:2023-11-30 19:49:50 24 4
gpt4 key购买 nike

我先描述一下情况。我们每年都会举办许多校友事件,并为每个事件提供在线注册表格。每个事件都有大量通用数据:

  1. 包含日期、时间、经理、内部账单信息等的事件。
  2. 注册记录,其中包含有关付款信息和每次提交表格收取的总金额
  3. 有关 1 名或多名与会者的生物/人口统计和校友数据(姓名、地址、学位等)

如您所料,我们将上述所有数据存储在表格的列中。

麻烦来 self 们被要求放在表格上的“额外”字段。也许这是一顿晚餐,有素食或肉食选择,也许有住宿,有床或吸烟选择,或者可能有可选的交通选择。有很多奇怪的小东西“你能把这个加到表格里吗?”我们收到的请求类型。

目前,我们对所有非标准数据进行 JSON 化处理,并将其全部存储在一个名为“额外”的列中(每个与会者)。我们可以在代码中读出这些数据,但它不太适合查询。例如,我们的内部员工希望生成一份关于所需素食晚餐的快速报告。

除了为包含特定“额外”数据项的每个表单创建一个单独的表之外,还有其他方法可以让我的生活(和报告)更轻松吗?有人在类似的环境中工作吗?

最佳答案

这实际上是最难有效解决的问题之一。 SQL Server 客户咨询团队专门针对该主题编写了白皮书,我强烈建议您阅读:Best Practices for Semantic Data Modeling for Performance and Scalability .

你基本上有 3 个选择:

每个解决方案都有起伏。出于我的考虑,我想说 XML 可能是能够在功能和灵 active 之间取得最佳平衡的一种,但最佳解决方案实际上取决于许多因素,例如数据集大小、创建新属性的频率、创建-填充-使用这些属性等的实际过程(人工运算符(operator)),而不是至少您的团队技能集(有些人可能更适合使用 EAV 解决方案,有些人可能更适合使用 XML 解决方案)。如果属性是在中央机构下创建/管理的,并且添加新属性是合理的罕见事件,那么稀疏列可能是更好的答案。

关于c# - 在不创建 100 个表的情况下存储来自表单的数据 : ASP. NET 和 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3346428/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com