Database extensibility is a term that refers to the ability to extend a database schema. There are three main types of database extensibility: static database extensibility, dynamic database extensibility, and advanced database extensibility:
Static database extensibility involves the use of predefined columns. Such columns are either placed into database tables or are placed into tables that have a one-to-one relationship with an existing base table (for example, a predefined table with an Ext_suffix), or in tables that have a many-to-one relationship with an existing table, for example, a table that has an ExtM_suffix).
Dynamic database extensibility involves adding columns to a table or creating an extension table with records that have a one-to-one relationship with records in a base table.
Advanced database extensibility involves creating new tables whose records have a one-to-many or a many-to-one relationship with records in a standard base table. This type of database extensibility can be used to create stand-alone tables that may be related to base tables or intersection tables. This facilitates any new many-to-many relationships, either between new stand-alone tables or within the standard schema.
In a Single-Tenancy application, database extensibility is used to provide the system administrator with a means of extending the database for the organization concerned. In a Multi-Tenancy SaaS application, database extensibility is used to extend the database on a per-Tenant basis, to enable the System Administrator of Tenant companies to extend the database independently of each other.
Database Extensibility usually drives GUI customization, enabling System Administrators to enhance screens to display new fields to users. Often, System Administrators can use drag-and-drop facilities to place new fields onto data entry screens, and determine the field order for both the standard and custom fields.
Database Extensibility also drives Report customization, enabling System Administrators to enhance reports to display new fields to users. Often, System Administrators can use drag-and-drop facilities to place new fields onto reports and determine the field order for both the standard and custom fields.