Web & Software Engineering

What is Database?

Short answer

A database is the structured store behind an application: customers, orders, bookings and stock held in a form software can query reliably. Relational databases such as PostgreSQL and MySQL enforce a schema; document databases such as MongoDB accept looser shapes. The schema decides which questions the business can answer later.

Also called: DB, Relational database, Data store

Most businesses arrive at a database because a spreadsheet stopped coping. The crossover point is usually not size but concurrency and integrity — two people editing the same file, no record of who changed a figure, nothing stopping an order from being saved without a customer attached. A database enforces those rules once, centrally, instead of relying on everyone remembering the convention.

Data outlives the application that created it, which is why the schema deserves more attention than the framework. Recording a sale without its currency, or a booking without the branch it belongs to, is cheap on day one and expensive in year three when someone asks for a report that the stored data cannot produce. Backups deserve the same scepticism: a backup nobody has restored is a hypothesis, not a safeguard.

Where this comes up in our work

Related terms

API (Application Programming Interface)

An API is a defined way for one piece of software to request data or actions from another: a checkout asking a payment gateway to take a GCash payment, or a dashboard pulling yesterday’s sales from an accounting system.

Legacy System Migration

Legacy system migration is moving a business off software it has outgrown, such as an unsupported CMS version or a custom application nobody remembers building, onto a current platform with its data intact.

Custom Software vs Off-the-Shelf Software

Custom software is built for one organisation’s specific process; off-the-shelf software is a finished product many organisations subscribe to, such as Shopify or QuickBooks.

Reading definitions because you are scoping a project? Skip ahead and just ask.