Структура базы данных с несколькими банковскими выписками

Итак, я проектирую базу данных для хранения транзакций и их типов, полученных квитанций, а затем выписок по банковским счетам.

Первый шаг - ввод квитанций и создание типа транзакции (наличные / еда / одежда / т. Д.). Иногда квитанция имеет несколько записей типа транс. Второй шаг - сопоставить транзакции в выписках из банка (кроме наличных) с квитанциями (если есть) и существующим типом транзакции или создать новую.

Я собираюсь загрузить все выписки из нескольких счетов в нескольких банках в CSV, а затем импортировать их в базу данных.

Моя проблема в том, что я не могу получить структуру БД, которая выглядит правильно. Я мог бы:

  • Есть отдельная таблица для каждого действия / банка, но это не так.
  • Объедините все CSV в один с уникальным идентификатором acct/bank.
  • Объедините все CSV в один.

Это должно быть простой проблемой дизайна, но я не могу решить это.

Я также использую OpenOffice Base + другие приложения Apache.

Любая помощь будет оценена.

1 ответ

Возможно, что-то вроде приведенных ниже имен TABLE NAME во всех заглавных буквах с именами столбцов под каждой таблицей (имя верхнего столбца для каждой таблицы является первичным ключом).

ЗАЯВЛЕНИЯ

  • StatementId
  • Банка
  • Дата заявления

STATEMENT_DETAILS

  • SDetailID
  • StatementId
  • DetailDate
  • хранить
  • Количество

TTYPES

  • TypeID
  • Тип операции

ПОСТУПЛЕНИЯ

  • ReceiptID
  • хранить
  • Дата чека

СДЕЛКИ

  • Номер транзакции
  • ReceiptID
  • TypeID
  • Количество

Таким образом, в этой схеме вы должны заполнить все перечисленные поля в обычном режиме: все первичные ключи будут автоматически инкрементными, связь формы / подчиненной формы будет использоваться для заполнения внешних ключей, где это возможно, а оставшиеся поля будут вводиться пользователем.

На этом этапе вы должны выполнить какой-либо запрос или скрипт, чтобы сопоставить имя магазина, дату получения и сумму из таблиц RECEIPTS и TRANSACTIONS с их аналогами в таблице STATEMENT_DETAILS. Вы можете просто просмотреть результаты запроса, или сохранить SDetailID в таблице TRANSACTIONS, или сохранить TransactionID в таблице STATEMENT_DETAILS.

Вам нужно будет решить, как получить данные из ваших различных файлов CSV в таблицы STATEMENTS и STATEMENT_DETAILS.

Другие вопросы по тегам