← Back to Dictionary

Database

Podcast 1 · Introduction

In this course, database means an organised collection of data stored electronically and designed to be efficiently. A related lesson is the collection course. One citation is the Cambridge English entry, and a second is the Cambridge learner entry. Encyclopaedic background is in Database.

Database

A short documentary on the meaning, sound, and story of database.

Part of speechnoun IPA/ˈdeɪ.tə.beɪs/ Say itDAY-tuh-bayss
Ready
Podcast 2 · Daily Use

In conversation

Two British speakers using database naturally — meaning, mistakes, synonyms.

Ready
Podcast 3 · Prompt Engineering

Prompting with "database"

Now let's see how database sharpens prompts for schema design, query optimisation, and any application where the structure, performance, security, and lifecycle management of the database layer — from initial schema design to production monitoring — need to be correctly specified and built.

Ready
1 / 3

Transcript: “Database” vocabulary micro-course

Read along with the three podcasts, or open the full dictionary entry for Database for the definition, Arabic meaning, synonyms and example sentences.

Podcast 1 — Introduction & meaning

Narrator: Today's word is Database — a noun, pronounced DAY-tuh-bayss, in IPA /ˈdeɪ.tə.beɪs/.

Narrator: A database is an organised collection of data stored electronically and designed to be efficiently retrieved, updated, and managed. From a hospital's patient records to an online shop's product catalogue to a streaming service's library of tens of millions of tracks, virtually every digital system that stores persistent information relies on a database.

Narrator: The word is a compound of data — from Latin datum, things given — and base — the foundation or repository. A database is, literally, the base in which data is held. The term appeared in computing literature in the 1960s as systems for structured data storage began to be developed, and was in widespread use by the 1970s.

Narrator: The relational database model was proposed by Edgar Codd at IBM in 1970. Codd's insight was that data could be stored in tables of rows and columns, and that tables could be related to one another through shared keys, allowing complex queries without requiring knowledge of how the data was physically stored. This relational model became the dominant paradigm and underpins the SQL databases — Structured Query Language — that remain the backbone of most data storage today.

Narrator: Beyond relational databases, the landscape has diversified enormously. Document databases like MongoDB store data as JSON-like documents. Graph databases model relationships as networks of nodes and edges. Time series databases optimise for chronologically ordered measurements. Key-value stores provide the simplest possible lookup structure. Each model is optimised for different access patterns and data shapes.

Narrator: The art of database design — schema design, normalisation, indexing — is a foundational skill in software engineering. A poorly designed database can make an entire application slow and hard to maintain; a well-designed one remains fast and flexible as requirements evolve.

Narrator: In register, database is standard technical vocabulary — essential in software engineering and data management.

Narrator: So remember: the database is where the digital world remembers — and how well it remembers depends entirely on how well it was designed.

Read podcasts 2 and 3

Podcast 2 — In conversation

Speaker A: The migration of the database took three days of planning and about forty minutes to actually execute — which I suppose is the ideal ratio. The plan was thorough enough that the execution was uneventful.

Speaker B: Database migration planning as the critical phase — the database migration you describe is the correct approach: the risk in a database migration is in the unplanned edge cases, not in the execution itself. Three days of planning to forty minutes of execution means you found and handled the edge cases on paper rather than in production. An uneventful migration is a success by any measure.

Speaker A: She said the database schema was a complete mess — the original developer had put everything in one table and relationships were implied through naming conventions rather than actual foreign keys. It took weeks to untangle.

Speaker B: Schema debt from informal relationships — the problem you describe, where data relationships are encoded in naming conventions rather than enforced foreign keys, is extremely common in databases built quickly without formal design. The database allows the inconsistency; the application code tries to maintain it; over time the code and the data diverge and the untangling becomes the project. Proper normalisation with explicit foreign key constraints would have made the relationships unbreakable and the schema self-documenting.

Speaker A: The read performance on the database was terrible until they added the right indexes — apparently a query that was taking twelve seconds dropped to forty milliseconds after a single index was added.

Speaker B: Index impact on database query performance — the 300-fold improvement you describe is not unusual for the right index on the right column. Without an index, a database scan reads every row in the table; with an index on the queried column, it can find the matching rows in logarithmic time. The key insight is that indexes must be designed for the actual query patterns, not added speculatively — too many indexes slow down writes, so the choice of which columns to index requires understanding how the data is actually accessed.

Speaker A: People sometimes confuse database and data warehouse.

Speaker B: A database is optimised for transactional operations — reading and writing individual records quickly and reliably for live application use. A data warehouse is optimised for analytical queries — reading large volumes of data to produce aggregated insights about historical trends. A database handles your web application's real-time requests; a data warehouse handles your business intelligence team's analytical queries. The two are designed for fundamentally different workloads, and trying to use one for the other's purpose produces poor performance.

Podcast 3 — Prompt engineering

Speaker B: Scenario one — a schema design review prompt.

