Вы правы, это недопустимо - вы не можете использовать отношение ко многим в качестве определяющей части первичного ключа. Вместо этого вы можете подумать о добавлении уникального loan_id
, который вы делаете частью своего первичного ключа, вместо элементов, которые содержит ссуда; затем один кредит определяется его клиентом и идентификатором кредита (или клиентом, датой и идентификатором кредита).
Если это не сработает, сделайте date_leant
полем datetime и увеличивайте его точность до тех пор, пока вы не сможете (в рамках ограничений вашей системы) получить два займа одновременно - насколько вероятно это если один клиент совершает два отдельных займа в течение миллисекунд друг от друга?
Обратите внимание, что это не мешает сущности КРЕДИТА участвовать в отношениях как "один"; это просто означает, что вы не можете определить слабую сущность, используя «многие».