我设计一个数据库结构与下面的简单示例:在数据库中有“外键冗余”是否不好?
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
我知道,然而,这增加冗余一定程度,因为这些信息是可通过“涨的关系树“。这是一个坏主意吗?
谢谢!
难道你不是指“每个团队成员有很多客户”,“每个团队成员的客户有很多项目”吗? – 2012-08-08 01:07:31
你认为“有害冗余”是什么?你是否在谈论与归一化理论相关的同一种“有害归约”?或者,您是衡量什么是“有害”的另一种措施? – 2012-08-08 10:42:40