Ordenação (álgebra relacional)
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
editarT1
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
editarPossuí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
editarNo 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- Ronald. «Modelo Relacional - Manipulação» (PDF). Consultado em 1 de junho de 2009