Glossary

The words, without the shrug

Every term the courses use, defined in one line and then in a paragraph. Written to be read out of order.

Clear

Showing 10 of 10 matching “Table”

Backfill

Data & Databases

Filling 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 & Databases

A 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 & Databases

Reading 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

Backend

Reading 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 & Databases

Answering 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 & Databases

Storing 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 & Databases

Databases 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 & Databases

The 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 & Databases

The 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 & Databases

A 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