O que significa "agrupamento"?

15

Estou aprendendo sqlite de um livro que mencionou intercalação e sequência de intercalação várias vezes. O que significa exatamente no mundo dos bancos de dados?

mumtaz
fonte

Respostas:

15

Basicamente, como classificar e comparar seqüências de caracteres.

Exemplos:

Comparando:

  • Sotaque: à vs ä vs a
  • Caso: A vs a

Ordenação:

  • Sueco: z -> å -> ä -> ö
  • Dinamarquês: z -> æ -> ø -> å

Equivalência de caracteres especiais

  • Ss = ss alemão

Wikipedia

Algum SQL (SQL Server 2008 ou superior)

DECLARE @foo TABLE (bar varchar(2))
INSERT @foo VALUES ('z'), ('æ'), ('ø'), ('å'), ('ss'), ('ß'), ('a'), ('ä')

SELECT * FROM @foo ORDER BY bar COLLATE Finnish_Swedish_100_CI_AS
SELECT * FROM @foo ORDER BY bar COLLATE Norwegian_100_CI_AS
SELECT * FROM @foo ORDER BY bar COLLATE Latin1_General_100_CS_AS --german (western europe) and default
SELECT * FROM @foo ORDER BY bar COLLATE German_PhoneBook_100_CS_AS
gbn
fonte
1

Etimologia

"Agrupamento" é provavelmente melhor definido em etymology.com,

final de 14c., "ato de reunir e comparar"

Não mudou nos últimos 600 anos. "agrupar" significa "reunir" e, se é a ordem de um livro, cronologicamente ou não em um banco de dados, é tudo a mesma coisa.

Ciência da Computação

Como se aplica à Ciência da Computação, o que estamos fazendo é separar o mecanismo de armazenamento da ordem . Você já deve ter ouvido falar do ASCII-betical . Isso se refere a uma comparação baseada na codificação binária de caracteres ASCII. Nesse sistema, armazenamento e agrupamento são dois no mesmo. Se a "codificação" ASCII padronizada mudasse, o "agrupamento" (ordem) também mudaria.

O POSIX começou a romper isso LC_COLLATE. Mas, quando entramos no Unicode, surgiu um consórcio para padronizar os agrupamentos: UTI.

SQL

Na especificação SQL, existem duas extensões para fornecer agrupamentos,

  • F690: “Suporte de agrupamento:

    Inclui collation name, collation clause, collation definitione drop collation.

  • F692: Suporte estendido ao agrupamento,

    Inclui anexar um agrupamento padrão diferente a uma coluna no esquema.

Essencialmente, eles fornecem a capacidade CREATEe DROPagrupamentos, especificá-los para operadores e classificações e definir um padrão para colunas.

Para obter mais informações sobre o que o SQL tem a oferecer, consulte

Exemplos

Em vez de colar um exemplo limitado, aqui está o conjunto de testes do PostgreSQL, que é bastante extenso. Confira pelo menos o primeiro link e procure'Türkiye' COLLATE "tr-x-icu" ILIKE '%KI%' AS "false"

Evan Carroll
fonte
-2

Ordem de classificação. Cartões perfurados foram agrupados. Os registros de arquivo simples são agrupados. Isso não é exclusivo dos bancos de dados.

É autoexplicativo para texto, mas para dados binários armazenados como caracteres, pode ser mais complicado.

mckenzm
fonte