A great way to learn the DotNetNuke structure is to examine the classes. Using the class designer in Visual Studio is a great way to do that. (This only works if you have Visual Studio 2005 Standard or higher. it does not work with the Express versions.)
Open the source version of DotNetNuke in Visual Studio 2005, Right-click on the SqlDataProvider.vb file in the Provider.SqlDataPrivider project and select "View Class Diagram"
The Class will appear in the designer window. Click on the symbol to expand it.
Right-click on the shaded area at the top of the class diagram and select "Show Base Class"
The DataProvider class which is the base class appears.
If we do the same with the DNNSQLRoleProvider and continue to repeat the same process with each class it leads up back to ProviderBase
This also works in the other direction. If we click on RoleProvider and select "Show Derived Classes"...
The SQLRoleProvider displays.
Lets look at something big...
Right-click on "Entities" in the DotNetNuke.Library project.
This leaves you with a lot to explore...