English for database developers and administrators

Databases & SQL Vocabulary: 100 Key English Terms

Database work happens in English: SQL keywords, error messages, execution plans, vendor documentation and monitoring dashboards all share the same vocabulary, whether you use PostgreSQL, MySQL, SQL Server, Oracle or MongoDB. Knowing these terms helps developers and database administrators read documentation and query plans quickly, discuss schema changes and outages with international teams, and answer technical interview questions with confidence.

  • 100 terms
  • 10 topics
  • 47 core terms
  • 200 example sentences

Read, understand, keep going

No account needed. Read the meaning, see where the term is used, then study the examples. Click any word in the lesson for help. You can also select a word and press Alt + Enter.

Database Basics

database

noun

Meaning

An organized collection of data stored on a computer so that programs and people can quickly find, add, change and remove information.

Where you use it

The most basic word of the field. In daily talk people often say 'the DB' or 'the database' for both the data and the software that manages it. A single server can host many databases, and developers create, connect to, query, back up and migrate a database.

Examples

  1. The app is slow because every page load sends twenty queries to the database.

  2. Please don't run that script against the production database without a backup.

Usage note

Two pronunciations are common: 'DAY-tuh-base' and 'DAT-uh-base'. Both are correct.

Common phrases

connect to the database · query the database · database server · production database · create a database

More about this term →

relational database

noun

Meaning

A type of database that stores data in tables made of rows and columns and links tables to each other through keys. Data is usually managed with SQL.

Where you use it

Based on the relational model that Edgar F. Codd described in 1970. PostgreSQL, MySQL, Oracle, SQL Server and SQLite are the best-known examples. The phrase is used mostly when comparing with NoSQL systems or in courses and architecture documents.

Examples

  1. For payments we chose a relational database because we need strict consistency and transactions.

  2. Most relational databases today also support JSON columns.

Common phrases

relational database management system · relational model · use a relational database · relational data

More about this term →

DBMS

abbreviation

Meaning

Database management system: the software that stores the data, runs queries, controls access and keeps data safe, such as PostgreSQL or Oracle.

Where you use it

