Database-centric Architecture ordata-centric architecture has several distinct meanings, generally relating tosoftware architectures in whichdatabases play a crucial role. Often this description is meant to contrast the design to an alternative approach. For example, the characterization of an architecture as "database-centric" may mean any combination of the following:
using dynamic,table-driven logic, as opposed to logic embodied in previouslycompiledprograms. The use of table-driven logic, i.e. behavior that is heavily dictated by the contents of a database, allows programs to be simpler and more flexible. This capability is a central feature ofdynamic programming languages. See alsocontrol tables for tables that are normally coded and embedded within programs asdata structures (i.e. not compiled statements) but could equally be read in from aflat file,database or even retrieved from aspreadsheet.
usingstored procedures that run ondatabase servers, as opposed to greater reliance on logic running in middle-tierapplication servers in amulti-tier architecture. The extent to whichbusiness logic should be placed at the back-end versus another tier is a subject of ongoing debate. For example, Toon Koppelaars presents a detailed analysis of alternativeOracle-based architectures that vary in the placement of business logic, concluding that a database-centric approach has practical advantages from the standpoint of ease of development and maintainability[1] and performance.[2]
an overallenterprise architecture that favors shared data models[5] over allowing each application to have its own, idiosyncratic data model.
Even an extreme database-centric architecture calledRDBMS-only architecture[6][7] has been proposed, in which the three classic layers of an application are kept within theRDBMS. This architecture heavily uses the DBPL (Database Programming Language) of the RDBMS. An example of software with this architecture isOracle Application Express (APEX).