2010-07-23 37 views
1

我對設計數據集有一些擔憂。.NET數據集設計

有人告訴我,爲了維護目的,每個表都有一個數據集是很好的。由於預計數據庫表經常發生變化,因此在每個表中包含一個數據集將會很難在應用程序中進行相應的更改。問:爲每個表創建一個數據集(我最終將使用存儲過程爲每個數據庫表創建30〜40個數據集)是一個好方法嗎?

我有一個單獨的項目爲常用的數據集。每個項目都包括「數據集項目」作爲參考,並通過將所需數據集包含到窗體,類等中來使用它。

問:這種方法是否會使整個系統變慢?如果我有一組數據集作爲一個單獨的項目,這將是有益的,因爲它會更容易做出改變(我只需要在一個地方進行修改)

+0

我們在這裏談論Web應用程序,還是桌面? – DOK 2010-07-23 18:58:59

+0

你怎麼看待這個選擇?一個包含30-40個子數據表的強類型數據集? – 2010-07-23 19:10:13

+0

你的問題突然出現在我身上的一件事是,你似乎希望你的整個中間層由DataSets組成。我強烈建議調查課程,你可以從中獲得無數的好處。 – 2010-07-23 19:26:38

回答

2

表現明智的有多個數據集(和多個查詢)通常較慢。但是,在維護方面,每個表有一個查詢和數據集肯定更容易維護。

這一切都取決於表格的相關性。如果您可以使用分層查詢來獲取所有相關數據並將其放入一個數據集中,我會推薦。如果表格根本不相關,則數據集和查詢可能是最佳路線。

1

我發現最好的方法是每個場景都有一個數據集。最大的缺點是你的表定義分佈在多個數據集上(如果一個表在多個場景中被引用),如果模式發生變化,這顯然對維護不利;然而,好處是無論你需要對客戶端的數據做出什麼樣的改變,數據集都可以爲你跟蹤關係/刪除兒童/插入兒童的變化,但是你有很多級別的層次結構,這會隨着用戶界面的變化而對應用進行維護。

這些是我的兩個主要因素 - 在維護和模式更改之間尋找平衡,以及維護對UI的更改。無論是單數據表還是全表數據集都會減少數據庫維護工作量,但意味着每當特定屏幕的需求發生變化時,您都必須重新編碼大量數據。爲您的應用找到合適的平衡是最好的計劃。