Backfill
Data & DatabasesFilling in historical data after adding a new column.
The step in a safe schema change where existing rows are given values for a newly added column. Usually done in batches so it does not lock the table or overwhelm the database.
See also Migration, Schema
Foreign key
Data & DatabasesA column pointing at another table’s row.
How a relationship is stored: an order holds the id of its customer. The database can enforce that the referenced row exists, making a whole class of corruption impossible.
See also Primary key, Join, Integrity
Full table scan
Data & DatabasesReading every row to answer one question.
What the database resorts to when no index supports your query. Instant with ten rows, catastrophic with ten million, which is why this problem never appears during development.
See also Index, Query
IDOR
BackendReading someone else’s data by changing an id.
Insecure direct object reference: checking that a user is logged in but not that the requested record belongs to them. Trivially exploitable by editing a URL, and extremely common in generated code.
See also Authorization, Authentication
Join
Data & DatabasesAnswering a question that spans two tables.
Matching rows across tables using a key: orders with their customer names attached. Ordinary and fast when the columns involved are indexed, and very slow when they are not.
See also Foreign key, Index, Normalisation
Normalisation
Data & DatabasesStoring each fact in exactly one place.
Structuring tables so a customer email lives once and everything else points at it. Changing it is then one edit rather than a thousand. Deliberately duplicating for read speed is denormalisation, and you own keeping the copies in step.
See also Foreign key, Join
NoSQL
Data & DatabasesDatabases that are not table-and-row relational.
A loose family including document, key-value and graph stores. Flexible shape and easier extreme scale, at the cost that nothing prevents two records disagreeing about structure. The schema does not disappear; it moves into your code.
See also SQL, Document store, Schema
Primary key
Data & DatabasesThe column that uniquely identifies a row.
The one value that picks out exactly one row in a table. Other tables refer to a row by holding its primary key, which is how relationships are built.
See also Foreign key, Table
Schema
Data & DatabasesThe declared shape of your data.
Which tables exist, which columns they have, and what is allowed in them. Changing it is a migration. In schemaless databases the schema still exists, just in your code instead of the database.
See also Migration, Table, NoSQL
Table
Data & DatabasesA spreadsheet with a strict header.
Rows are things, columns are facts about them, and every row has the same columns with declared types. That strictness is what lets the database refuse bad data.
See also Primary key, Schema, SQL