0

问题是我应该如何应用数据库设计来应对这种情况:

主表:

ID | name | number_of_parameters | parameters

参数表:

parameter | parameter | parameter

参数表中的元素数量不变。单元格定义应该在下一个单元格中存储number_of_parameters多少表。parameters

我有问题要从对象思维转移到数据库设计。因此,当我们谈论对象时,一行的参数与number_of_parameters所说的一样多。

我希望对需求的描述清楚。设计此类数据库的正确方法是什么。如果有人可以提供一些 SQL 语句来获取它,那就太好了。但是这个问题的主要目标是了解如何制作这样的架构。

我想使用 SQLite 创建这个数据库。

4

3 回答 3

3

关系方式是有两个表。主表有一个 ID、名称和尽可能多的其他普遍存在的参数。参数表包含从主表中的ID到参数名称和参数值的映射;主表ID应该是外键,ID和名字的组合应该是唯一的。

只需计算具有特定 ID 的行数即可找到参数的数量。

于 2012-07-18T07:39:24.533 回答
1

如果您可以在保存到数据库的同时序列化数据并在获取记录时将其反序列化,它将起作用。您可以获取序列化容器中的对象总数并将计数保存到number_of_parameters字段和字段中的序列化数据parameters

于 2012-07-18T07:37:42.333 回答
1

没有一种完美正确的方法,但如果你想使用关系数据库,你最好有关系表。

如果您有一个键值数据库,则将序列化数据作为附加到您的键的文档放置。

如果您想要一个混合解决方案,包括人工可编辑和单表,您可以将数据序列化为人工可读的格式,例如 yaml,这种格式在开源项目的配置部分有大量使用。

于 2012-07-18T07:51:56.617 回答