Ordenação (álgebra relacional)

 Nota: Para outros significados, veja Ordenação.

Em álgebra relacional, a ordenação, simbolizada por (tau), é um operador estendido que retorna uma relação ordenada sobre um conjunto de atributos. Este comando tem precedência sobre o operador de agrupamento que faz com que os registros sejam retornados na ordem crescente. A lista de atributos segue a ordem com a qual será feita a ordenação. Por padrão a ordenação em cada campo é feita de ordem ascendente, mas pode ser modificada usando-se as palavras ASC e DESC após o atributo que será ordenado.

Sintaxe do Operador: t L(R), onde L é o conjunto de atributos e R é uma Relação de entrada.

Exemplo

editar

T1

C1 C2
1 aA
1 AA
1 Aa
5 null
2 BB
3 BB

Ao aplicar:

t C1 asc, C2 desc (T1)

teremos:

C1 C2
1 AA
1 Aa
1 aA
3 BB
2 BB
5 null

Nota-se que os valores da primeira coluna(C1), estão ordenados de forma ascendente, e os valores da coluna(C2) de forma decrescente.

Exemplos do Mundo Real

editar

Possuímos a listagem dos funcionários da empresa através da seguinte tabela:

T1

FUNCIONARIO NASCIMENTO
JOÃO 01/12/1969
MARIA 23/03/1971
JOSÉ 01/12/1980
JOAQUIM 03/09/1987
MARGARIDA 05/12/1966
SIMONI 12/05/1986
ALBERTO 01/01/1990

A secretária da empresa solicitou então uma listagem dos funcionários ordenando pela sua data de nascimento, para fixar no mural, e acompanhar a cada mês os funcionários que estão de aniversário. Utilizamos então o operador de ordenação:

t NASCIMENTO asc (T1)

teremos:

FUNCIONARIO NASCIMENTO
MARGARIDA 05/12/1966
JOÃO 01/12/1969
MARIA 23/03/1971
JOSÉ 01/12/1980
SIMONI 12/05/1986
JOAQUIM 03/09/1987
ALBERTO 01/01/1990

Utilização no sql

editar

No sql é utilizada a cláusula ORDER BY para efetuar a ordenação dos regitros, no caso da não utilização da palavra os regitros serão apresentados de ordem indefinida. Sendo assim é utilizada a cláusula para exibir os registros em uma ordem especifica. Sempre que usar a cláusula order by a mesma dever colocada por ultimo no sql, conforme o exemplo abaixo:

Select nome, idade from aluno where nome is not null order by nome;

No qual as palavras:

ORDER BY
define a ordem como as colunas recuperadas serão exibidas.
ASC
ordena os registros em ordem crescente "ordem default".
DESC
ordena os registros em ordem decrescente.

Referências

editar