A property is identified by a GUID and an integer representing the property ID. A property set is the set of all properties that share the same GUID. Generally, a property set is a way of determining which provider defined the property. OLE DB predefines a number of property sets and the properties in them. Providers also can define provider-specific property sets containing their own properties.
Each property belongs to one or more property groups. A property group is a set of logically related properties that could apply to either an OLE DB object, such as a rowset, or a data source object. Property groups also could include an operation on an OLE DB object, such as the creation of a data source, or an object that is not directly represented as an OLE DB object, such as a table or column. Property groups are identified by a DBPROPFLAGS value that is returned in the DBPROPINFO structure. OLE DB defines property groups. Providers cannot define provider-specific property groups.
Property sets and property groups overlap. That is, a property group can contain properties from more than one property set and a property set can contain properties from more than one property group. For example, a provider could define properties A and B in the property set identified by a GUID generated by the provider, where property A is in the Data Source property group and property B is in the Rowset property group.