捕获有关如何在数据库中收集数据的元数据

时间:2013-06-12 08:21:34

标签: database postgresql

我将把信息放在数据库中,但是我需要存储关于数据来源的元数据(数据是否被测量或计算)。 我有几个属性可能是彼此独立计算和测量的。

解决这个问题的简单/天真的方法是为每个字段设置一个布尔值,指示数据是否被测量。 有没有更好的方法来解决这个问题?

1 个答案:

答案 0 :(得分:1)

听起来没有必要使这个复杂化。用于指示数据源的简单列就足够了。如果你只处理“测量”与“未测量”,则布尔值很好。

否则我会将它设为smallint,这是对最初只包含的查找表的外键引用:

CREATE TABLE data_source (
    id smallint primary key,
    source_name text unique not null
);

INSERT INTO data_source(id, source_name) VALUES
(0, 'WhateverNotMeasuredIs'),
(1, 'Measured');

PostgreSQL还支持枚举(枚举),这是另一个很好的候选者。他们真的只适合那些永远不会改变的事情,而且更像是一种优化。你可以考虑以后再考虑它们。