Q:

.NET Dataset design

I have some concern about designing Datasets. 
I was told that it would be good to have a dataset for each table for maintenance purpose. Because frequent change in database tables is expected, having one dataset including every tables would be pain to make the corresponding change in the application. 
Q. is it good approach to have a dataset for each table ( I would end up having 30~40 datasets for each db table using Stored procedure) ? 
I have a separate project for commonly used datasets. each project include "dataset project" as a reference, and use it by including needed dataset into Forms, classes, etc. 
Q. Does this approach makes the whole system to be slower? If I have a set of datasets as a separate project, it would be beneficial, since It will be easier to make a change (I only need to make modification in one place) 

A:

Performance wise having multiple datasets (and multiple queries) is typically slower. However, on the maintenance side, having a single query and dataset per tables is definitely easier to maintain.
It all depends on how related the tables are. If you can use a hierarchical query to get all of the related data and put it in one dataset I would recommend that. If the tables are not related at all the separating the datasets and queries might be the best route.

