0

我继承了一个通过以太网配置设备的程序项目。设置存储在数据库中。随着设备的发展,设置集会不断变化,因此需要进行简单的架构更改(用户必须能够执行此操作)。

现在,这种简单性是通过XSD 方案(易于阅读和编辑)实现的,并且数据存储为 XML。这种方式也满足了使用各种数据库引擎的需求(目前支持MS SQL和Oracle)。

我想将数据库结构移动到关系模型。在使用关系数据库时,是否有任何解决方案与描述的一样易于更改?

4

2 回答 2

1

我想将数据库结构移动到关系模型。

为什么?

您是否希望能够索引/查询配置的一部分,或者能够只更改配置的一部分而不触及其余部分?

  • 如果不是,那么只需将 XML 视为不透明的 BLOB 就足够了。
  • 如果是,那么您将不得不告诉我们更多关于配置的实际结构。1

1顺便说一句,一些 DBMS 可以“查看内部”XML、索引元素等等,但这将不再与 DBMS 无关。

于 2013-09-16T11:14:10.480 回答
0

您的设计问题有多种解决方案。我提出以下建议;

  1. 使用不同的数据库。关系数据库不是此类数据的最佳选择。有些数据库对动态数据有很好的支持。这种数据库的一个例子是 mongoDB,它使用 JSON 样式的文档。

或 2. 创建一个(或一小组)键/值表。parent您可以通过添加指向父键值对的列来支持分层结构。

我不建议由于用户操作而动态更改关系数据库模式。它违反了关系数据库设计的基本设计规则。

于 2013-09-16T10:24:50.150 回答