Common in textbooks, university courses, job ads and vendor comparisons. RDBMS means a relational DBMS. In daily talk people usually name the product ('we're on Postgres') or say 'database engine' instead.

Examples

  1. Which DBMS does the project use, MySQL or PostgreSQL?

  2. The course covers how a DBMS handles storage, indexing and recovery.

Usage note

Say each letter: 'D-B-M-S'. The plural is DBMSs or DBMSes.

Common phrases

relational DBMS · choose a DBMS · DBMS vendor · open-source DBMS

More about this term →

ORM

abbreviation

Meaning

Object-relational mapping: a library that lets developers work with database rows as objects in their programming language and generates the SQL for them.

Where you use it

Popular examples are Hibernate, Entity Framework, Django ORM, SQLAlchemy, Prisma and ActiveRecord. ORMs save time but can hide inefficient queries; the most famous problem is the 'N+1 query problem'. Developers often mix ORM code with raw SQL for complex reports.

Examples

  1. The ORM is sending one query per order item; that's a classic N+1 problem.

  2. For this report, skip the ORM and write the SQL by hand.

Common phrases

use an ORM · ORM framework · N+1 query problem · ORM-generated SQL

More about this term →

CRUD

abbreviation

Meaning

Create, Read, Update, Delete: the four basic operations on stored data, matching the SQL statements INSERT, SELECT, UPDATE and DELETE.

Where you use it

Used as an adjective too: 'a CRUD app', 'CRUD screens', 'CRUD endpoints'. It often describes simple business applications whose main job is managing records. In REST APIs the four operations usually map to POST, GET, PUT or PATCH, and DELETE.

Examples

  1. Most of the admin panel is simple CRUD for products and categories.

  2. The intern built a CRUD API for the customer table in two days.

Common phrases

CRUD operations · CRUD app · CRUD endpoints · basic CRUD

More about this term →

data warehouse

noun

Meaning

A central database built for reporting and analysis that collects historical data from many systems and is designed for large read queries rather than small updates.

Where you use it

Snowflake, Google BigQuery, Amazon Redshift and Azure Synapse are popular cloud examples. Data is loaded through ETL or ELT pipelines and often modeled as a star schema with fact and dimension tables. It is the typical OLAP system, as opposed to OLTP.

Examples

  1. Sales data is copied to the data warehouse every night for the morning reports.

  2. Run heavy analytics in the data warehouse, not on the production database.

Common phrases

data warehouse · load into the data warehouse · star schema · ETL pipeline · cloud data warehouse

More about this term →

OLTP

abbreviation

Meaning

Online transaction processing: database workloads made of many small, fast reads and writes from users, such as placing orders or updating profiles.

Where you use it

Usually contrasted with OLAP (online analytical processing), which means large analytical queries over historical data. Architects say a database is 'built for OLTP' or 'an OLTP system', and warn against running heavy reports on it.

Examples

  1. Our OLTP database handles about 5,000 transactions per second at peak.

  2. Don't mix OLTP and analytics on the same server; the reports slow down checkout.

Common phrases

OLTP system · OLTP workload · OLTP vs OLAP · OLTP database

More about this term →

Tables, Schemas and Database Objects

table

noun

Meaning

A structure in a relational database that stores data about one kind of thing in rows and columns, for example all customers or all orders.

Where you use it

The main building block of a relational database. You create, alter, drop, truncate, join and query tables. Teams agree on naming rules, such as plural or singular table names (customers or customer) and snake_case.

Examples

  1. Order details are stored in a separate table called order_items.

  2. Who dropped the test table? My scripts are failing now.

Common phrases

create a table · drop a table · join two tables · lookup table · table name

More about this term →

row

noun

Meaning

One horizontal line of a table, holding all the values for a single item, such as one customer or one order.

Where you use it

Used constantly when people talk about data volume and query results: 'the table has 40 million rows', 'the query returned no rows', '3 rows affected'. Rows are inserted, updated, deleted and locked. In theory books a row is also called a tuple.

Examples

  1. The migration added a new row for every existing customer.

  2. The UPDATE should touch one row, but it says 5,000 rows affected.

Usage note

In this meaning 'row' rhymes with 'go'. The other 'row' (an argument) rhymes with 'cow'.

Common phrases

insert a row · return rows · rows affected · duplicate rows · row count

More about this term →

column

noun

Meaning

A vertical part of a table with a name and a data type, holding one kind of information for every row, such as email or created_at.

Where you use it

You add, rename, drop and index columns, and you choose which columns a query returns. Common phrases: 'nullable column', 'computed column', 'column name', 'SELECT only the columns you need'. Some tools and older texts call a column a field.

Examples

  1. We need to add a phone_number column to the customers table.

  2. Avoid SELECT * and list only the columns the screen actually uses.

Usage note

The final 'n' is silent: say 'KOL-um', not 'kol-umn'.

Common phrases

add a column · drop a column · column name · nullable column · rename a column

More about this term →

schema

noun

Meaning

The structure of a database: its tables, columns, data types, keys and relationships. In some products it is also a named group of tables inside a database.

Where you use it

Two meanings are common. 'Schema change' or 'schema design' refers to the structure. In PostgreSQL and SQL Server a schema is also a namespace like public or dbo, while in MySQL 'schema' and 'database' mean the same thing. You design, change, migrate and version a schema.

Examples

  1. Any schema change on the production database must go through a migration script.

  2. The new reporting tables live in a separate schema called analytics.

Usage note

Say 'SKEE-muh', not 'SHEE-ma'. The usual plural is 'schemas'; 'schemata' is rare and formal.

Common phrases

schema change · database schema · schema design · schema migration · schemaless

More about this term →

record

noun

Meaning

One complete set of data about a single item, such as one customer or one invoice; in a relational table it is the same as a row.

Where you use it

'Record' sounds more business-like than 'row' and is common when talking to users, analysts and managers: 'the record was updated', 'duplicate records', 'audit records'. Developers switch between 'row' and 'record' freely.

Examples

  1. The CRM shows two records for the same customer with slightly different emails.

  2. Deleted records are kept for thirty days in the archive table.

Usage note

Stress changes with meaning: the noun is 'REC-ord', the verb 'to record' is 're-CORD'.

Common phrases

duplicate records · update a record · insert a record · record count · audit record

More about this term →

data type

noun

Meaning

The kind of value a column can hold, such as whole numbers, text, dates or true/false values. It controls what can be stored and how much space it takes.

Where you use it

Chosen when you create or alter a column: INT, BIGINT, VARCHAR(255), TEXT, DATE, TIMESTAMP, BOOLEAN, DECIMAL(10,2). A wrong data type causes bugs and slow queries, for example storing dates as text or money as FLOAT. Names differ slightly between products.

Examples

  1. Use DECIMAL, not FLOAT, as the data type for prices.

  2. Changing the data type of a column on a table this big will lock it for a while.

Common phrases

choose a data type · change the data type · data type mismatch · numeric data type

More about this term →

NULL

noun

Meaning

A special marker meaning that a value is missing or unknown. It is not the same as zero or an empty string.

Where you use it

Columns are 'nullable' or 'NOT NULL'. Because NULL means unknown, 'x = NULL' is never true; you must write 'IS NULL' or 'IS NOT NULL'. NULLs also affect results: COUNT(column) and AVG skip them, and functions like COALESCE replace them with a default.

Examples

  1. The query returned nothing because it used = NULL instead of IS NULL.

  2. Half of the customers have NULL in the phone column.

Usage note

In Oracle an empty string is treated as NULL, while PostgreSQL, MySQL and SQL Server treat them as different values.

Common phrases

IS NULL · NOT NULL · nullable column · NULL value · allow NULLs

More about this term →

CREATE TABLE

phrase

Meaning

The SQL statement that makes a new table, defining its name, its columns with their data types and its constraints such as the primary key.

Where you use it

Part of DDL. In real projects it lives in migration files rather than being typed by hand. Useful variants are CREATE TABLE IF NOT EXISTS and CREATE TABLE ... AS SELECT, which copies the result of a query into a new table.

Examples

  1. Paste the CREATE TABLE script here so I can see the column types.

  2. The migration failed because the CREATE TABLE ran twice; add IF NOT EXISTS.

Common phrases

CREATE TABLE statement · CREATE TABLE IF NOT EXISTS · CREATE TABLE AS SELECT · table definition

More about this term →

ALTER TABLE

phrase

Meaning

The SQL statement that changes the structure of an existing table, for example to add, rename or drop a column or to add a constraint.

Where you use it

Part of DDL. On small tables it is instant, but on large production tables some ALTER TABLE operations rewrite or lock the whole table, so teams plan them carefully, run them at quiet hours or use online schema change tools.

Examples

  1. The ALTER TABLE locked the orders table for ten minutes during peak hours.

  2. Write an ALTER TABLE to add a NOT NULL column with a default value.

Common phrases

ALTER TABLE ADD COLUMN · ALTER TABLE statement · run an ALTER TABLE · online schema change

More about this term →

view

noun

Meaning

A saved SELECT query that you can use like a table. It usually stores no data of its own and shows the current result of the query each time.

Where you use it

Used to hide complex joins, give reporting teams a simple interface or limit which columns a user can see. A materialized view is different: it stores the result physically and must be refreshed. You create, drop and query views.

Examples

  1. The finance team queries a view that joins orders, payments and refunds.

  2. We refresh the materialized view every hour because the base query is expensive.

Common phrases

create a view · materialized view · refresh a view · query a view

More about this term →

stored procedure

noun

Meaning

A named block of SQL code saved inside the database that can take parameters and be run again and again with a single call.

Where you use it

Very common in SQL Server and Oracle shops, often shortened to SP or 'proc'. You create, call or execute (EXEC) a stored procedure. Supporters like the speed and central logic; critics say business rules hidden in the database are hard to test and version.

Examples

  1. The month-end report is generated by a stored procedure that runs at midnight.

  2. Don't change that stored procedure; three other systems call it.

Common phrases

call a stored procedure · execute a stored procedure · write a stored procedure · stored procedure parameter

More about this term →

default value

noun

Meaning

The value a column gets automatically when a new row is inserted without a value for that column, such as 0, 'pending' or the current time.

Where you use it

Set with DEFAULT in CREATE TABLE or ALTER TABLE, for example created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP. Defaults are important when adding a NOT NULL column to a table that already has data, because existing rows need a value too.

Examples

  1. Give the status column a default value of 'pending'.

  2. The new column has no default value, so all old rows show NULL.

Common phrases

set a default value · DEFAULT CURRENT_TIMESTAMP · default value of · column default

More about this term →

trigger

noun

Meaning

A piece of code stored in the database that runs automatically when a certain event, such as an insert, update or delete, happens on a table.

Where you use it

Triggers fire BEFORE or AFTER an event, for example to write audit rows or update a last_modified column. They are powerful but hidden: developers may not know a trigger exists, which makes bugs and slow writes hard to explain. You create, drop, enable and disable triggers.

Examples

  1. A trigger writes every price change to the price_history table.

  2. The insert is slow because of a trigger nobody remembered.

Common phrases

create a trigger · trigger fires · AFTER INSERT trigger · disable a trigger

More about this term →

migration

noun

Meaning

A versioned script that changes a database schema in a controlled way, or, more broadly, a project to move data from one database or system to another.

Where you use it

In development, migrations are files managed by tools like Flyway, Liquibase, Alembic or Rails and Django migrations. You write, run, apply and roll back migrations. A 'database migration' project, such as Oracle to PostgreSQL, is a much bigger task.

Examples

  1. Write a migration that adds the column, and another one later that drops the old one.

  2. The deploy failed because a migration timed out on the large events table.

Common phrases

run a migration · write a migration · schema migration · roll back a migration · data migration

More about this term →

SQL Statements and Queries

SQL

abbreviation

Meaning

Structured Query Language: the standard language used to create tables and to read, add, change and delete data in relational databases.

Where you use it

Used in job ads ('strong SQL skills'), interviews and daily work. People write SQL, run SQL, and talk about 'raw SQL' when they skip an ORM. Each product adds its own dialect, such as T-SQL (SQL Server) or PL/SQL (Oracle), on top of the standard.

Examples

  1. You don't need Python for this report; a few lines of SQL will do.

  2. Candidates take a one-hour SQL test before the technical interview.

Usage note

Both 'S-Q-L' and 'sequel' are correct. The article follows the sound: 'an S-Q-L query' but 'a sequel query'.

Common phrases

write SQL · run a SQL query · raw SQL · SQL dialect · SQL skills

More about this term →

query

noun

Meaning

A request sent to a database to read or change data, usually written in SQL. As a verb, to query means to ask a database for data.

Where you use it

One of the most frequent words in the field. You write, run, execute, optimize and tune queries; a query returns rows, times out or takes too long. 'Query' is also a verb: 'query the orders table'. In everyday English, 'query' can simply mean a question from a customer.

Examples

  1. This query takes eight seconds; can you check whether it uses an index?

  2. The dashboard queries the database every thirty seconds.

Common phrases

run a query · write a query · slow query · query results · query the database

More about this term →

SELECT statement

noun

Meaning

The SQL statement that reads data from one or more tables and returns the matching rows without changing anything in the database.

Where you use it

The statement developers write most. Its main parts are SELECT, FROM, WHERE, GROUP BY, HAVING and ORDER BY. People say 'run a SELECT', 'a simple SELECT' or 'a read query'. 'SELECT *' returns all columns and is fine for exploring but discouraged in application code.

Examples

  1. Before you run the DELETE, run the same WHERE condition in a SELECT statement to see which rows it hits.

  2. The reporting user can only run SELECT statements; it has no write access.

Common phrases

run a SELECT statement · simple SELECT · SELECT * · SELECT query · nested SELECT

More about this term →

WHERE clause

noun

Meaning

The part of a SQL statement that sets a condition, so only the rows that meet it are read, updated or deleted.

Where you use it

Used in SELECT, UPDATE and DELETE. People talk about 'filtering in the WHERE clause' and warn each other about an UPDATE or DELETE 'without a WHERE clause', which changes every row. Conditions are combined with AND, OR, IN, BETWEEN and LIKE.

Examples

  1. Someone ran an UPDATE without a WHERE clause and every price became zero.

  2. Add status = 'active' to the WHERE clause so cancelled accounts are excluded.

Usage note

Turkish speakers often call every part of a query a 'condition'. In English, WHERE, FROM, GROUP BY and ORDER BY are each called a clause.

Common phrases

add to the WHERE clause · filter in the WHERE clause · without a WHERE clause · WHERE condition

More about this term →

join

noun

Meaning

A SQL operation that combines rows from two or more tables using a related column, such as a customer ID. As a verb, to join tables means to combine them this way.

Where you use it

Joins are at the heart of relational databases. The main types are inner join, left (outer) join, right join, full outer join and cross join. People 'join A to B' or 'join A with B on customer_id', and complain about queries with 'too many joins'.

Examples

  1. Join the orders table to customers on customer_id to get the customer names.

  2. The report is slow because of a join on a column without an index.

Common phrases

join two tables · join on a column · self-join · join condition · cross join

More about this term →

INSERT statement

noun

Meaning

The SQL statement that adds one or more new rows to a table, using INSERT INTO followed by the column names and their values.

Where you use it

People say 'insert a row', 'run an INSERT', 'bulk insert' and 'batch inserts'. For large data loads, many rows in one statement or tools like COPY (PostgreSQL) or BULK INSERT (SQL Server) are much faster than inserting rows one by one.

Examples

  1. The INSERT statement failed because the email column has a unique constraint.

  2. Combine those 10,000 single-row INSERT statements into a few batch inserts.

Common phrases

run an INSERT statement · insert a row · bulk insert · batch insert · INSERT INTO

More about this term →

UPDATE statement

noun

Meaning

The SQL statement that changes values in rows that already exist, usually limited by a WHERE clause so that only the right rows are changed.

Where you use it

Written as UPDATE table SET column = value WHERE condition. Careful teams run the WHERE part as a SELECT first, wrap risky updates in a transaction and check the 'rows affected' count before committing. A mass update on a big table can lock it and fill the log.

Examples

  1. I'll run the UPDATE statement inside a transaction and check the row count before I commit.

  2. This UPDATE statement should change only the orders from last week.

Common phrases

run an UPDATE statement · UPDATE ... SET · mass update · update a record · rows affected

More about this term →

DELETE statement

noun

Meaning

The SQL statement that removes rows from a table. With a WHERE clause it removes only matching rows; without one it removes every row.

Where you use it

Written as DELETE FROM table WHERE condition. Many systems avoid real deletes and use 'soft delete' instead, setting a deleted_at column. Deleting millions of rows is usually done in small batches to avoid long locks. Do not confuse it with TRUNCATE or DROP.

Examples

  1. The cleanup job runs a DELETE statement in batches of 5,000 rows.

  2. Always test a DELETE statement on staging before you run it on production.

Common phrases

run a DELETE statement · DELETE FROM · soft delete · delete in batches · hard delete

More about this term →

ORDER BY

phrase

Meaning

The SQL clause that sorts the rows of a result by one or more columns, in ascending (ASC) or descending (DESC) order.

Where you use it

Written near the end of a SELECT: ORDER BY created_at DESC. Ascending is the default. Without ORDER BY the database does not promise any order, even if results look sorted. It is often used with LIMIT, TOP or FETCH FIRST to get the newest or largest rows.

Examples

  1. Add ORDER BY created_at DESC so the newest tickets appear first.

  2. The test passed locally but failed on CI because the query had no ORDER BY.

Common phrases

ORDER BY ... DESC · ORDER BY ... ASC · sort order · order by date

More about this term →

GROUP BY

phrase

Meaning

The SQL clause that puts rows with the same values into groups so that a total, count or average can be calculated for each group.

Where you use it

Used with aggregate functions: SELECT city, COUNT(*) FROM customers GROUP BY city. In standard SQL every selected column that is not inside an aggregate function must appear in GROUP BY; breaking this rule is one of the most common SQL errors.

Examples

  1. Group by month to see how revenue changed over the year.

  2. The query fails because product_name is in the SELECT list but not in the GROUP BY.

Common phrases

GROUP BY a column · group by date · GROUP BY with HAVING · grouped results

More about this term →

aggregate function

noun

Meaning

A SQL function that takes many rows and returns a single value from them, such as COUNT, SUM, AVG, MIN or MAX.

Where you use it

Used for reports and dashboards, usually with GROUP BY. Analysts talk about 'aggregating data' and 'aggregates'. Remember that most aggregate functions ignore NULL values, and that COUNT(*) counts rows while COUNT(column) counts only non-NULL values.

Examples

  1. Use an aggregate function like SUM to get the total sales per store.

  2. You can't use an aggregate function in the WHERE clause; filter it with HAVING.

Usage note

As a noun or adjective 'aggregate' ends in a weak '-gut' sound; as a verb (to aggregate) it ends in '-gate'.

Common phrases

use an aggregate function · aggregate query · aggregate data · COUNT(*)

More about this term →

inner join

noun

Meaning

A join that returns only the rows that have a match in both tables; rows without a partner on the other side are left out.

Where you use it

The default join: writing just JOIN means INNER JOIN. It is the right choice when every row must have a partner, for example orders with their customers. A common bug is losing rows because an inner join was used where a left join was needed.

Examples

  1. An inner join drops products that have never been ordered.

  2. The report shows fewer customers than expected because of the inner join on addresses.

Common phrases

inner join on · use an inner join · inner join two tables · JOIN ... ON

More about this term →

left join

noun

Meaning

A join that returns all rows from the first (left) table and the matching rows from the second; where there is no match, the second table's columns are NULL.

Where you use it

Also written LEFT OUTER JOIN; the two mean the same. It is used to keep rows that have no partner, for example customers with no orders. A classic trick is LEFT JOIN ... WHERE right_table.id IS NULL to find rows with no match.

Examples

  1. Use a left join so customers without any orders still appear in the list.

  2. Putting a condition on the right table in the WHERE clause turns your left join into an inner join.

Common phrases

left join on · LEFT OUTER JOIN · left join with IS NULL · use a left join

More about this term →

subquery

noun

Meaning

A query written inside another query, in brackets, whose result is used by the outer query, for example as a list of values to filter by.

Where you use it

Also called an inner or nested query. Subqueries appear in WHERE (… IN (SELECT …)), in FROM as a derived table, or in the SELECT list. A correlated subquery refers to the outer query and runs once per row, which can be slow; a join or CTE is often clearer.

Examples

  1. The subquery returns the IDs of customers who ordered last month.

  2. Rewriting the correlated subquery as a join cut the run time in half.

Common phrases

correlated subquery · nested subquery · subquery in the WHERE clause · rewrite a subquery

More about this term →

HAVING clause

noun

Meaning

The part of a SQL query that filters groups after GROUP BY has run, usually using the result of an aggregate function such as COUNT or SUM.

Where you use it

The key rule: WHERE filters rows before grouping, HAVING filters groups after grouping. A typical example is HAVING COUNT(*) > 5. Putting a plain row filter in HAVING works but is slower, so it belongs in WHERE. 'WHERE vs HAVING' is a classic interview question.

Examples

  1. Use a HAVING clause to list only the cities with more than 100 customers.

  2. Move the date filter from the HAVING clause to WHERE so fewer rows get grouped.

Common phrases

HAVING COUNT(*) · GROUP BY ... HAVING · filter groups · WHERE vs HAVING

More about this term →

SELECT DISTINCT

phrase

Meaning

A form of the SELECT statement that removes duplicate rows from the result, so each combination of returned values appears only once.

Where you use it

Handy for questions like 'which countries do our customers come from?'. Experienced developers are suspicious when DISTINCT is added to hide duplicates caused by a wrong join; the fix is usually the join, not DISTINCT. COUNT(DISTINCT column) counts unique values.

Examples

  1. SELECT DISTINCT country FROM customers gives us the list of markets we sell in.

  2. Don't fix the duplicates with SELECT DISTINCT; the join condition is wrong.

Common phrases

SELECT DISTINCT · COUNT(DISTINCT ...) · remove duplicates · distinct values

More about this term →

alias

noun

Meaning

A temporary short name given to a table or column inside a query, usually with the AS keyword, to make the query shorter or the output clearer.

Where you use it

Table aliases like 'FROM customers c' are standard when joining many tables. Column aliases rename output, for example SUM(amount) AS total_sales. Note that in most databases you cannot use a column alias in the WHERE clause of the same query.

Examples

  1. Give the subquery in the FROM clause an alias, otherwise MySQL throws an error.

  2. Use clear aliases like ord and cust instead of a, b and c.

Usage note

Pronounced 'AY-lee-us', with stress on the first syllable.

Common phrases

table alias · column alias · give an alias · AS keyword

More about this term →

upsert

verb

Meaning

To insert a row if it does not exist yet, or update it if it already does, in a single operation. The word combines 'update' and 'insert'.

Where you use it

Also a noun: 'do an upsert'. Syntax differs: INSERT ... ON CONFLICT DO UPDATE in PostgreSQL and SQLite, INSERT ... ON DUPLICATE KEY UPDATE in MySQL, and MERGE in SQL Server and Oracle. It needs a unique key to decide whether the row exists.

Examples

  1. The sync job upserts products by SKU, so running it twice is safe.

  2. Use an upsert instead of checking first and then inserting; that check can race.

Common phrases

upsert a row · ON CONFLICT DO UPDATE · MERGE statement · upsert by key

More about this term →

CTE

abbreviation

Meaning

Common table expression: a named temporary result defined with WITH at the start of a query, which the main query can then use like a table.

Where you use it

CTEs make long queries readable by splitting them into named steps. A recursive CTE (WITH RECURSIVE in PostgreSQL and MySQL) can walk tree data such as category hierarchies or org charts. Developers often say 'pull that out into a CTE'.

Examples

  1. I moved the monthly totals into a CTE so the final SELECT is easier to read.

  2. A recursive CTE returns the whole category tree in one query.

Common phrases

WITH clause · recursive CTE · use a CTE · chain CTEs

More about this term →

window function

noun

Meaning

A SQL function that calculates a value across a set of related rows, such as a running total or a rank, while still returning every individual row.

Where you use it

Written with OVER, often with PARTITION BY and ORDER BY: ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY created_at). Common ones are ROW_NUMBER, RANK, LAG, LEAD and SUM OVER. Unlike GROUP BY, rows are not collapsed. Oracle calls them analytic functions.

