假设我有一个保存时间戳的数据库。对于每个时间戳属性,我可能会添加一个准确度属性,说明置信区间,因此存储的信息可能是,例如,“2012 年 7 月 1 日 12:13,+/- 3 个月”。
但总的来说,记录准确性/置信度并不是那么简单。家谱数据库可能需要记录一个人可能是另一个人的父亲这一事实。
那么,在存储具有不同准确性/可信度的信息方面是否有任何一般原则或最佳实践?
假设我有一个保存时间戳的数据库。对于每个时间戳属性,我可能会添加一个准确度属性,说明置信区间,因此存储的信息可能是,例如,“2012 年 7 月 1 日 12:13,+/- 3 个月”。
但总的来说,记录准确性/置信度并不是那么简单。家谱数据库可能需要记录一个人可能是另一个人的父亲这一事实。
那么,在存储具有不同准确性/可信度的信息方面是否有任何一般原则或最佳实践?
以你父亲的例子很容易;不可能超过 100% 确信某人是别人的父亲;一般来说,对任何事情都没有超过 100% 的信心!这反过来意味着您可以简单地存储任何数据属性的百分比置信水平。
但是,您可能不想将置信水平存储为百分比;它取决于数据属性本身以及数据的含义。
例如,如果您想存储一个特定字符串与另一个字符串相比有多“准确”,您可能希望存储Levenshtein 距离。在您的时间戳示例中,我个人会存储最小值和最大值,但您也可以存储要添加或减去的月数;要么可以快速计算从数据库中的选择。
我可能不清楚,试图写的是,您的问题的答案不取决于数据库,而是取决于其中的数据以及您的用户、业务等的需求。因为它取决于每个单独属性或列需要单独的解决方案;不可能有一个“通用”的解决方案。