2010-03-23 45 views
0

假設我有以下數據模型:核心數據 - 關係到不同的實體

Entity Person 
Attribute name String 
Attribute personType String 
Attribute dailyRecords 

Entity CarpenterDailyRecord 
Attribute numberOfNailsHammered Int 
Attribute picNameOfFinishedCabinet String 

Entity WindowWasherDailyRecord 
Attribute nameOfBuildingWashed String 
Attribute numberOfWindowsWashed Int 

我想建立Person.dailyRecords和日誌實體的1之間的一對多的關係(這改變取決於人的類型)。當然,我可以創建一個CarpenterPerson和WindowWasher實體,每個實體指向它獨特的日常記錄結構,但是我必須以某種方式將我的應用組合在一起。

所以,如果我做一組實體:

實體組 屬性人民陣列

我仍然停留。我如何指向多個&不同的Person實體?

必須有一個明顯的答案,這只是我對所有這些新東西。謝謝!

回答

0

創建一個處理關係的父(DailyRecord)實體(Person < - >> DailyRecord)。 [CarpenterDailyRecord | WindowWasherDailyRecord]繼承自DailyRecord。

但是,這樣做的風險在於所有的孩子(WindowWasherDailyRecord,CarpenterDailyRecord)都會在底層sqlite結構中的一個表中,因此可能會對性能產生影響。這不是避免繼承的原因,只是在設計數據模型時需要注意的一些事情。

+0

謝謝你馬庫斯。在不同記錄類型表示的數據中可能會有足夠的重疊,核心數據不必創建太多的唯一列。我將不得不進行調查。我假設DailyRecord實體可能是抽象的?我會進一步閱讀這個主題,但我認爲我有這個主意。再次感謝! – carotene 2010-03-23 17:55:02

+0

是的,對不起,這不清楚,DailyRecord實體將是抽象的。順便說一句,不要忘記接受你認爲正確的答案。 – 2010-03-23 18:27:43