Examples

  1. Use a window function to get each customer's most recent order.

  2. The running balance column is calculated with a window function over the transactions.

Common phrases

window function · OVER (PARTITION BY ...) · ROW_NUMBER() · running total

More about this term →

UNION

noun

Meaning

A SQL operator that stacks the results of two or more SELECT statements into one result, one under the other, removing duplicate rows.

Where you use it

Each SELECT must return the same number of columns with compatible types. UNION ALL keeps duplicates and is faster, because the database does not have to check for them; use it when duplicates are impossible or wanted. A join puts columns side by side; a UNION puts rows on top of each other.

Examples

  1. We UNION the archived orders with the current ones to build the yearly report.

  2. Switch to UNION ALL here; the two tables can't contain the same rows anyway.

Common phrases

UNION ALL · UNION of two queries · UNION vs JOIN · combine results

More about this term →

truncate

verb

Meaning

To remove all rows from a table at once with TRUNCATE TABLE, keeping the table and its structure; it is much faster than deleting rows one by one.

Where you use it

TRUNCATE takes no WHERE clause and usually does not fire DELETE triggers. In MySQL and Oracle it commits immediately and cannot be rolled back; in PostgreSQL and SQL Server it can be rolled back inside a transaction. It often resets identity counters too.

Examples

  1. Truncate the staging table before each import so old rows don't get mixed in.

  2. Someone truncated the wrong table, and we had to restore it from last night's backup.

