Я проектирую структуру базы данных со следующим упрощенным примером:
Team has many members
Member has many clients
Client has many projects
Предполагая, что мои объекты имеют следующие параметры:
Team: id, type
Member: id, team_id, name
Client: id, member_id, email
Project: id, client_id
Это достаточно просто, чтобы найти клиента проекта или члена клиента или членов группы.
Однако, предполагая, что я хочу найти команду проекта, например, я должен сначала найти клиента проекта, затем члена клиента, а затем членов группы.
Я мог бы добавить team_id непосредственно в проект, например:
Project: id, client_id, team_id
Я понимаю, однако, это добавляет определенный уровень избыточности, поскольку эта информация доступна, "поднимая дерево отношений". Это плохая идея?
Спасибо!