在单个表中存储不同的参数类型

时间:2010-08-03 17:58:05

标签: database-design

我有一个Java类,表示包含一些数据的事件,还有一个不同类型的“参数”列表,因为缺少更好的单词。我想将其保存到数据库中,我对最佳方法感到困惑。

编辑试图澄清我的ramblings:

根据“事件”的类型,它可能包含主机名,端口,日期,服务名称,消息时间,证书摘要(字节数组)等参数。

我猜最接近的并行就像存储一个printf格式字符串和参数(虽然这不是我正在做的)。存储格式字符串很简单,但存储参数很棘手,因为我需要在检索时将它们恢复为原始类型。

我正在试图找出一种存储不同类型参数的方法。我应该将它们编码为某种字符串格式并将它们填充到varchar()中,然后在检索事件的参数时进行解码吗?

1 个答案:

答案 0 :(得分:1)

以我的拙见,将所有内容存储为varchar / string是一个坏主意。如果需要在数据库中存储各种数据类型,请使用正确的类型存储它们。这样你的表示层就可以处理格式化了。