Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 具有非固定列的SQL Server表设计_Sql Server_Tsql - Fatal编程技术网

Sql server 具有非固定列的SQL Server表设计

Sql server 具有非固定列的SQL Server表设计,sql-server,tsql,Sql Server,Tsql,我需要你帮忙设计一张桌子 我有一些groups表,我们需要从包含列名和数据的xml文件中加载该组表中的数据 列名实际上是某些主列的索引,如activity\u col1、activity\u col2等,并且不是每次都固定的,有时同一个表文件可能包含1000列,有时还定义了10列值,有时还定义了最大限制,因此没有文件包含超过 每组2000列 因此,我需要设计一个表,这是最好的解决方案,这也是我需要做的列值聚合。这些文件包含最小级别的数据,我需要将这些数据存储在最小表中,然后这些最小数据需要在一小

我需要你帮忙设计一张桌子

我有一些groups表,我们需要从包含列名和数据的xml文件中加载该组表中的数据

列名实际上是某些主列的索引,如
activity\u col1
activity\u col2
等,并且不是每次都固定的,有时同一个表文件可能包含1000列,有时还定义了10列值,有时还定义了最大限制,因此没有文件包含超过 每组2000列

因此,我需要设计一个表,这是最好的解决方案,这也是我需要做的列值聚合。这些文件包含最小级别的数据,我需要将这些数据存储在最小表中,然后这些最小数据需要在一小时、一天、一周和一个月内聚合

如果我在所有表中创建max列,但数据不会每次都出现在所有列中,那么这种设计似乎不好,因为大多数值都是空的

如果我在column\u name列中插入列名作为行,并在values列中针对每个列值插入值,那么聚合对我来说将是一项繁琐的任务 这将影响性能

请建议。

一个选项是,但它的构建、查询和插入更加复杂,可读性非常低

您需要无模式设计,允许不限列数, 您最好的选择可能是使用解决方案。尽管
EAV
相对于关系数据库的弱点也适用于
NoSQL
替代方案

请看这里:

建议(作为优先事项):

  • 如果您使用的是关系数据库,并且这是 将整张桌子或一部分(在另一张桌子上)翻转过来 (桌子)在它的一边。如果您已经有一个 关系数据库是内部数据库,您不能轻易离开它
  • 选择
    NoSQL
    ,如果对您来说,什么样的
    DBMS
    无关紧要,那么它是非常有用的 灵活快速,不是所有的报告作者都在那里 支持这种存储方式。数据库中有许多示例 NoSQL的实现。最受欢迎的一个 现在是
    MongoDB
  • 最后一个选项是我不建议您使用它

  • 如果不需要,请选择包含
    XML
    列的标准表 查询它们,您只希望以普通方式存储和检索它们 使用一些额外用法的文本
  • 我希望能对您有所帮助:)

    一个选项是,但它的构建、查询和插入更加复杂,可读性非常低

    您需要无模式设计,允许不限列数, 您最好的选择可能是使用解决方案。尽管
    EAV
    相对于关系数据库的弱点也适用于
    NoSQL
    替代方案

    请看这里:

    建议(作为优先事项):

  • 如果您使用的是关系数据库,并且这是 将整张桌子或一部分(在另一张桌子上)翻转过来 (桌子)在它的一边。如果您已经有一个 关系数据库是内部数据库,您不能轻易离开它
  • 选择
    NoSQL
    ,如果对您来说,什么样的
    DBMS
    无关紧要,那么它是非常有用的 灵活快速,不是所有的报告作者都在那里 支持这种存储方式。数据库中有许多示例 NoSQL的实现。最受欢迎的一个 现在是
    MongoDB
  • 最后一个选项是我不建议您使用它

  • 如果不需要,请选择包含
    XML
    列的标准表 查询它们,您只希望以普通方式存储和检索它们 使用一些额外用法的文本

  • 我希望能对您有所帮助:)

    我不完全了解xml文件中有多少种类型的数据。这是一张大单子还是几张不同的单子?您需要每行的最低限额吗?或每段时间内每列的最大值?你们每小时有几排吗?你说“所有表中的最大列数”,但我以为你说的只是一个表。您还可以尝试在中获取帮助。在SQL Server中,您可以将xml数据存储为
    nvarchar(max)
    ,并对其使用xquery-;)。我不完全理解xml文件中有多少种类型的数据。这是一张大单子还是几张不同的单子?您需要每行的最低限额吗?或每段时间内每列的最大值?你们每小时有几排吗?你说“所有表中的最大列数”,但我以为你说的只是一个表。您还可以尝试在中获取帮助。在SQL Server中,您可以将xml数据存储为
    nvarchar(max)
    ,并对其使用xquery-;)。我需要在microsoft sql server中仅使用sql查询进行设计。所以选择第一个选项。它是比SQL Server XML更好的选择。当涉及到数据处理和报告时,
    XML
    数据类型的可访问性远远低于常规表和字段。我需要在microsoft sql server中仅使用sql查询来设计此数据类型。因此选择第一选项。它是比SQL Server XML更好的选择。在数据处理和报告方面,
    XML
    数据类型的可访问性远远低于常规表和字段。