我建立一個數據庫來存儲類別,每個類別都有多個子類別。SQL Azure數據庫的設計問題
我試圖找到設計的最佳方式,但不能真的認爲任何東西,除了爲每個類別創建一個表,這種感覺有點亂看怎麼會有至少50個類別。有沒有辦法我可以創建一個「類別」 - 表,並以某種方式有一個名爲「SubCategories」列多個字符串?如果是這樣,我將如何分割這些子類別,以便我可以在沒有來自應用程序的問題的情況下檢索它們?
我建立一個數據庫來存儲類別,每個類別都有多個子類別。SQL Azure數據庫的設計問題
我試圖找到設計的最佳方式,但不能真的認爲任何東西,除了爲每個類別創建一個表,這種感覺有點亂看怎麼會有至少50個類別。有沒有辦法我可以創建一個「類別」 - 表,並以某種方式有一個名爲「SubCategories」列多個字符串?如果是這樣,我將如何分割這些子類別,以便我可以在沒有來自應用程序的問題的情況下檢索它們?
您的評論是解決大多數人會一起去。
創建一個表Categories
,以及第二個表SubCategories
。
Categories
將具有唯一的主鍵CategoryID
(認爲Identity
)。
SubCategories
將有一個主鍵SubCategoryID
和外鍵CategoryID
現在讓我們說你在你的代碼的一個類別,你想獲得的所有子類別:
DECLARE @CategoryID BIGINT = 23
SELECT s.SubCategoryID, s.CategoryID, s.Name
FROM SubCategories s
WHERE s.CategoryID = @CategoryID
當然,如果你使用的數據庫訪問技術,如實體框架的ñ你最有可能不會寫這種SQL作爲EF會爲你照顧。
謝謝,將與此:) –
我在想,如果我做了一個表的類別,並給他們全部潮頭ID是什麼,然後我做了一個子類別的表,給他們相應的ID。我能以這種方式從我的應用程序中爲每個類別檢索正確的子類別嗎? –