Usage note

DELETE removes chosen rows, TRUNCATE removes all rows but keeps the table, and DROP removes the table itself.

Common phrases

truncate a table · TRUNCATE TABLE · truncate vs delete · truncate and reload

More about this term →

DDL

abbreviation

Meaning

Data definition language: the SQL statements that create, change and remove database objects, such as CREATE, ALTER and DROP.

Where you use it

People say 'the DDL for this table' to mean its CREATE script, or 'DDL changes' for schema changes. DDL often needs higher privileges and extra review, and in some databases, such as MySQL and Oracle, it commits the current transaction automatically.

Examples

  1. Can you send me the DDL for the invoices table?

  2. All DDL changes in production need a ticket and DBA review.

Common phrases

DDL statement · DDL changes · generate DDL · DDL script

More about this term →

DML

abbreviation

Meaning

Data manipulation language: the SQL statements that work with the data inside tables, mainly INSERT, UPDATE, DELETE and often SELECT.

Where you use it

Some sources list SELECT separately as DQL (data query language). The distinction matters for permissions, auditing and change control: DML changes data, DDL changes structure. MERGE is also counted as DML.

Examples

  1. The audit trigger records every DML operation on the salaries table.

  2. Developers can run DML on staging but not DDL.

Common phrases

DML statement · DML operation · DML vs DDL · DML trigger

More about this term →

Keys and Constraints

primary key

noun

Meaning

A column, or a set of columns, whose value uniquely identifies each row in a table. It cannot be empty and no two rows can share it.

Where you use it

Every well-designed table has exactly one primary key, often an id column. People shorten it to PK in diagrams and chat. You define, add or change a primary key; a 'duplicate key' error means you tried to insert a value that already exists.

Examples

  1. The primary key of the orders table is order_id.

  2. The import failed with a primary key violation, so some IDs must already exist.

Common phrases

define a primary key · primary key column · primary key violation · composite primary key

More about this term →

foreign key

noun

Meaning

A column in one table that points to the primary key of another table, linking the two and stopping you from storing references to rows that do not exist.

Where you use it

Shortened to FK. You add or drop a foreign key, and a 'foreign key constraint fails' error means the referenced row is missing or still has child rows. Teams sometimes debate whether to enforce foreign keys in the database or only in application code.

Examples

  1. orders.customer_id is a foreign key to customers.id.

  2. I can't delete this customer because of a foreign key constraint on the invoices table.

Usage note

'Foreign' here has nothing to do with other countries; it means the key belongs to another table. The 'g' is silent: 'FOR-in'.

Common phrases

add a foreign key · foreign key constraint · foreign key reference · drop a foreign key

More about this term →

constraint

noun

Meaning

A rule set on a table or column that the database enforces automatically, rejecting any data that would break it.

Where you use it

The main kinds are PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, CHECK and DEFAULT (some books do not count DEFAULT as a real constraint). Data that breaks one causes a 'constraint violation' error. You add, drop, name and sometimes temporarily disable constraints during large data loads.

Examples

  1. A CHECK constraint makes sure the discount is between 0 and 100.

  2. Give every constraint a clear name so error messages are easy to understand.

Common phrases

add a constraint · constraint violation · CHECK constraint · drop a constraint · enforce a constraint

More about this term →

unique constraint

noun

Meaning

A rule that stops two rows from having the same value in a column or combination of columns, for example two users with the same email address.

Where you use it

Unlike a primary key, a table can have many unique constraints, and most databases let unique columns contain NULLs. Behind the scenes the database builds a unique index. Trying to insert a duplicate gives a 'duplicate key' or 'unique violation' error.

Examples

  1. Add a unique constraint on email so the same person can't sign up twice.

  2. The import stopped at row 812 because of a unique constraint violation.

Common phrases

add a unique constraint · unique index · unique violation · duplicate key error

More about this term →

auto-increment

adjective

Meaning

Describes a numeric column whose value the database fills in automatically with the next number in sequence each time a new row is added.

Where you use it

Mostly used for id columns that serve as surrogate keys. The keyword differs by product: AUTO_INCREMENT in MySQL, IDENTITY in SQL Server, SERIAL or GENERATED AS IDENTITY in PostgreSQL, and sequences in Oracle. Gaps in the numbers are normal after rollbacks and deletes.

Examples

  1. The id column is auto-increment, so don't send a value for it in the INSERT.

  2. Exposing auto-increment IDs in URLs lets anyone guess how many orders we have.

Common phrases

auto-increment column · auto-increment ID · identity column · sequence

More about this term →

composite key

noun

Meaning

A key made of two or more columns that identify a row only when used together, such as order ID plus product ID in an order items table.

Where you use it

Typical in junction tables for many-to-many relationships. Some teams prefer a simple surrogate id plus a unique constraint on the column pair, because composite keys make foreign keys and ORM mappings longer. Also called a compound or multi-column key.

Examples

  1. The enrollments table uses a composite key of student_id and course_id.

  2. Column order matters in a composite key because of the index behind it.

Common phrases

composite primary key · composite key of · composite index · multi-column key

More about this term →

surrogate key

noun

Meaning

An artificial key with no business meaning, such as an auto-increment number or a UUID, created only to identify each row.

Where you use it

