Like I said, check out what a ADO.NET Data Provider is. This will explain the concept of what a Provider is. There are then spe*****ed versions of this depending on the type of data you are connecting to (which allows you to use DBMS-specific features as well as the core provider functionality). For example, the Sql provider for Sql Server, and OleDb for any OLE compliant data source.
Have a Google, learn what you can, give us a shout if any is unclear :)
Why is "c i a l i s" censored?!