我有一个场景,我用数据库中的值保存不同的参数。参数可以有多种类型。即。
的字符串, 整数, 多值
因为它是一对多的关系,所以我为它创建了两个表。
parameter
---------
id | name
parameter_value
---------------
id | parameter_id(F.K) | value
现在添加了另一个参数类型的要求。即'地图'。所以参数可以是地图。地图可以有其他参数。 我根据这个新要求设计数据库表时遇到问题。我是否需要创建新表或更改现有表? 使用IBM DB2。
答案 0 :(得分:0)
你说“参数可以是多种类型。即String,Integer,Multivalue”。但像这样的表
parameter_value
---------------
id | parameter_id | value
只能存储一种类型,可能是某种varchar(n),其中'n'可能非常大。因此,应该是整数的参数最终可能会“晃动”。
此外,“Multivalue”在历史上不是关系型或SQL数据类型。 (这种情况正在发生变化。但变化很慢。)一些SQL平台支持某些类型的多个值,但支持远非普遍。 PostgreSQL,选择一个我非常熟悉的,支持数组,JSON(我认为,在最新版本中),以及键/值对(hstore模块)。其中一个可能会帮助你。我不确定。