The opposite is a natural key, a real-world value such as a tax number or ISBN. Most modern schemas use surrogate keys because real-world values can change or repeat. A unique constraint on the natural key is still a good idea.

Examples

  1. We switched from national ID numbers to a surrogate key after a customer's ID was entered wrongly.

  2. Every table gets a surrogate key called id, plus unique constraints where needed.

Common phrases

use a surrogate key · surrogate key vs natural key · UUID · artificial key

More about this term →

referential integrity

noun

Meaning

The rule that every reference between tables must point to a row that really exists, so there are no orders for missing customers.

Where you use it

Enforced by foreign keys. When it breaks, you get 'orphan' or 'orphaned' rows. It is a common topic in design reviews and data quality reports, and the main argument for keeping foreign keys in the database instead of only in code.

Examples

  1. Without foreign keys we lost referential integrity and found 3,000 orphaned order lines.

  2. The database enforces referential integrity, so you can't delete a category that still has products.

Common phrases

enforce referential integrity · break referential integrity · orphaned rows · data integrity

More about this term →

cascade

verb

Meaning

Of a delete or update: to pass automatically from a parent row to all the child rows that point to it through a foreign key.

Where you use it

Set on a foreign key with ON DELETE CASCADE or ON UPDATE CASCADE. Other options are SET NULL, RESTRICT and NO ACTION. Cascading deletes are convenient but dangerous: one DELETE can silently remove thousands of related rows.

Examples

  1. Deleting a customer cascades to their addresses and payment methods.

  2. Be careful: the foreign key is set to cascade, so this will also delete all the invoices.

Common phrases

ON DELETE CASCADE · cascading delete · cascade to child rows · ON UPDATE CASCADE

More about this term →

Data Modeling and Normalization

normalization

noun

Meaning

The process of organizing tables so that each fact is stored in only one place, which reduces repeated data and prevents update mistakes.

Where you use it

A standard topic in courses, interviews and design reviews. It is done step by step through normal forms (1NF, 2NF, 3NF and beyond). People say a schema is 'well normalized' or 'over-normalized', and sometimes choose to denormalize for read speed.

Examples

  1. Normalization moved the customer address out of the orders table into its own table.

  2. The interviewer asked me to explain normalization with a simple example.

Usage note

British English often writes 'normalisation'; database documentation almost always uses the American spelling with 'z'.

Common phrases

database normalization · normalize a table · well normalized · level of normalization

More about this term →

ER diagram

noun

Meaning

A drawing of a database design that shows the entities (usually tables), their attributes and the relationships between them, such as one-to-many.

Where you use it

ER stands for entity-relationship; the short form ERD is also common. Teams draw ER diagrams before building a schema and generate them from existing databases for documentation. Lines often use crow's foot notation to show 'one' and 'many'.

Examples

  1. Let's sketch an ER diagram before we create any tables.

  2. The ER diagram in the wiki is two years old and missing half the tables.

Common phrases

draw an ER diagram · ERD · entity-relationship model · crow's foot notation

More about this term →

one-to-many relationship

noun

Meaning

A link between two tables where one row in the first table can be connected to many rows in the second, but each of those belongs to only one, like a customer and their orders.

Where you use it

The most common relationship in databases. It is built with a foreign key on the 'many' side, for example customer_id in the orders table. Also written 1:N or 1-to-many. ORMs describe the two sides as 'has many' and 'belongs to'.

Examples

  1. There is a one-to-many relationship between departments and employees.

  2. To model a one-to-many relationship, put the foreign key on the child table.

Common phrases

one-to-many relationship between · 1:N relationship · parent and child tables · has many

More about this term →

many-to-many relationship

noun

Meaning

A link where many rows in one table can relate to many rows in another, like students and courses. It needs a third table in between to store the pairs.

Where you use it

The table in the middle has many names: junction table, join table, bridge table, link table or associative table. It usually holds two foreign keys that together form its primary key, and sometimes extra data such as the date a student enrolled.

Examples

  1. Products and tags have a many-to-many relationship, so we added a product_tags table.

  2. In an interview, explain how you would store a many-to-many relationship between users and roles.

Common phrases

many-to-many relationship · junction table · bridge table · N:M relationship

More about this term →

denormalization

noun

Meaning

Deliberately storing some data in more than one place, or combining tables, to make reads faster, while accepting more work to keep the copies correct.

Where you use it

Common in reporting databases, data warehouses and NoSQL designs. Examples include storing an order total instead of calculating it or copying the customer name into the orders table. It should be a conscious decision after normalizing, not an excuse for poor design.

Examples

  1. We accepted some denormalization in the reporting tables to avoid eight-table joins.

  2. Denormalization speeds up the product page, but now the price is stored in two places.

Common phrases

denormalize a table · deliberate denormalization · denormalized data · read performance

More about this term →

normal form

noun

Meaning

One of a series of rules for table design (1NF, 2NF, 3NF and higher); each level removes a particular kind of repeated or badly placed data.

Where you use it

In short: 1NF means one value per cell and no repeating groups; 2NF removes columns that depend on only part of a composite key; 3NF removes columns that depend on other non-key columns. Most business schemas aim for third normal form.

Examples

  1. Storing three phone numbers in one column breaks first normal form.

  2. The schema is in third normal form except for the reporting tables.

Common phrases

first normal form · third normal form · 1NF · 3NF · Boyce-Codd normal form

More about this term →

cardinality

noun

Meaning

Either the type of relationship between tables (one-to-one, one-to-many, many-to-many) or the number of distinct values in a column.

Where you use it

Context decides the meaning. In data modeling it describes relationships on an ER diagram. In performance work, 'high cardinality' means many distinct values (like email) and 'low cardinality' means few (like status); high-cardinality columns usually make better index candidates.

Examples

  1. An index on the gender column won't help much because its cardinality is very low.

  2. Check the cardinality of each relationship before you draw the foreign keys.

Common phrases

high cardinality · low cardinality · relationship cardinality · cardinality estimate

More about this term →

Indexes and Query Performance

index

noun

Meaning

An extra data structure built on one or more columns that lets the database find rows quickly without reading the whole table, like the index at the back of a book.

Where you use it

The first thing people check when a query is slow. You create, add, drop and rebuild indexes; a query 'uses' or 'hits' an index. Indexes speed up reads but slow down writes and take disk space, so adding one is always a trade-off. The default type in most databases is a B-tree.

Examples

  1. After we added an index on created_at, the query went from six seconds to forty milliseconds.

  2. Too many indexes on this table are slowing down our inserts.

Usage note

The plural is 'indexes' in most database documentation; 'indices' is also seen but sounds more mathematical.

Common phrases

create an index · add an index · drop an index · use an index · composite index

More about this term →

execution plan

noun

Meaning

The step-by-step strategy the database chooses to run a query, showing which indexes it uses, how tables are joined and how many rows it expects.

Where you use it

Also called a query plan. You get it with EXPLAIN in PostgreSQL and MySQL (EXPLAIN ANALYZE also runs the query and shows real times) or with the estimated and actual plan views in SQL Server. Reading plans is a core skill for tuning slow queries.

Examples

  1. The execution plan shows a sequential scan on a ten-million-row table.

  2. Can you share the execution plan from production, not from your laptop?

Common phrases

read an execution plan · query plan · EXPLAIN ANALYZE · actual execution plan · estimated plan

More about this term →

query optimizer

noun

Meaning

The part of a database engine that looks at a query and the table statistics and picks the cheapest way to run it, producing the execution plan.

Where you use it

Usually just 'the optimizer'. Most modern databases use a cost-based optimizer that relies on statistics, so outdated statistics lead to bad plans. When the optimizer chooses badly, people update statistics, rewrite the query or, as a last resort, add hints.

Examples

  1. The query optimizer ignored our new index because the statistics were out of date.

  2. After the upgrade, the query optimizer started choosing a different join order.

Common phrases

cost-based optimizer · optimizer statistics · optimizer hint · update statistics

More about this term →

clustered index

noun

Meaning

An index that decides the physical order in which a table's rows are stored, so a table can have only one; the other indexes are non-clustered.

Where you use it

A key term in SQL Server, where the primary key becomes the clustered index by default, and in MySQL InnoDB, where the primary key is always the clustered index. PostgreSQL has no permanent clustered index; its CLUSTER command reorders a table only once.

Examples

  1. A random GUID as the clustered index causes page splits on every insert.

  2. The table has a clustered index on order_date and two non-clustered indexes.

