我有一個項目列表,項目可以由一個人或一組人擁有。你會如何設計這個數據庫?個人和團體所有權
到目前爲止,我有3個表,如:
人:
personID (primarykey)
personName
personAddress
...
組:
groupID (primarykey)
groupNumber
personID
項目:
itemID (primarykey)
itemName
itemDescription
itemWeight
...
你將如何去分配項目的所有權給個人或特定組?
我確實有這個項目上的2個字段,owner_personID
和owner_groupID
,但似乎挺有趣,而且必須手動管理一次使用哪個字段。
我還嘗試了兩個鏈接表,PeopleOwnerships
和GroupOwnerships
,它們存儲所擁有的物品列表。字段類似於personID/groupID
和itemID
。但是,似乎更加笨拙,可能會變得混亂。必須格外小心,以免個人和團體同時擁有相同的物品。
我也想過把所有的人都放在他們自己的個人羣體中,只是使用羣組表格來指代一切。但是這似乎也有點奇怪。
當所有權發生變化時,我還需要記錄人員和組之間的項目轉移。我想過在鏈接表中有一個日期字段,並使用最高日期來確定誰擁有什麼。