The System.Data namespace contains most of ADO.NET's base objects, or the objects upon which ADO.NET relies to represent data retrieved from the data source. It also contains various supporting objects, such as many of the various ADO.NET exceptions (specific errors). Figure 1.3 shows how the various ADO.NET objects interrelate.
The DataSet object is the parent object to most of the other objects in the System.Data namespace. Its primary role is to store a collection of DataTables, and the relations and constraints between those DataTables. The DataSet