2014-06-08 129 views
0

我建立一個數據庫來存儲類別,每個類別都有多個子類別。SQL Azure數據庫的設計問題

我試圖找到設計的最佳方式,但不能真的認爲任何東西,除了爲每個類別創建一個表,這種感覺有點亂看怎麼會有至少50個類別。有沒有辦法我可以創建一個「類別」 - 表,並以某種方式有一個名爲「SubCategories」列多個字符串?如果是這樣,我將如何分割這些子類別,以便我可以在沒有來自應用程序的問題的情況下檢索它們?

+1

我在想,如果我做了一個表的類別,並給他們全部潮頭ID是什麼,然後我做了一個子類別的表,給他們相應的ID。我能以這種方式從我的應用程序中爲每個類別檢索正確的子類別嗎? –

回答

1

您的評論是解決大多數人會一起去。

創建一個表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會爲你照顧。

+0

謝謝,將與此:) –