Я не знаю, насколько похожи / не похожи таблицы клиентов и провайдеров, или, может быть, они лучше подходят для одной таблицы. Я объясню общий способ обработки вашего требования. Рассмотрим следующие определения таблиц:
clients_table (id, name, address)
phone_book (id, number)
clients_phone (client_id, phone_id)
(client_id -> clients_table, phone_id -> phone_book)
То есть создайте новую таблицу junction с именем clients_phone
, которая отслеживает отношения между клиентами и их телефонами. Обратите внимание, что с этим дизайном нам не нужно никуда повторять информацию о телефоне. Он появляется только один раз в таблице phone_book
.
Приведенный выше дизайн, возможно, придется немного изменить, учитывая, что также имеется таблица поставщиков.