2013-11-20 121 views
0

我想設置實體和關係的核心數據,來處理這種情況:核心數據實體關係層次

有隊,每隊可以有團隊的多張照片,並在球隊多個玩家..但每個玩家可以擁有多張照片。 (對不起,看起來我需要更多信譽點才能發佈關係圖)

如果這是可能的,我不知道如何正確設置它。在Photo實體中,我相信我可以將「forPlayer」和「forTeam」關係設置爲可選項。這樣做可以讓我設置一個或另一個,以便照片與團隊或玩家相關聯。

這項工作?

現在如果我將一張照片與玩家聯繫起來會發生什麼?如果我這樣做,並且如果我啓用了級聯刪除,如果團隊或玩家被移除,是否會出現任何問題?

+0

您應該能夠鏈接到上傳到其他地方的圖片。 – Wain

+0

對於級聯部分,它們不應該是級聯的 - 應該有1個所有者。所以在這種情況下你可能不應該使用級聯。 – Wain

+0

爲什麼不創建一個玩家和團隊繼承的虛擬基類。那麼它不會有問題,你也可以級聯。 – rfrittelli

回答

0

我會區分PlayerPhotoTeamPhoto作爲單獨的實體。這也是合乎邏輯的,因爲在現實世界中,這些照片會有些不同。 (當建模實體時總是建議嘗試儘可能具體。)

PlayerPhotoTeamPhoto都可以從封裝照片數據的Photo實體繼承。據推測,你會有像fileNameurl屬性,表示照片的位置。 (不要將照片作爲NSData存儲在數據庫中,因爲這隻適用於小圖像,如縮略圖。)。

如果你要使用這兩個球隊和球員相同的實際照片,你仍然可以擁有兩個獨立的實體,即使它們指向同一個物理照片名稱/ URL的條款。級聯應該按照預期工作,同時保持所有照片文件不變。

至於刪除不需要的照片,你既可以爲這個帳戶時刪除照片的實體,或者有一個清理方法,消除你的對象圖未引用的照片。