我正在創建一個網站,其中所有頁面都掛起了一個數據庫驅動的樹型層次結構。哪個是我的導航最好的數據庫模式?
除一個節點之外的所有節點都有一個父節點。節點可能具有基於角色的讀取權限。某些節點可能有特殊規則(例如:不在導航菜單中顯示)。
節點可能代表到其他節點的鏈接(如Windows中的快捷方式)。節點通常代表頁面。
頁面顯示HTML內容或execute programming。一些頁面可能是子樹的根(備用主頁和樣式表)。
請幫我在Microsoft SQL Server中設置我的節點數據庫,供Linq to SQL使用。
我有三個想法:
許多幾乎爲零 領域nullalbe輕量級表。
重量級節點表,有很多 nullalbe領域。
最佳(或最差)兩者的:大量的 nullalbe外鍵許多 輕量級表。
哪個你覺得最能代表該數據? Linq to SQL最容易使用哪一種?
如何在數據庫中保存我的數據完整性規則?我如何在編程中最好地執行它們?
節點必須是(但不是兩個) 鏈接或頁面。
頁面必須是(但不是兩個)html或代碼。
鏈接可能不是根,html或代碼。
我可以做一個ASP.NET站點地圖提供這樣的結構呢?我是不是該?
更新:我問一個更普遍的問題:
What’s the best way to handle one-to-one relationships in SQL?
相關問題:
How do I enforce data integrity rules in my database?