Из данных модель, понятно, что пользователь может принадлежать нескольким компаниям, а компания может иметь несколько пользователей. Поэтому добавление company_id в таблицу USER приведет к взрыву таблицы USER с большим количеством избыточных пользовательских данных для каждого экземпляра компании. Объект USER_COMPANY существует специально, чтобы этого избежать.
Не рекомендуется обрабатывать это требование с использованием изменений модели данных. Лучший способ справиться с этим требованием - это код приложения или триггеры.
Наименее неэффективный способ добиться этого путем изменения модели данных будет: добавить столбец имени пользователя в таблицу user_company и синхронизировать таблицу user и user_company для столбца user_name во всех DML-приложениях во всем приложении. Это снова потребует много кода приложения.
Таким образом, лучшим решением является оставить его в приложении и не нарушить хорошую модель данных.
Надеюсь, это поможет.
Спасибо Данило. Будет ли это изменение влиять на нормализацию базы данных? – Bishan
Я думаю, что это изменение до нормализации, я предлагаю изменить модель отношения сущности, добавляя ограничение: пользователь может работать только в одной компании. –