User terms surrogate key and natural key for primary key as a variant.
Surrogate Key:
Surrogate keys are keys that have no
“business” meaning and are solely used
to identify a record in the table.
Such keys are either database
generated (example: Identity in SQL
Server, Sequence in Oracle,
Sequence/Identity in DB2 UDB etc.) or
system generated values (like
generated via a table in the schema).
Natural Key:
Keys are natural if the attribute it
represents is used for identification
independently of the database schema.
What this basically means is that the
keys are natural if people use them
example: Invoice-Numbers, Tax-Ids, SSN
etc.
Surrogate Keys vs Natural Keys for Primary Key
Etymology
"Collation" is probably best defined on etymology.com,
late 14c., "act of bringing together and comparing,"
It hasn't changed at all in the past 600 years. "collate" means "to bring together" and whether it's the ordering of a book, chronologically or otherwise in a database, it's all the same.
Computer Science
As it applies to Computer Science, what we're doing is separating the storage mechanism from the ordering. You may have heard of ASCII-betical. That refers to a comparison based on the binary encoding of ASCII characters. In that system, storage and collation are two in the same. If the ASCII-standardized "encoding" ever changed the "collation" (order) would change too.
POSIX started to break that with LC_COLLATE
. But as we move into Unicode a consortium emerged to standardize collations as well: ICU.
SQL
In the SQL spec there are two extensions to provide collations,
F690
: “Collation support:
Includes collation name
, collation clause
, collation definition
and drop collation
.
F692
: Extended collation support,
Includes attaching a different default collation to a column in the schema.
Essentially these provide the ability to CREATE
and DROP
collations, to specify them for operators and sorts, and to define a default for columns.
For more information on what SQL has to offer check out,
Examples
Rather than pasting a limited example, here is the PostgreSQL test suite it's pretty extensive. Check out at least the first link and look for 'Türkiye' COLLATE "tr-x-icu" ILIKE '%KI%' AS "false"
Best Answer
"Churn" in the most common usage is the rate that existing members of a group leave the group (for example, customers of a company stop being customers- if a company has 15% annual churn, 15% of its customers leave every year).
In this context, then, it would seem that the author is saying that you have to understand the rate at which records may be deleted or otherwise removed from tables in order to understand how to best plan the maintenance of the system.