During the course of designing the database to support a given application numerous decisions are made. Some of these decisions lead to the inclusion of columns that are included in most if not all tables in a given database. A fairly simple example of this could be in the design of a "perpetual" database. This is a database where the actual data is not actually physically deleted from the database but instead has one or more columns that are marked in such a way that the system acts as if the contents of those rows are no longer present. Another type of implementation may be some form of "auditable" database. This style of database has additional columns in the tables to keep track of who created or deleted a given row of data. The columns needed to support these additional functionalities are what is referred to in this environment as Database Common Definitions.
This software actually integrates features of both a "perpetual" and an "auditable" database in order to provide a user with more complete historical reporting of the development history of any given entity. In order to do this, the following eight columns are a common definition for this applications database:
- Version Number - Status - Creator - Creation Date - Deleted - Pending Deletion - Deleted By - Deletion Date
This development tool is designed to support C# MVC View Models that have both a handcrafted component as well as a generated partial class definition for each table. The DB Common Definitions allow the generated View Model components to have a generated base component as well where these common column definitions and supporting methods can be stored.
|Solution ID||Common VM Name||Version Number|