Common phrases

clustered index · non-clustered index · clustered index scan · clustered index key

More about this term →

full table scan

noun

Meaning

Reading every row of a table to find the ones a query needs, instead of jumping straight to them through an index.

Where you use it

Execution plans show it as 'Seq Scan' in PostgreSQL, 'type: ALL' in MySQL and 'Table Scan' or 'Clustered Index Scan' in SQL Server. On big tables it is a common cause of slow queries, but on small tables, or when most rows are needed anyway, it can actually be the fastest choice.

Examples

  1. Because the WHERE clause wraps the column in a function, the database does a full table scan.

  2. A full table scan on 200 rows is nothing to worry about.

Common phrases

do a full table scan · avoid a full table scan · sequential scan · table scan

More about this term →

slow query

noun

Meaning

A query that takes longer than an agreed limit to finish, slowing down the application and using up database resources.

Where you use it

Databases can record them in a slow query log: MySQL has slow_query_log with long_query_time, and PostgreSQL uses log_min_duration_statement. Teams review the slowest queries regularly and fix them with indexes, rewrites or caching.

Examples

  1. The slow query log shows the same report query taking over 30 seconds every hour.

  2. One slow query held a lock and blocked the whole checkout flow.

Common phrases

slow query log · find slow queries · fix a slow query · top slow queries

More about this term →

connection pool

noun

Meaning

A set of open database connections that an application keeps ready and reuses, instead of opening a new, slow connection for every request.

Where you use it

Built into most frameworks (HikariCP in Java, for example) or run as a separate tool such as PgBouncer. Common problems are 'pool exhausted' errors when all connections are busy and too many pools overloading the database's connection limit.

Examples

  1. Requests are timing out because the connection pool has only ten connections.

  2. Each service has its own connection pool, so together they open 800 connections.

Common phrases

connection pool size · pool exhausted · connection pooling · max connections

More about this term →

partitioning

noun

Meaning

Dividing one large table into smaller pieces, called partitions, by a rule such as date range or region, while it still looks like one table to queries.

Where you use it

Common types are range, list and hash partitioning. Benefits include partition pruning (queries skip irrelevant partitions) and easy removal of old data by dropping a whole partition instead of deleting millions of rows.

Examples

  1. Monthly partitioning lets us drop last year's logs in a second.

  2. Partitioning only helps if your queries filter on the partition key.

Common phrases

range partitioning · partition key · partition pruning · drop a partition

More about this term →

cache

noun

Meaning

A fast storage layer that keeps copies of frequently used data or query results so that they can be returned without asking the database again.

Where you use it

Can sit in the application (Redis, Memcached) or inside the database itself (the buffer pool in MySQL, shared_buffers in PostgreSQL). Key phrases: cache hit, cache miss, warm cache, cold cache and cache invalidation, which means removing stale data when the source changes.

Examples

  1. We cache the product list for five minutes, so the database gets far fewer queries.

  2. The first run is slow because the cache is cold.

Usage note

'Cache' sounds exactly like 'cash'. Do not say 'catch' or 'cash-ay'.

Common phrases

cache hit · cache miss · cache invalidation · clear the cache · warm cache

More about this term →

query tuning

noun

Meaning

The work of making slow queries faster by studying their execution plans and then adding indexes, rewriting SQL or changing database settings.

Where you use it

A core DBA and senior developer skill, also called query optimization or performance tuning. You tune a query, and the usual cycle is: measure, read the plan, change one thing, measure again. Fixing the query is usually better than adding hardware.

Examples

  1. After a week of query tuning, the nightly batch finishes in 20 minutes instead of three hours.

  2. Before we buy a bigger server, let's try some query tuning.

Common phrases

query tuning · tune a query · performance tuning · query optimization

More about this term →

Transactions and Concurrency

transaction

noun

Meaning

A group of database operations that are treated as one unit: either all of them succeed together or none of them is applied.

Where you use it

The classic example is a money transfer: the debit and the credit must both happen or neither. You begin or open a transaction, then commit or roll it back. Long-running or open transactions hold locks and cause trouble, so DBAs watch for them.

Examples

  1. Wrap the stock update and the order insert in a single transaction.

  2. A transaction has been open for two hours and is blocking the nightly job.

Usage note

In banking and business, 'transaction' means a payment or sale. In databases it is a technical unit of work, even when no money is involved.

Common phrases

begin a transaction · commit a transaction · roll back a transaction · open transaction · transaction log

More about this term →

commit

verb

Meaning

To end a transaction and make all of its changes permanent, so that other sessions can see them and they survive a crash.

Where you use it

Also a noun: 'after the commit'. Many tools work in autocommit mode, where every statement is committed automatically. In a manual transaction, forgetting to commit means your changes are lost or still holding locks. Do not mix it up with a Git commit.

Examples

  1. I ran the update but forgot to commit, so nobody else could see the new prices.

  2. The changes are committed only after both inserts succeed.

Common phrases

commit a transaction · commit the changes · autocommit · commit or roll back

More about this term →

rollback

noun

Meaning

The act of cancelling a transaction so that all of its changes are undone and the data returns to how it was before the transaction began.

Where you use it

Triggered by a ROLLBACK statement, by an error, or by the database itself, for example to break a deadlock. Savepoints allow a partial rollback inside a transaction. Outside databases, 'rollback' also means returning to an earlier software release.

Examples

  1. The payment insert failed, so the whole transaction ended in a rollback.

  2. A rollback of a long transaction can take almost as long as the transaction itself.

Usage note

The noun is one word (a rollback); the verb is two words (to roll back the changes).

Common phrases

roll back a transaction · automatic rollback · rollback segment · partial rollback

More about this term →

ACID

abbreviation

Meaning

Atomicity, Consistency, Isolation, Durability: the four guarantees that make database transactions reliable even with errors, crashes and many users at once.

Where you use it

A favourite interview question. People say a database is 'ACID-compliant' or offers 'full ACID transactions'. Relational databases are ACID by design; many NoSQL systems trade some of these guarantees for scale, although several now offer ACID transactions too.

Examples

  1. We need ACID guarantees for the ledger, so it stays in PostgreSQL.

  2. Can you explain what each letter in ACID means?

Usage note

The 'C' in ACID (data stays valid under the rules) is not the same as the 'C' in the CAP theorem (all nodes see the same data).

Common phrases

ACID-compliant · ACID transactions · ACID guarantees · ACID properties

More about this term →

isolation level

noun

Meaning

A setting that controls how much one transaction can see of other transactions' changes, trading data safety against speed and concurrency.

Where you use it

The SQL standard defines four: READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ and SERIALIZABLE. Lower levels allow problems such as dirty reads and phantom reads. PostgreSQL and SQL Server default to READ COMMITTED; MySQL InnoDB defaults to REPEATABLE READ.

Examples

  1. We raised the isolation level to SERIALIZABLE for the seat booking transaction.

  2. What is the default isolation level in MySQL, and why does it matter for this bug?

Common phrases

set the isolation level · transaction isolation level · READ COMMITTED · dirty read · SERIALIZABLE

More about this term →

lock

noun

Meaning

A mark the database places on a row, page or table so that other transactions cannot change it, or sometimes read it, until the current transaction ends.

Where you use it

Locks can be row-level or table-level, and shared (for reading) or exclusive (for writing). People say a query 'takes', 'holds', 'waits for' or 'releases' a lock. Long-held locks cause blocking and timeouts, so DBAs monitor lock waits closely.

Examples

  1. The batch job holds a lock on the inventory table for almost a minute.

  2. Use SELECT ... FOR UPDATE to lock the row before you change the balance.

Common phrases

hold a lock · release a lock · row-level lock · lock wait · lock timeout

More about this term →

deadlock

noun

Meaning

A situation where two or more transactions each wait for a lock the other holds, so none of them can continue until the database cancels one.

Where you use it

Databases detect deadlocks automatically and roll back one transaction, called the deadlock victim, with an error. Applications should catch this error and retry. Accessing tables and rows in the same order in all code paths reduces deadlocks.

Examples

  1. Two jobs update the same accounts in a different order, which causes a deadlock every few hours.

  2. The transaction was chosen as the deadlock victim and rolled back.

Common phrases

deadlock victim · detect a deadlock · deadlock graph · retry on deadlock

More about this term →

NoSQL Databases

NoSQL

noun

Meaning

