我想将virustotal.com结果存储在我的数据库中。但我在规范化方面遇到了一些问题。假设我有以下通用表
AntivirusName FileID DetectedID DetectedDate
AVG 1 abc --/--/--
Kaspersky 1 xyz --/--/--
Norton 1 xxx --/--/--
现在,如果40防病毒软件检测到文件,则数据库中有40个条目。那么如何才能删除这些重复,请指导我
答案 0 :(得分:2)
我假设每天可以进行多次扫描(DetectedDate
),这会在一个或多个文件中找到一个或多个病毒签名(DetectedID
)(由{{1}指定})由多个产品(FileID
)检测到。因此,在当前结构中,您可以在所有列中具有重复值,从而重复行。这意味着您需要添加AntivirusName
列以提供唯一键。然后,您可以将id
替换为AntivirusName
,这是一个FK到另一个包含AntivirusNameId
和AntivirusNameId
列的表格。从你的问题中不清楚你是否必须对AntivirusName
和FileID
做同样的事情,但我认为不是。
所以,你的表将是:
DetectedID