Как лучше всего хранить в бд такие данные?
Мне нужно хранить в бд данные, вида:
{
'Heading': [
[a1, a2, ..., an],
[a1, a2, ..., an],
...,
[a1, a2, ..., an]
],
'Disclosure': [
[a1, a2, ..., an],
[a1, a2, ..., an],
...,
[a1, a2, ..., an]
],
'Measure_unit': [
[a1, a2, ..., an],
[a1, a2, ..., an],
...,
[a1, a2, ..., an]
],
'Quantity': [
[a1, a2, ..., an],
[a1, a2, ..., an],
...,
[a1, a2, ..., an]
],
'Code': [
[a1, a2, ..., an],
[a1, a2, ..., an],
...,
[a1, a2, ..., an]
]
}
Эти данные нужны для поиска, также кроме этих данных есть и те, которые хранятся в обычном списке (например имя организации). Нужно чтобы структура бд была примерно такой:
Имя, Описание, Адрес, и по одному списку из Heading
, Disclosure
, и т.д.
Ссылка на примеры данных: https://etender.gov.az/main/competition/detail/316641
Ответы (1 шт):
Я специализируюсь на базах данных, поэтому замечу, что ошибки планирования стоят дороже всего когда-нибудь потом. Этот тот самый случай. Если подойти формально, без вникания в смысл названий, то очевидно, что "Heading" и компания - таблицы, a1, a2, ..., an - числовые поля, а [a1, a2, ..., an] - строки данных. Замечу также, что an в базах данных, если по уму, возникает только в случае использования n-го количества строк, а не видов полей. Само по себе использование баз данных, особенно когда речь идёт о миллионах записей, как здесь пишут, не проблема, а вопрос удобства и опыта. Мне, например, удобнее и быстрее писать код для базы данных sqlite3, чем разбираться в какой-то мути типа панды, сопровождая всё это километрами кода.