У меня есть приложение, которое получает большую часть своих данных от третьей стороны. Одним из таких наборов данных является список транзакций. Я не могу написать в этот сервис, но я хочу добавить больше информации к этим данным для использования в моем собственном приложении. Я собираюсь сделать это с помощью таблицы SQL с расширенной информацией.
Проблема в том, что сторонние данные не возвращают идентификатор записи со своей стороны. Это означает, что я не могу использовать сторонний первичный ключ в качестве первичного ключа для своих дополнительных данных. Если бы я мог, я бы просто использовал этот ключ и сохранял расширенные данные.
Например, возвращенные данные:
-----------------------------------------------------------------------------
| Client Id | Transaction Date | Transaction Amount | Description | Balance |
-----------------------------------------------------------------------------
Идентификатор клиента не является уникальным в этой таблице, однако есть гарантия того, что остальная информация, взятая в ее совокупности, является уникальной.
Я хочу добавить дополнительные данные. Например:
-------------------------------------------------
| ... | Transaction Category | Hide Transaction |
-------------------------------------------------
Я поиграл с идеей использования первичного ключа, который является хешем всей остальной информации, но, насколько я мог видеть, запрос этих данных был бы очень неэффективным. Например, я могу захотеть отобразить 100 транзакций на экране. Это потребует извлечения данных от третьей стороны, хеширования каждой записи и запроса в моей локальной базе данных всех данных одним из этих 100 ключей.
У кого-нибудь есть предложения?