我設計一個數據庫結構與下面的簡單示例:在數據庫中有「外鍵冗餘」是否不好?
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