我正在使用Postgres建立数据库。
这是我想要(从概念上)构造它的方式:
my_database = {
'1.0.0': {
'testA': result1,
'testB': result2
},
'2.0.0': {
'testA': result3,
'testB': result4
}
}
为说明起见,我有一个经过版本控制的程序(例如“ 1.0.0”),并且有我在其上运行的测试(例如“ testA”),并且这些测试产生了结果(例如“ result1”)。
现在,相同的版本和相同的测试将始终产生相同的结果,因此我将要检查数据库以查看“版本1.0.0和testB”是否已具有条目。如果是这样,则无需存储任何重复的结果。
我认为测试和版本之间必须存在某种多对多关系,其中每个版本都输入了一堆测试,并且每个测试可能被多个版本使用。
我对数据库设计还很陌生,并且想知道如何设置它以便快速并节省空间,假设我有成千上万的唯一版本,每个版本都有成千上万的测试(许多不同版本共享测试)。
答案 0 :(得分:1)
对于版本有一张表格,对于测试有一张表格,而对于结果则有第三张表格。后一个表具有对另两个表的外键引用,其主键由这两个外键字段组成。