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"
Does "Heterogeneous" just refer to querying two different database engines in this context?
Basically, yes. A "heterogeneous" query is executed on a "heterogeneous linked server". All queries to this linked server will be heterogeneous.
And "heterogenous" is a subset of distributed queries
- Distributed data stored in multiple instances of SQL Server.
- Heterogeneous data stored in various relational and nonrelational data sources accessed by using an OLE DB provider.
But "heterogeneous" pops up every now and then:
See linking servers on MSDN
The ability to issue distributed queries, updates, commands, and transactions on heterogeneous data sources across the enterprise.
sp_addlinkedserver
A linked server allows for access to distributed, heterogeneous queries against OLE DB data sources.
And an MSDN example of querying Active Directory in "Joining Heterogeneous Data"
And MSDN again "Heterogeneous Database Replication"
Best Answer
BBDD are Bases de Datos in this funny way in which Spanish refers to plural for acronyms (EEUU, Estados Unidos = United States). http://forum.wordreference.com/showthread.php?t=390785