Review the following database schema for a social media application and identify normalisation issues, missing indexes, and performance risks. The schema has a single users table with columns: user_id, username, email, password_hash, profile_bio, follower_count integer, following_count integer, post_count integer, last_login timestamp, created_at timestamp, and a posts table with post_id, user_id, content text, like_count integer, comment_count integer, and created_at. Identify: the denormalisation issues with the counter columns (follower_count, like_count etc should be derived not stored), the missing foreign key constraint between posts.user_id and users.user_id, the indexes needed for the expected query patterns (user lookup by username, posts by user ordered by date), and the missing soft-delete mechanism.

Speaker B: Counter columns as denormalisation antipattern is the core schema flaw — stored counts go stale when inserts or deletes bypass the update logic, which always happens eventually; derived counts from a COUNT query with the right index are always correct.

Speaker A: Missing soft-delete mechanism means deleted users and posts are permanently gone with no audit trail — adding a deleted_at timestamp column allows recovery and preserves referential integrity for posts by deleted users.

Speaker B: Next — a database migration script prompt.

Write a database migration script in SQL that safely adds a new notifications table to an existing application database. The notifications table requires: notification_id UUID primary key with a default of gen_random_uuid(), user_id integer referencing users.user_id with cascade delete, notification_type enum (like, comment, follow, mention) stored as a text field with a check constraint, is_read boolean default false, created_at timestamp default now(), and content text not null. The migration must: create the table in a transaction so it rolls back cleanly on error, add an index on user_id and is_read for the primary query pattern of fetching unread notifications per user, and add a comment on each column explaining its purpose.

Speaker A: Wrapping the migration in a transaction so it rolls back on error is the database migration safety requirement — a partial migration that creates the table but fails on the index leaves the database in an inconsistent state that is harder to recover from than a clean rollback.

Speaker B: Right. Now a database indexing strategy prompt.

Design an indexing strategy for a PostgreSQL database supporting an e-commerce application with these primary query patterns: look up a product by its slug for the product page, search products by category_id ordered by created_at descending for category listings, find all orders for a specific user_id ordered by created_at descending, find orders by status enum pending, processing, shipped, delivered, cancelled for the fulfilment queue, and a full-text search on product name and description. For each query, specify the exact index type and columns, whether a partial index is appropriate, and whether a composite index is preferable to multiple single-column indexes.

Speaker B: Partial index on orders where status is pending for the fulfilment queue is the index efficiency insight — indexing only the rows where status equals pending means the index covers only the small fraction of orders that are actively being processed, not the entire orders history.

Speaker B: Fourth — a database security audit prompt.

Perform a database security audit for a PostgreSQL application database and generate a remediation checklist. Audit areas: application user privileges (the application database user should have only the privileges it needs — SELECT, INSERT, UPDATE, DELETE on specific tables — not superuser or schema creation rights), SQL injection risk in dynamic queries (identify any raw string interpolation in queries and replace with parameterised queries), sensitive data storage (passwords stored as bcrypt hashes not plaintext, PII columns encrypted or pseudonymised), network security (database should not be accessible on a public IP, only from the application server), and audit logging (all authentication events and schema changes should be logged).

Speaker A: Least-privilege database user as the first audit item is the most commonly violated database security principle — applications connecting to their own database with superuser credentials are a complete security failure.

Speaker B: Fifth — a database backup strategy prompt.

Design a database backup and recovery strategy for a production PostgreSQL database supporting a SaaS application with 10,000 active users. Define: the backup schedule (continuous WAL archiving plus daily full snapshots), the retention policy (7 daily snapshots, 4 weekly, 12 monthly), the recovery time objective and recovery point objective targets (RTO 1 hour, RPO 5 minutes using WAL streaming), the backup verification process (weekly automated restore test to a separate environment to confirm backup integrity), the point-in-time recovery procedure for restoring the database to any moment within the retention window, and the runbook for the on-call engineer to execute a database recovery.

Speaker B: Weekly automated restore test to a separate environment is the backup integrity verification that transforms a database backup from a comfort into a guarantee — an untested backup is a hope; a tested backup is evidence.

Speaker B: Sixth — a full small app.

Build a single-page web app called Schema Sketcher — a lightweight database schema designer for quickly sketching table structures. The user can add tables, name columns with their types from a dropdown (integer, text, boolean, timestamp, uuid, decimal), mark columns as primary key or foreign key, and draw a relationship line between two tables by clicking a foreign key column and its target table. The schema is stored in localStorage. An export button generates a CREATE TABLE SQL script from the schema. The UI shows tables as cards in a canvas with lines drawn between related tables.

Speaker A: CREATE TABLE SQL export from the visual schema is the developer handoff feature that makes the tool practically useful — sketching a schema visually and getting valid SQL output eliminates the translation step from design to implementation.

Speaker B: That's the lesson — the database is where the digital world remembers, and how well it remembers depends entirely on how well it was designed. From Edgar Codd's 1970 insight about tables and relations to the millisecond query that a perfect index makes possible, the database is not just a storage system — it is the architecture of digital memory.

Speaker B: Prompt example: