2011-11-30 24 views
1

我想設計一個系統,用戶可以靈活地定義類,對象,屬性和值,並且對象可以綁定到類,然後獲取類的屬性,然後爲每個屬性賦值。如何使用EAV基於類,屬性和值來設計對象?

我想設置一些屬性的多個值,例如,如果一個對象有2個電話號碼2個地方(電話號碼和數字是位置類的屬性)我想知道哪個電話是哪個地方的1個對象?什麼是最好的設計?

我的設計就像是波紋管:

  • 類:IdName
  • 對象:IdName
  • ClassObject:IdClassIdObjectId
  • 屬性:IdNameClassId
  • V ALUE:IdClassObjectIdAttributeIdValue
+0

**請儘快幫助我!!! –

回答

0

回答您的設計問題:
爲了手機關聯起來,並將你必須使用一個額外的類「場所」,並給予屬性「手機」上課「地點」。類「地點」的一個實例可能有兩個「地點」類的實例。

這需要你有另外兩個表:

  • 「鏈接」:身份證,的sourceID,目標ID,RelationId
  • 「關係」:身份證,SourceClassId,TargetClassId,名稱

順便說一句。您的元模型很有趣:它允許一個對象屬於多個類,這非常靈活。
因此你可以表達: 對象「阿諾德施瓦辛格」屬於類:BodyBuilder,Immigrnt,Actor,Book Author,商人,政治家。

另一方面,類之間沒有繼承/子類型關係。 您的屬性定義中似乎沒有明確的值類型聲明。

相關問題