0
我有2個表稱爲集團和人,集團是強大的實體和人是弱者。強實體指其弱實體
集團(PK_Group,名稱,...)
人(PK_Group,PK_Person,名稱,...)
的問題是,如何組長添加到表。是否將Person_Leader添加到Person表是一個很好的設計?任何建議?謝謝。
我有2個表稱爲集團和人,集團是強大的實體和人是弱者。強實體指其弱實體
集團(PK_Group,名稱,...)
人(PK_Group,PK_Person,名稱,...)
的問題是,如何組長添加到表。是否將Person_Leader添加到Person表是一個很好的設計?任何建議?謝謝。
我會將外鍵leader_id
添加到引用此組的人員的組中。您考慮的領導者國旗制定了約束條件,以確保每個小組都有一個更加複雜的領導者。
在決定之前,我會重新考慮您的主要關鍵戰略。我是否明白你的想法是將PK_Group包含在Person的主鍵中?這使得團體會員資格成爲該人員的識別資產。如果有一天,一個人可能成爲多個團體的成員,或者某個人可能從一個團體移動到另一個團體,那麼您將遇到麻煩。因此,如果您從頭開始設計此數據庫,並且不受任何先前的舊數據結構限制,則應爲每個僅用於識別目的的表定義鍵,而不是描述數據對象。
所以我的建議是:
group(pk_id, name, fk_leader_id, ...)
person(pk_id, name, fk_group_id, ...)
其中fk
意味着外鍵。
我的桌子設計只是簡單的解釋我真正的麻煩。爲了清除,有人不能加入多個組。 –