Análise Combinatória com SQL: Trabalhando com Grupos Grandes

Veja neste artigo como usar SQL para gerar arranjos e combinações de elementos agrupados 3 a 3.

1. Introdução

Veremos neste artigo como utilizar instruções SQL para gerar grupos combinados de três elementos, um assunto abordado no estudo da “Análise Combinatória”. Aqui, veremos como formular consultas para obter combinações e arranjos de elementos agrupados 3 a 3.

2. Arranjos 3 a 3

Utilizaremos a tabela T_CONJUNTO, a qual possui apenas uma tabela e 4 registros, conforme vemos na Figura 1.


Figura 1 Tabela T_CONJUNTO

Suponha que se deseja realizar o arranjo destes 4 elementos em grupos de 3. A Listagem 1 mostra como obter tal resultado. Do código, podemos destacar alguns pontos importantes:

Listagem 1: Arranjo dos Elementos 3 a 3

SELECT * FROM T_CONJUNTO C1, T_CONJUNTO C2, T_CONJUNTO C3 WHERE (C1.ELEMENTO <> C2.ELEMENTO) AND (C1.ELEMENTO <> C3.ELEMENTO) AND (C2.ELEMENTO <> C3.ELEMENTO) ORDER BY 1,2,3

Para arranjos, o número de grupos é N!/(N-P)!, onde N é a quantidade original de elementos a serem agrupados e P a quantidade de elementos em cada grupo. No nosso caso, o resultado terá 4!/(4-3)! = 24 registros, conforme observamos na Figura 2.


Figura 2: Resultado da Consulta - Arranjos dos elementos 3 a 3

3. Combinações 3 a 3

De maneira análoga, podemos produzir as combinações de elementos 3 a 3 (Listagem 2).

Listagem 2: Combinação de Elementos 3 a 3

SELECT * FROM T_CONJUNTO C1, T_CONJUNTO C2, T_CONJUNTO C3 WHERE (C1.ELEMENTO < C2.ELEMENTO) AND (C1.ELEMENTO < C3.ELEMENTO) AND (C2.ELEMENTO < C3.ELEMENTO) ORDER BY 1,2,3

Para combinações o número de grupos resultantes é N!/(N-P)!xP!, onde N e P são os mesmos explicados para os arranjos. Neste caso, o resultado foi 4!/(4-3)!x3! = 4 registros (ver a Figura 3).


Figura 3: Resultado da Consulta - Combinação dos elementos 3 a 3

4. Modelo Geral para Combinações e Arranjos

Dos exemplos apresentados, podemos concluir que deveremos usar as seguintes regras sempre que for desejado realizar o arranjo ou combinação de N elementos tomados P a P:

Assim finalizamos este artigo sobre análise combinatória utilizando a linguagem SQL.

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados