Chapter 13. Developing Modules: the Database Layer
Now that you understand the concept of modules and are ready to develop your own, this chapter guides you on how to begin development starting with the database layer. As in most application development, you need to build a database structure for your application. This chapter covers basic database development and how to expose your data within a DotNetNuke module.
Chapter 7, "DotNetNuke Architecture," introduced the concept of the Provider Model and how DotNetNuke uses it to abstract the business layer logic from the physical database. In this chapter, you develop your modules by modeling the three-tier architecture of DotNetNuke. In the DNN architecture, the concept of data abstraction is used to separate the business logic of your module from the specifics of data storage. A data abstraction layer defines the database operations needed by your module. You build a concrete data provider for each database backend that your module supports. You can build as many concrete providers as you need, none of which affects the business logic of your module. Please refer to Figure 7-1 for an illustration of how the data layers are constructed in DotNetNuke.
In the database layer code shown in this chapter, the stored procedures and code assume that Microsoft SQL Server is used for the backend database. Developing with SQL Server is beyond the scope of this book, but the sections on creating tables and stored procedures review basic SQL Server ...