Это зависит от того, что вы собираетесь с ним делать. Если, скажем, у вас есть пользовательский интерфейс со всеми полями, необходимыми для создания проекта, и в этом пользовательском интерфейсе вы выбираете компанию, в которой вы хотите связать проект с выпадающим списком, тогда, возможно, просто связать ключ было бы разумно и эффективно.
Я бы предпочел прикрепить объект компании с точки зрения «чистоты», но если бы у меня никогда не было случая, когда я действительно что-то делал бы с этим клиентом, я бы просто использовал ключ. Я не знаю, какой язык / платформу вы используете, но вы могли бы рассмотреть какую-то ленивую схему загрузки, когда объект компании заполняется данными на основе JIT.