The namespace provides access to classes that represent the ADO.NET architecture. ADO.NET lets you build components that efficiently manage data from multiple data sources. In a disconnected scenario such as the Internet, ADO.NET provides the tools to request, update, and reconcile data in multiple tier systems. The ADO.NET architecture is also implemented in client applications, such as Windows Forms, or HTML pages created by ASP.NET. The centerpiece of the ADO.NET architecture is the class. Each can contain multiple objects, with each containing data from a single data source, such as SQL Server. Each contains a --a collection of objects--that determines the schema of each . The property determines the type of data held by the . The and properties let you further guarantee data integrity. The property lets you construct calculated columns. If a participates in a parent/child relationship with another , the relationship is constructed by adding a to the of a object. When such a relation is added, a and a are both created automatically, depending on the parameter settings for the constructor. The guarantees that values that are contained in a column are unique. The determines what action will happen to the child row or column when a primary key value is changed or deleted. Using the namespace (the.NET Framework Data Provider for SQL Server), the namespace (the.NET Framework Data Provider for ODBC), the namespace (the.NET Framework Data Provider for OLE DB), or the namespace (the .NET Framework Data Provider for Oracle), you can access a data source to use together with a . Each.NET Framework data provider has a corresponding DataAdapter that you use as a bridge between a data source and a .