Skip to content
Part IA Michaelmas Term

What is a Database Management System?

Definition

A Database Management System (DBMS) is software that provides an abstraction over secondary storage (disks, SSDs). It hides the details of how data is stored on physical media behind a standardised interface (e.g., SQL) that can be shared by many concurrent applications.

The narrow waist model

The DBMS sits at a “narrow waist” in the software stack:

The "Narrow Waist" DBMS Model: decouples many diverse applications from many diverse implementations through a common database interface

  • Above the interface: diverse applications (web apps, transaction processing, analytics, reporting tools) — all written to the same API.
  • Below the interface: diverse storage engines, file formats, indexing strategies, and hardware — all interchangeable without changing the applications.

This arrangement decouples application development from implementation details. The application programmer writes queries against a logical schema; the DBMS handles the physical storage.

CRUD operations

Every DBMS provides four fundamental operations on data:

OperationMeaning
CreateInsert new records into the database
ReadQuery and retrieve existing data
UpdateModify existing records
DeleteRemove records from the database

Management operations

Beyond CRUD, a DBMS typically offers management-level operations:

  • Create or alter the schema (tables, columns, types, constraints)
  • Create views (virtual tables for access control or convenience)
  • Physical reorganisation of stored data
  • Re-indexing for query performance
  • Backup and recovery
  • Statistics generation for query planning

These management operations are mostly beyond the scope of the Part IA course. The course focuses on the application writer’s point of view: data models and query languages.

Why use a DBMS?

Without a DBMSWith a DBMS
Each application manages its own filesAll applications share a common interface
Concurrency must be handled manuallyDBMS manages concurrent access
No standard query languageStandardised SQL
Storage format changes break applicationsPhysical/logical independence
Inconsistent or corrupt data is commonACID guarantees

Summary

  • A DBMS provides an abstraction layer between applications and physical storage.
  • The narrow waist model gives both application portability and implementation flexibility.
  • The core data operations are Create, Read, Update, Delete.
  • This course studies the DBMS from the application writer’s perspective: modelling data and writing queries.