Это еще один пример того, как люди пишут на фортране на объектно-ориентированном языке.
Java об объектах. Было бы гораздо лучше, если бы вы начали использовать объекты для абстрагирования вашей проблемы, скрытия подробностей от клиентов и уменьшения связности.
Какой чувствительный объект со значимым поведением представляют эти три элемента? Я бы начал с этого, а потом позаботился о структурах данных и их сохранности.
Все данные, вероятно, будут строками или отлиты как строки.
Это хорошо, если они действительно являются строками, но я бы посоветовал вам взглянуть глубже и посмотреть, сможете ли вы добиться большего успеха.
Например, если вы пишете приложение, использующее кредитные баллы, у вас может возникнуть желание сохранить его в виде числового столбца в базе данных. Но вы можете извлечь выгоду из более сложного рассмотрения проблемы и инкапсуляции этого значения в объект CreditScore. Когда у вас это есть, вы понимаете, что можете добавить что-то вроде юнитов («FICO» против «TransUnion»), масштаба (диапазон от 0 до 850) и, возможно, какое-то богатое поведение (например, правила, регулирующие, когда нужно переупорядочивать счет). Вы инкапсулируете все в один объект, а не разбрасываете логику для работы с кредитными баллами по всей базе кода.
Начните меньше думать с точки зрения таблиц и столбцов и больше об объектах. Или поменяйте язык. В Python есть понятие встроенных кортежей. Возможно, это будет работать лучше для вас.