A broad group of databases that do not use the classic table-and-SQL model, storing data as documents, key-value pairs, wide columns or graphs instead.

Where you use it

Usually read as 'not only SQL'. Well-known examples are MongoDB (document), Redis (key-value), Cassandra (wide-column) and Neo4j (graph). NoSQL systems are chosen for flexible schemas, very high scale or special data shapes; many now support SQL-like queries too.

Examples

  1. We store user sessions in a NoSQL database and keep orders in PostgreSQL.

  2. Choosing NoSQL just because the schema might change is rarely a good reason.

Common phrases

NoSQL database · NoSQL store · SQL vs NoSQL · move to NoSQL

More about this term →

document database

noun

Meaning

A NoSQL database that stores each item as a self-contained document, usually in a JSON-like format, so related data can be kept together without fixed tables.

Where you use it

MongoDB, Couchbase and Firestore are well-known examples. Documents are grouped into collections, and fields can differ from one document to the next. Teams choose them for flexible data, but must think carefully about embedding versus referencing data.

Examples

  1. Product pages with very different attributes fit well in a document database.

  2. We moved the event logs to a document database because their structure keeps changing.

Common phrases

document database · document store · JSON document · embed documents

More about this term →

key-value store

noun

Meaning

The simplest kind of NoSQL database, which saves each value under a unique key and finds it again very quickly by that key.

Where you use it

Redis, Memcached, etcd and Amazon DynamoDB are typical examples. Key-value stores are used for caches, user sessions, counters, feature flags and rate limits. You 'get' and 'set' keys and often give them an expiry time (TTL).

Examples

  1. Session data lives in a key-value store, so any web server can read it.

  2. A key-value store is fast, but you can't run complex queries on it.

Common phrases

key-value store · key-value pair · set a key · key expiry · TTL

More about this term →

eventual consistency

noun

Meaning

A guarantee that, if no new changes are made, all copies of the data will become the same after a short time, although reads may briefly return old values.

Where you use it

Common in distributed and NoSQL systems such as Cassandra and DynamoDB, which offer it to stay fast and available. The opposite is strong consistency. In practice, teams design screens so that slightly old data is acceptable, for example like counts.

Examples

  1. Because of eventual consistency, a new comment may take a second to appear in other regions.

  2. Eventual consistency is fine for view counts but not for account balances.

Usage note

False friend: English 'eventual' means 'happening in the end', not 'possible' like Turkish 'eventüel'.

Common phrases

eventual consistency model · eventually consistent · strong consistency · consistency guarantees

More about this term →

CAP theorem

noun

Meaning

The idea that when a network failure splits a distributed database, it must choose between consistency (same data everywhere) and availability (always answering).

Where you use it

CAP stands for Consistency, Availability and Partition tolerance. Proposed by Eric Brewer in 2000 and later proven, it is often simplified as 'pick two of three'. It appears in system design interviews and in comparisons of NoSQL databases.

Examples

  1. According to the CAP theorem, during a partition this system prefers availability over consistency.

  2. The interviewer asked me how the CAP theorem applies to our chat service.

Common phrases

CAP theorem · partition tolerance · consistency vs availability · CP system · AP system

More about this term →

graph database

noun

Meaning

A NoSQL database that stores data as nodes connected by relationships, making it fast to follow links such as 'friends of friends'.

Where you use it

Neo4j and Amazon Neptune are well-known examples, with query languages such as Cypher and Gremlin. They suit social networks, recommendation engines, fraud detection and network maps, where questions are about connections rather than totals.

Examples

  1. The fraud team uses a graph database to find accounts that share devices and addresses.

  2. A graph database answers 'who else bought this?' much faster than ten SQL joins.

Usage note

Pronounce 'graph' with a short 'a' like 'graf' (US) or a long 'a' like 'grahf' (UK).

Common phrases

graph database · nodes and relationships · graph query · Cypher query

More about this term →

collection

noun

Meaning

In a document database such as MongoDB, a group of documents stored together, similar to a table in a relational database.

Where you use it

Unlike a table, a collection does not force every document to have the same fields, although schema validation can be added. You create, drop, query and index collections; MongoDB creates a collection automatically when you first insert into it.

Examples

  1. Each user's settings are stored as one document in the settings collection.

  2. A typo in the collection name created a new, empty collection in production.

Common phrases

create a collection · query a collection · collection name · documents in a collection

More about this term →

in-memory database

noun

Meaning

A database that keeps its data mainly in RAM rather than on disk, so reads and writes are extremely fast.

Where you use it

Redis is the best-known example; SAP HANA and in-memory options in SQL Server and Oracle also exist. Because RAM is lost on restart, such systems offer persistence options such as snapshots or append-only logs. They are used for caching, leaderboards, queues and real-time analytics.

Examples

  1. The game stores its live leaderboard in an in-memory database.

  2. Make sure persistence is on, or the in-memory database will lose everything on restart.

Common phrases

in-memory database · in-memory store · persistence options · in-memory cache

More about this term →

Backup, Replication and Scaling

backup

noun

Meaning

A copy of a database saved at a certain moment so that the data can be brought back after a failure, a mistake or an attack.

Where you use it

You take, run, schedule, verify and restore backups. Common types are full, differential and incremental backups, and physical versus logical backups. Experienced DBAs repeat one rule: a backup you have never test-restored is not a real backup.

Examples

  1. We take a full backup every night and keep it for thirty days.

  2. Take a backup of the table before you run the migration.

Usage note

The noun is one word (a backup); the verb is two words (to back up the database).

Common phrases

take a backup · restore from backup · full backup · backup schedule · verify a backup

More about this term →

replication

noun

Meaning

Keeping copies of the same database on several servers by sending every change from one server to the others, for safety and to share the load.

Where you use it

It can be synchronous (the primary waits for the replica) or asynchronous (faster, but the replica can fall behind; this delay is replication lag). Replication protects against server failure but not against mistakes: a wrong DELETE is copied to every replica, so backups are still needed.

Examples

  1. Replication to the second data center is asynchronous, so we may lose a few seconds of data.

  2. Replication broke last night and the replica is now two hours behind.

Common phrases

set up replication · replication lag · synchronous replication · asynchronous replication · logical replication

More about this term →

restore

verb

Meaning

To bring a database back from a backup, either to fix data loss or to create a copy of it on another server.

Where you use it

Also a noun: 'the restore took four hours'. You restore a database, restore from a backup or restore to a point in time. Teams practise restore drills to check that backups work and to measure how long recovery takes.

Examples

  1. We restored last night's backup to a test server to check the missing invoices.

  2. How long would it take to restore the whole database if the disk failed?

Common phrases

restore a database · restore from backup · restore test · restore to a point in time

More about this term →

point-in-time recovery

noun

Meaning

Restoring a database to its exact state at a chosen moment, such as one minute before a bad DELETE, by replaying saved change logs on top of a backup.

Where you use it

Shortened to PITR. It needs a base backup plus continuous log archiving: WAL archives in PostgreSQL, binary logs in MySQL and transaction log backups in SQL Server. Cloud databases usually offer it as a setting with a retention period.

Examples

  1. Thanks to point-in-time recovery, we restored the database to 14:02, just before the bad script ran.

  2. Point-in-time recovery only works if log archiving was enabled beforehand.

Common phrases

point-in-time recovery · PITR window · recover to a point in time · log archiving

More about this term →

read replica

noun

Meaning

A copy of a database that receives changes from the main server and is used only for read queries, taking load off the primary.

Where you use it

The term is popular on cloud platforms such as Amazon RDS. Reports and search pages read from replicas while writes go to the primary. Because replication is usually asynchronous, a replica may return slightly old data, which surprises users who just saved something.

Examples

  1. Point the reporting service at the read replica, not the primary.

  2. The user saw old data because the read replica was a few seconds behind.

Common phrases

add a read replica · replica lag · read from the replica · promote a replica

More about this term →

failover

noun

Meaning

Switching work from a failed primary database server to a standby or replica so that the application can keep running.

Where you use it

Failover can be automatic or manual. A planned, controlled move is often called a switchover. People 'fail over to the standby' (verb, two words) and test failover regularly. After failover, applications must reconnect, and a few seconds of errors are normal.

Examples

  1. The primary crashed at 3 a.m. and automatic failover completed in 40 seconds.

  2. We run a failover test every quarter to make sure the standby really works.

Common phrases

