Ordenação (álgebra relacional): diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
Rjclaudio (discussão | contribs)
m WP:CheckWP + Ajustes utilizando AWB
Linha 1:
A '''Ordenação''' (t) [tau] é um dos operadores estendidos da [[Álgebra relacional]].<br>
 
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.<br>
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.
<br>
 
Sintaxe do Operador: t L(R), onde L é o conjunto de atributos e R é uma Relação de entrada.
 
<h3>===Exemplo:</h3>===
T1
 
<table border=1 width=150px>
<tr>
<td align= center bgcolor = lightgray >C1</td>
<td align= center bgcolor = lightgray>C2</td>
</tr>
<tr>
<td align= center >1</td>
<td align= center >aA</td>
</tr>
<tr>
<td align= center >1</td>
<td align= center >AA</td>
</tr>
<tr>
<td align= center >1</td>
<td align= center >Aa</td>
</tr>
<tr>
<td align= center >5</td>
<td align= center >null</td>
</tr>
<tr>
<td align= center >2</td>
<td align= center >BB</td>
</tr>
<tr>
<td align= center >3</td>
<td align= center >BB</td>
</tr>
</table>
 
<br>
Ao aplicar:
 
Linha 45:
 
teremos:
 
<br>
<table border=1 width=150px>
<tr>
<td align= center bgcolor = lightgray >C1</td>
<td align= center bgcolor = lightgray>C2</td>
</tr>
<tr>
<td align= center >1</td>
<td align= center >AA</td>
</tr>
<tr>
<td align= center >1</td>
<td align= center >Aa</td>
</tr>
<tr>
<td align= center >1</td>
<td align= center >aA</td>
</tr>
<tr>
<td align= center >3</td>
<td align= center >BB</td>
</tr>
<tr>
<td align= center >2</td>
<td align= center >BB</td>
</tr>
<tr>
<td align= center >5</td>
<td align= center >null</td>
</tr>
</table>
 
<br>
Nota-se que os valores da primeira coluna(C1), estão ordenados de forma ascendente, e os valores da coluna(C2) de forma decrescente.
 
<h3>===Exemplos do Mundo Real:</h3>===
 
<br>
Possuímos a listagem dos funcionários da empresa através da seguinte tabela:
 
<br>
T1
<table border=1 width=150px>
<tr>
<td align= center bgcolor = lightgray >FUNCIONARIO</td>
<td align= center bgcolor = lightgray >NASCIMENTO</td>
</tr>
<tr>
<td align= center >JOÃO</td>
<td align= center >01/12/1969</td>
</tr>
<tr>
<td align= center >MARIA</td>
<td align= center >23/03/1971</td>
</tr>
<tr>
<td align= center >JOSÉ</td>
<td align= center >01/12/1980</td>
</tr>
<tr>
<td align= center >JOAQUIM</td>
<td align= center >03/09/1987</td>
</tr>
<tr>
<td align= center >MARGARIDA</td>
<td align= center >05/12/1966</td>
</tr>
<tr>
<td align= center >SIMONI</td>
<td align= center >12/05/1986</td>
</tr>
<tr>
<td align= center >ALBERTO</td>
<td align= center >01/01/1990</td>
</tr>
</table>
 
<br>
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:
 
<br>
t NASCIMENTO asc (T1)
 
<br>
teremos:
 
<br>
<table border=1 width=150px>
<tr>
<td align= center bgcolor = lightgray >FUNCIONARIO</td>
<td align= center bgcolor = lightgray >NASCIMENTO</td>
</tr>
<tr>
<td align= center >MARGARIDA</td>
<td align= center >05/12/1966</td>
</tr>
<tr>
<td align= center >JOÃO</td>
<td align= center >01/12/1969</td>
</tr>
<tr>
<td align= center >MARIA</td>
<td align= center >23/03/1971</td>
</tr>
<tr>
<td align= center >JOSÉ</td>
<td align= center >01/12/1980</td>
</tr>
<tr>
<td align= center >SIMONI</td>
<td align= center >12/05/1986</td>
</tr>
<tr>
<td align= center >JOAQUIM</td>
<td align= center >03/09/1987</td>
</tr>
<tr>
<td align= center >ALBERTO</td>
<td align= center >01/01/1990</td>
</tr>
</table>
 
<br>
<h1>==Utilização no sql</h1>==
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:
 
<br>
Select nome, idade from aluno where nome is not null order by nome;
<br>
 
No qual as palavras:
 
<br>
[[ORDER BY]] : define a ordem como as colunas recuperadas serão exibidas.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[ASC]] : ordena os registros em ordem crescente “ordem"ordem default”default".<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[DESC]] : ordena os registros em ordem decrescente.<br />
<h1>Referências</h1>
<ref>{{citar web || url=http://www.inf.ufsc.br/~ronaldo/ine5613/4-algebra.pdf || titulo=Modelo Relacional - Manipulação || acessodata=01/06/2009 || autor=Ronald}}</ref><ref>{{citar web || url=http://en.wikipedia.org/wiki/Relational_algebra || titulo=Relational algebra || acessodata=01/06/2009 || autor=Wikipedia}}</ref>
 
<ref>{{citar web || url=http://en.wikipedia.org/wiki/Relational_algebra || titulo=Relational algebra || acessodata=01/06/2009 || autor=Wikipedia}}</ref>
{{Ref-section}}
 
{{Seminterwiki}}
<references/>
{{Sem imagem|data=agosto de 2009}}
 
{{DEFAULTSORT:Ordenacao (Algebra Relacional)}}
[[Categoria:Álgebra]]