Структура базы данных с несколькими банковскими выписками
Итак, я проектирую базу данных для хранения транзакций и их типов, полученных квитанций, а затем выписок по банковским счетам.
Первый шаг - ввод квитанций и создание типа транзакции (наличные / еда / одежда / т. Д.). Иногда квитанция имеет несколько записей типа транс. Второй шаг - сопоставить транзакции в выписках из банка (кроме наличных) с квитанциями (если есть) и существующим типом транзакции или создать новую.
Я собираюсь загрузить все выписки из нескольких счетов в нескольких банках в 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.