我正在設計我的數據庫並想知道處理此問題的最佳方法。我有一個頁面,看起來像這樣的標籤:將數據保存爲數據庫中的XML與保存多行數據
Tab1
--SubTab1
----Data1
--SubTab1
--SubTab1
Tab2
--SubTab1
--SubTab1
--SubTab1
Tab3
--SubTab1
--SubTab1
--SubTab1
我可以把數據庫中的信息將被存儲在多個行這樣
TypeID---------------Name
1--------------------Tab
2--------------------Data
ObjectID----------Parent-------------TypeID
1-----------------0------------------1
2-----------------0------------------1
3-----------------0------------------1
4-----------------1------------------1
或者我可以把這個在數據庫就像這樣:
<root>
<tab name="MyTab">
<tab name="MySubTab">
<data>1234567890</data>
</tab>
</tab>
</root>
如果我剛拉的XML從數據庫中,然後我就不需要選擇多行我只需要選擇一個行然後解析XML轉換爲類,然後傳遞數據控制器。我只想知道這是個好主意嗎?如果我的網站未來可以擴展,我會犯一個錯誤嗎?隨着網站變得更大並且需要更多功能,這會不會進行更多維護?
這不是很難做(排序需要一些使其變得複雜的黑客,但是: - /) - 如果您直接在TSQL(2008+)中編寫語句,只需要學習模式。話雖如此,我不會使用XML來解決這個問題,因爲「黑客」會得到適當的排序(`position()`沒有得到適當的支持)。 – 2010-12-05 00:20:19
將「hard」讀爲「比查詢跨列和行分割的原始數據要困難」。 – cspolton 2010-12-05 10:13:31
您也可以將「hard」讀作「比查詢跨列和行分割原始數據效率要低效」;這可能更加重要。即使在黑客存在的情況下,它們仍然是黑客,他們會擺脫許多與數據庫相關的效率。 – Murven 2010-12-05 17:44:12