一个数据库单元中的多个元素

时间:2012-07-18 06:45:45

标签: database sqlite database-design

问题是我应该如何应用数据库设计:

主要表:

ID | name | number_of_parameters | parameters

参数表:

parameter | parameter | parameter

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

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

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

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

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

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

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