c# - SQL 中的动态数据和动态类型
问题描述
我们需要开发一个程序来监控网络上的一些设备等,但我们不需要任何硬编码的设备或程序中的传输协议或参数类型。
我们希望用户能够定义参数(名称、别名、数据类型、组、传输协议、IP、采样时间等)并将这些参数绑定到参数组。最后将参数组绑定到用户定义的设备。
任何时候用户都可以定义新参数、新设备和...。
如何设计必要的 SQL Server 表?
在运行时为参数生成单独的表?将所有参数存储为字符串还是 XML?有样品吗?
我们讨论了 100 种设备、任何设备的 100 个参数以及非常快的采样时间。
解决方案
解决方案更多的是现实世界需求的问题,而不是我眼中的数据库设计问题:
- 谁需要多久更改一次这些数据?
- 这些用户的技能如何?
如果专业人士或管理员很少更改这些配置,我会在例如 App.config 中将其视为 xml。
但是,如果您有更多没有经验的用户并且他们必须经常更新此配置,我建议您提供一个包含所有错误检查的用户 ui 表单。因此,将所有信息存储在 sql db 表中可能会更容易。
对于 100 台设备,xml 配置似乎很难维护。
推荐阅读
- css - 我怎样才能让我的css隐藏溢出并破坏它?
- node.js - 使用 ftp 和 electron 上传文件
- reactjs - 使用 react app 构建 docker 会抛出错误
- php - 添加活动提醒(客户可以在个人日历中保存日期和活动名称-需要登录)
- javascript - DraftJS getBlocksAsArray() 在生产中返回一个数组,但在 dev 中返回一个数组(并且可以工作)
- node.js - 无法在 export.handler (/var/task/index.js:4:34) 读取未定义的属性“0”
- oracle - Oracle 按范围分区
- python - 如何使用 Matplotlib 更新实时绘图
- unity3d - 如何获取对象的准确触摸位置以在同一位置添加新的子对象
- c# - 如何在具有代理影响的公司网络中使用 C# 连接到“imap.gmail.com”