Friday, July 07, 2017

Simplifying the Development and Maintenance of Database Apps

DZone Database Zone
Simplifying the Development and Maintenance of Database Apps

Database applications are complex program products. Traditionally, they comprise three components: an application code, a database, and data content within the database. These components must be arranged in a precise way in order to work together. If data objects are rigid and do not change their structure and behavior, then the development of the application code and designing of the database schema can be done only once in the design time. Unfortunately, the majority of real objects evolve — they change their structure and behavior during their lifetime. Co-evolution of the application is an error-prone, time-consuming, and expensive procedure usually involving application developers, database designers, and end users.

The facet-oriented data model dramatically simplifies the development, maintenance, and evolution of a database application. This model is based on the assumption that an object can be represented as a collection of more elementary components called facets.A facet is a composition of pieces of data (attributes) and pieces of code (handlers) processing this data. An entity is the only unified data object in the database that can be considered a universal facet container. Data design means adding and removing facets to and from entities. Facets handlers are packed into libraries within entities with an extension type that is stored in the same database. Physically, the database is a file directory. An entity is an XML file stored in this directory.

No comments:

Fun With SQL: Functions in Postgres

DZone Database Zone Fun With SQL: Functions in Postgres In our previous  Fun with SQL  post on the  Citus Data  blog, we covered w...