Я создаю базу данных с 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". Если это так, нет необходимости хранить дубликаты результатов.
Я думаю, что должен быть способ установить какую-то взаимосвязь «многие ко многим» между тестами и версиями, когда каждая версия имеет набор тестов, и каждый тест, возможно, используется многими версиями.
Я довольно новичок в проектировании баз данных и мне интересно, как это сделать быстро и сэкономить место, если предположить, что у меня есть тысячи уникальных версий, каждая с тысячами тестов (много общих тестов в разных версиях).