automatic failover · fail over to the standby · failover test · manual failover

More about this term →

sharding

noun

Meaning

Splitting one large dataset across several database servers, each holding a different part of the rows, so the system can grow beyond one machine.

Where you use it

Each part is a shard, and rows are placed by a shard key such as customer_id or region. Choosing a good shard key is critical, because queries across shards and resharding are hard. MongoDB, Cassandra and tools like Vitess and Citus support sharding.

Examples

  1. We started sharding by customer ID when the main database passed four terabytes.

  2. Sharding makes reports across all customers much harder to run.

Usage note

Sharding spreads data across servers; partitioning usually splits a table inside one database. People sometimes use the words loosely.

Common phrases

shard key · sharding strategy · shard the database · cross-shard query

More about this term →

high availability

noun

Meaning

Designing a database system so that it keeps working with very little downtime, even if a server, disk or data center fails.

Where you use it

Shortened to HA, as in 'an HA setup' or 'HA cluster'. It is built with replication, standby servers and automatic failover, and often measured in 'nines': 99.99% availability allows under an hour of downtime per year. HA does not replace backups.

Examples

  1. For high availability we run a primary and two standbys in different zones.

  2. The contract requires high availability of 99.95% for the payments database.

Common phrases

high availability cluster · HA setup · design for high availability · 99.99% uptime

More about this term →

dump

noun

Meaning

A file that contains a database's structure and data written out as SQL statements or in a special export format, which can be loaded into another database.

Where you use it

Created with tools such as pg_dump and mysqldump; this is a logical backup, as opposed to a physical copy of data files. 'Dump' is also a verb: 'dump the database', 'dump a table to CSV'. Dumps are handy for moving data between versions or environments.

Examples

  1. Send me a dump of the test database without the customer emails.

  2. A full dump of this database takes three hours to restore.

Usage note

In everyday English 'dump' can also mean rubbish or a place for it, and 'take a dump' is a rude slang phrase; in a technical context colleagues understand it correctly, but 'create a dump' is safer in formal writing.

Common phrases

create a dump · database dump · SQL dump · load a dump · pg_dump

More about this term →

Administration and Security

DBA

abbreviation

Meaning

Database administrator: the person responsible for installing, securing, backing up, tuning and keeping a company's databases running.

Where you use it

Used as a job title and in daily talk: 'ask the DBA', 'the DBA team', 'DBA approval'. Production DBAs focus on servers, backups and uptime; development DBAs help with schema design and SQL. Cloud services have taken over some routine DBA tasks.

Examples

  1. Any index change on the billing database needs DBA approval.

  2. She worked as a developer for five years before becoming an Oracle DBA.

Common phrases

ask the DBA · DBA team · on-call DBA · Oracle DBA · DBA approval

More about this term →

privilege

noun

Meaning

A permission that allows a database user or role to do a specific action, such as reading a table, inserting rows or creating new objects.

Where you use it

Privileges are granted and revoked with GRANT and REVOKE. Good practice follows the principle of least privilege: each user gets only what it needs, and applications never connect as a superuser. 'Insufficient privileges' and 'permission denied' are common error messages.

Examples

  1. The app user has no DELETE privilege on the audit tables.

  2. Following the principle of least privilege, the analytics account can only read.

Usage note

A very common spelling mistake is 'priviledge'. There is no 'd': privilege.

Common phrases

grant a privilege · revoke a privilege · least privilege · insufficient privileges · admin privileges

More about this term →

SQL injection

noun

Meaning

An attack in which someone puts SQL code into an input field so that the application runs it, letting the attacker read, change or delete data.

Where you use it

It happens when code builds queries by joining strings with user input. The standard defence is parameterized queries (prepared statements), never string concatenation, plus least privilege for the app's database user. It appears in every security checklist and many interviews.

Examples

  1. This search form is open to SQL injection because it concatenates the input into the query.

  2. Use parameterized queries everywhere to prevent SQL injection.

Common phrases

prevent SQL injection · SQL injection attack · vulnerable to SQL injection · parameterized query · prepared statement

More about this term →

grant

verb

Meaning

To give a database user or role permission to do something, using the SQL GRANT statement; REVOKE takes the permission away again.

Where you use it

Typical forms: GRANT SELECT ON orders TO report_user; GRANT ALL PRIVILEGES ON DATABASE shop TO app_admin. In conversation, people 'grant access', 'grant read-only access' or 'get access granted'. GRANT and REVOKE are often grouped as DCL (data control language).

Examples

  1. Can you grant me read-only access to the staging database?

  2. We grant privileges to roles, never directly to individual users.

Common phrases

grant access · grant read-only access · GRANT SELECT ON · grant and revoke

More about this term →

role

noun

Meaning

A named set of database privileges that can be given to many users at once, such as read_only or app_writer, to make permission management simpler.

Where you use it

Instead of granting privileges user by user, DBAs grant them to roles and then assign roles to users. In PostgreSQL users and roles are technically the same thing. Phrases include 'create a role', 'assign a role' and 'role-based access control' (RBAC).

Examples

  1. New analysts get the reporting role, which can read but not modify any table.

  2. Create a separate role for the migration tool with DDL privileges.

Common phrases

create a role · assign a role · role-based access control · read-only role

More about this term →

Quick quiz: do you know these terms?

Ten questions from this glossary. Pick the right meaning for each term and see your score.

How to learn databases & SQL vocabulary

  • Read real texts from the field every week: the official PostgreSQL, MySQL or SQL Server documentation, release notes, well-voted answers on Stack Overflow and engineering blog posts about database outages and migrations.
  • Read SQL aloud as English. 'SELECT name FROM customers WHERE city = 'Izmir' ORDER BY name' is almost a sentence, and saying it helps you remember both the keywords and the grammar around them.
  • Learn each noun together with its verbs: you run a query, create or drop an index, take a backup, restore a database, commit or roll back a transaction and grant a privilege to a user.
  • Practise pronunciation early: SQL is said either letter by letter or as 'sequel', schema sounds like 'SKEE-muh', cache sounds like 'cash', query is 'KWEER-ee' and NULL rhymes with 'dull'.
  • Keep a list of pairs that are easy to mix up, such as DELETE, TRUNCATE and DROP; WHERE and HAVING; UNION and UNION ALL; backup and replica; primary key and unique key.

Frequently asked questions

How can I learn English for databases and SQL?

Read real texts from the field and notice how words are used together: official database documentation, error messages, execution plans, Stack Overflow answers and blog posts by database engineers. Learn each term with its usual verbs, then use it right away in your own work: name tables and columns in clear English, write migration descriptions, ticket comments and code review notes in English.

Which database terms should I learn first?

Start with the words you meet on day one: database, table, row, column, query, primary key, foreign key, index, schema, transaction, NULL and the basic SQL statements SELECT, INSERT, UPDATE and DELETE. Then move on to joins, grouping, normalization, execution plans, backups and replication, and later to NoSQL and security vocabulary. This glossary follows the same order.

Is it pronounced "S-Q-L" or "sequel"?

Both are correct and both are common. The language was first called SEQUEL at IBM in the 1970s, which is why many people still say 'sequel'. Some products have a preferred form: MySQL officially says 'My-S-Q-L', while many people say 'sequel server' for Microsoft SQL Server. Choose one and use it consistently; nobody will correct you either way.

Should I use the Turkish or the English term at work?

Turkish database teams mix both. Words like 'tablo', 'sorgu', 'indeks', 'yedek' and 'şema' are fully Turkish, while others usually stay in English with Turkish endings: 'join'lemek', 'commit etmek', 'transaction açmak', 'deadlock'a düşmek'. University courses and formal documents prefer terms such as 'birincil anahtar', 'yabancı anahtar' and 'saklı yordam'. Knowing both forms lets you follow a textbook and a team meeting equally well.

Do MySQL, PostgreSQL, SQL Server and Oracle use the same words?

The core vocabulary comes from the SQL standard, so tables, keys, indexes, joins and transactions mean the same everywhere. Details differ: an auto-numbered column is AUTO_INCREMENT in MySQL, IDENTITY in SQL Server and SERIAL or an identity column in PostgreSQL, and each product has its own SQL dialect, such as T-SQL for SQL Server and PL/SQL for Oracle. Learn the general term first, then the name your product uses.

Practise with graded reading

Reading at the right level is the fastest way to make new words stick. Pick free English books by level: