首页 > 解决方案 > SQL 中的动态数据和动态类型

问题描述

我们需要开发一个程序来监控网络上的一些设备等,但我们不需要任何硬编码的设备或程序中的传输协议或参数类型。

我们希望用户能够定义参数(名称、别名、数据类型、组、传输协议、IP、采样时间等)并将这些参数绑定到参数组。最后将参数组绑定到用户定义的设备。

任何时候用户都可以定义新参数、新设备和...。

如何设计必要的 SQL Server 表?

在运行时为参数生成单独的表?将所有参数存储为字符串还是 XML?有样品吗?

我们讨论了 100 种设备、任何设备的 100 个参数以及非常快的采样时间。

标签: c#sql-serverdatabase-designbigdata

解决方案


解决方案更多的是现实世界需求的问题,而不是我眼中的数据库设计问题:

  • 谁需要多久更改一次这些数据?
  • 这些用户的技能如何?

如果专业人士或管理员很少更改这些配置,我会在例如 App.config 中将其视为 xml。

但是,如果您有更多没有经验的用户并且他们必须经常更新此配置,我建议您提供一个包含所有错误检查的用户 ui 表单。因此,将所有信息存储在 sql db 表中可能会更容易。

对于 100 台设备,xml 配置似乎很难维护。


推荐阅读