我有一些非结构化数据来描述每个设备的设置。对于例如对于设备1:SQL Server中的XML数据类型?
<ChartSetting xmlns="ChartSetting1">
<ChartSizeX>132.6</ChartSizeX>
<ChartSizeY>132.6</ChartSizeY>
<ChartType>Native</ChartType>
<BarSizeX>90</BarSizeX>
<BarSizeY>6</BarSizeY>
<DistToBar>34.8</DistToBar>
<DistToFirstLineY>17.5</DistToFirstLineY>
<MarkerDistance>120</MarkerDistance>
<DistToFirstField>18.5</DistToFirstField>
<PatchSizeX>7.5</PatchSizeX>
<PatchSizeY>9</PatchSizeY>
</ChartSetting>
然而,对于设备2设置为不同的
<ChartSetting xmlns="ChartSetting2">
<PatchGap>1</PatchGap>
<PatchSize>5</PatchSize>
</ChartSetting>
XML数据不用于查询的目的,它会被传递到.NET应用程序,最终将其发送到devicedriver (通过C++代码) 我们只有四种类型的设备。所以不同设置的可能性是有限的。
这种类型的数据可以存储为类型化的XML吗?如果存储了无效的设置,则以varchar存储将会产生恶梦。
我知道XML模式集合可以有多个模式,但它可以确认只有一个模式。
有没有简单的方法来创建一个架构?
我应该使用无类型的XML吗?
我建议只将它存储为普通数据类型'XML' - 没有模式。只要你不想查询它,就没有任何强制性的理由来建立模式。但拥有'XML'数据类型有助于 - 它比'varchar(MAX)'字段更有效地存储XML。 –