Types of table in web applications

Database tables of web applications can be roughly categorized into three sections, as follows:

  • Master tables: These tables contain predefined or configuration data for the application, which rarely gets changed. The options table can be considered as a perfect example of this type of table in the WordPress context.
  • Application data tables: These tables contain the highly dynamic core application data. Posts and users can be considered as good examples of this type of table in the WordPress context.
  • Transaction tables: These tables contain the highest volume of data in any application. Records in these tables rarely get changed, but new records will be added at an increasing speed. It's difficult to find good examples of this type of table in the WordPress context.

Based on these categories, we can clearly see that the topic_subscriptions table falls into the transaction table category. Next, we need to allow the members to add topics to a favorites list, so we need another transaction table, which we will call favorite_member_topics. We can assume that most of the transaction tables will need their own custom tables. For now, we will stick with these two tables and additional custom tables will be added in later chapters when needed.