Database applications are the lifeblood of a business, and they are endemic in all major organizations. They record our purchases, payments, and credit-worthiness. They track the arrivals and departures of airline flights. They even appear in advanced research such as the decoding of the human genome.
The approach to building database applications is much different from that for other types of applications. Database applications have many distinctive issues: Large quantities of long-lived data must be accessed in different ways. There is a need to coordinate the effects of multiple users and applications. Many databases are self-descriptive and publish their structure in a system catalog.
In principle, databases are application-independent; any application can access their data. In practice, most databases are built for a specific application. Multiple application databases can lead to redundant data. Given that applications are motivated by business needs that occur at different times and are sponsored by different organizations, however, such duplication can be difficult to avoid.