0
我有一些在不同類別下標記的實體。 然而,一些種類的具有各種子類別(最多2級),但層次結構是不均勻 - 一些具有1個高度 - 2.關係數據庫 - 建模不平衡層次
我的想法是創建一個單獨的表中的每個類別和每個級別一個,然後將實體ID鏈接到葉片,但是,它看起來不是很有效。
喜歡聽你的想法!
我有一些在不同類別下標記的實體。 然而,一些種類的具有各種子類別(最多2級),但層次結構是不均勻 - 一些具有1個高度 - 2.關係數據庫 - 建模不平衡層次
我的想法是創建一個單獨的表中的每個類別和每個級別一個,然後將實體ID鏈接到葉片,但是,它看起來不是很有效。
喜歡聽你的想法!
還有一個更靈活的設計:
當屬於特定類別的實體搜索,其所有子類,子子類等類別中的第一個搜索依賴在DBMS上,這可能會在一個遞歸查詢中完成。
在層次結構中包含所有類別後,只需加入CATEGORY_ENTITY和ENTITY,然後按這些CATEGORY_ID進行過濾。
順便說一下,類別名稱應該是全球唯一的還是唯一的兄弟姐妹?根據不同,您可能需要分別在NAME或{PARENT_ID,NAME}上添加一個UNIQUE約束。
但檢查你的DBMS如何處理複合UNIQUE約束爲NULL。