Настройка первичного ключа таблицы SQL

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

В этой программе я создаю две таблицы: одну под названием «клиенты» (с одним первичным ключом, являющимся идентификационным номером человека), а другую под названием «транзакции», в которой я хочу, чтобы один столбец ссылался на идентификатор. клиента, что я бы сделал через внешний ключ. Однако этот клиент может выполнить несколько транзакций, так что фактическим ключом будет комбинация даты транзакции и идентификатора клиента. Можно ли это сделать через внешний ключ? Или я сильно запутался? Я был бы очень признателен за любую помощь, которую вы, ребята, могли бы мне дать.

Большое спасибо


person Community    schedule 02.11.2015    source источник


Ответы (1)


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

person Tony the Tech    schedule 02.11.2015