You are on page 1of 8

c 

  

Neste tutorial o que se pretende é dar uma breve introdução à linguagem a  que é tão útil para fazer
pesquisas em Bases de Dados. Este tutorial não trará nada de novo para quem já mexe em a .

Não vamos falar de VB, nem de programação em geral, apenas a . Vamos assumir que temos uma base de
dados de um programa que gere uma escola, e dentro dessa R    R 
    
 R     
      
               ! "    .

      #        $    % R  


Esta linguagem é muito rica, é possível mesmo através dela, inserir dados e apagar dados que estejam na tabela. Por
outro lado é de notar que a implementação a da Microsoft difere em alguns aspectos da implementação da
. Contudo vamos apenas falar do básico que deverá ser igual em ambas as implementações.

A grande vantagem do a  é que geralmente todas as grandes ferramentas de Bases de Dados têm uma
implementação nativa da linguagem, fazendo com que a pesquisa através dela seja muito mais rápida. Por outro
lado, é uma linguagem muito semelhante ao inglês o que facilita bem as coisas. Vamos então ver um exemplo desta
semelhança.

Vamos imaginar que %    % &  '. Se pudéssemos
escrever em português normal seria:

a




  




 



Em inglês seria:

a    


  



 




Em a será:

a !"#$%
&'$


()

*

Como podem verificar, é praticamente inglês...Mas vejamos então o que significam as palavras a azul.

    % %         . Na frase de cima,
as palavras reservadas estão a azul.

a !+Indica que queremos seleccionar algo

#$%+Indica qual a tabela de onde queremos seleccionar

&'$+Indica que a seguir virá a condição que queremos

º(  %%     R Ô 


#   R  
      #     

Nesta linha a  o que estamos a dizer é para a






  






 ,  

.   %  ))  

Vamos então ver como faríamos para         R Ô 
  
 * *  

Voltando outra vez ao português:

Selecciona o campo NomeProprio databela Alunos em que o NomeProprio seja igual a João.

Em inglês temos que:

a 


  
 



 




E em a  temos (já devem deter adivinhado):

a !


#$%
&'$


()

*

Mas vamos imaginar que afinal %+ $ %+  R# 
  Bom,   " $R          ,
a !


-
 #$%
&'$


()

*

Quem diz dois campos, diz três ou quatro, ou dez ou vinte. Basta ir separando por virgulas os nomes dos
campos. É claro que se o nome do campo estiver mal escrito recebem um erro a dizer que não é possível encontrar o
campo.

Isto é tudo muito bom,   R#% -   . Pois é e procurar por
números é sempre muito bom. Então .  "  #%    $     
 ))  R      .,

a !D#$%
&'$

 (./01

Aqui voltamos a seleccionar todos os campos, mas desta vez a condição é que o Código Postal seja igual a 1230.

No entanto eu como sou complicado, %   #Ô 


     Ô %
 R#%& . Bom para fazer isto o ideal era eu dizer-lhe:

Em português:

a




  




 


  
  

Em inglês seria:

a    


  



 


  2 
 

Em a será:

a !"#$%
&'$


()

*3
  () *

Exactamente, temos disponível o operador 3 que sinceramente dá muito jeito. É claro que  R#
/00 1  & %    Ô 
Vamos aproveitar então agora um bocadinho para falar sobre as condições. Existem   %
 $     1,

Ë4Maior que

54 Menor que

5Ë4Diferente

5(4 Menor ou igual

Ë(4 Maior ou igual

Quando utilizamos qualquer destes símbolos o motor a  devolve sempre todos os registos que façam com que a
condição seja verdadeira. Portanto vamos ver alguns exemplos:

a !D#$%
&'$ Selecciona os alunos cujo Código Postal seja maior que


 Ë./01 1230

a !D#$%
&'$ Selecciona os alunos cujo Código Postal seja menor que


 5./01 1230

a !D#$%
&'$ Selecciona os alunos cujo Código Postal seja maior ou igual


 Ë(./01 a 1230

a !D#$%
&'$ Selecciona os alunos cujo Código Postal seja menor ou


 5(./01 igual a 1230

a !D#$%
&'$ Selecciona os alunos cujo Código Postal seja diferente de


 5Ë./01 1230

Porém   R#"     %   #%"   2
     " R  &R R"    

Vejamos o seguinte Statement a :

a !D#$%
&'$


5)

*

O que o motor a  faz é verificar se o NomeProprio do registo n é 


 do que 

. Mas o % "  
  345   "  %    %     
#R O que ele faz é comparar alfabeticamente os nomes. Vamos supor o seguinte:
Temos os nomes:

 6-

-7 8

Se ordenarmos alfabeticamente estes nomes, ficamos com:

 6-7 8-


a"     &      &  #   " R  
    %   . Utilizando qualquer um dos outros operadores a
lógica será a mesma, mas adaptada à função do operador.

Bom, agora que já vimos a utilização dos operadores era bom irmos um bocadinho mais longe. Uma coisa que
provavelmente dá muito jeito seria  -   " R# Imaginemos que estamos a
disponibilizar uma listagem dos alunos, é claro que para o utilizador é muito mais agradável ver uma lista ordenada
alfabeticamente do que uma com ͞tudo ao molho͟. Para isso temos que construir a string a .

Vamos ver em português como já vem sendo hábito:

a




  




 


  






Em inglês temos a bela e maravilhosa:

a    


  



 


 
 2




E como o que interessa mesmo é o a :

a !"#$%
&'$


()

*$3$9:



Nesta string a única novidade é a seguir ao Nome. Temos $3$9:. Mais uma palavra reservada do a . O
que esta palavra faz é ordenar os resultados obtidos pelo campo que especificámos, neste caso 


.
No entanto poderemos querer  -   *  % 
 R#  3

O que fazer? Basta   " %%   + , ou seja:

a !"#$%
&'$


()

*$3$9:


-
 -
%

Ficamos assim com os registos ordenados por NomeProprio, seguidos de uma ordenação por NomePai e
finalmente por NomeMae. A  #"     , a não ser que seja especificado o
contrário. Como é que podemos fazer isso? Existem as ;; a 3a .O que fazem é especificar se
 "      !
  Ô     
 !
   Ô Algo a ter em atenção é que os valores nulos ou vazios são sempre considerados
como sendo os mais pequenos.

Vamos então              
     R#.

Então temos:

a !"#$%
&'$


()

*$3$9:


-
 3a -
%
a

Se calhar pensaram que me esqueci do a no 




. Não, não me esqueci. Foi só para mostrar que
como as  16"  7#"      "     #
"     "#   #"     
Ô#  #"      R# Portanto se não quiserem mais confusão, utilizem apenas a
palavra 3a quando quiserem especificar uma ordenação do maior para o menor.

Uff, já temos ordenações, igualdades e desigualdades e será que ainda falta alguma coisa para se conseguir
mexer basicamente com a linguagem a ? Bom à primeira vista não, diriam vocês já que temos pouca coisa que
dará para fazer muito. É verdade sim senhor, mas eu quando mexo numa aplicação (como user, não programador)
que faz uma procura numa base de dados gosto sempre de escrever o mínimo possível. Actualmente como
programador também evito escrever muito, a não ser que seja necessário, mas enfim, isso não interessa para nada.

Vamos então ver como " $     %   .

Em português teríamos:
a




  





 

Em inglês seria:

a    


  



   

Em a será:

a !"#$%
&'$


7< )=*

Bom aqui apareceu umas coisas novas que é preciso explicar. A palavra reservada 7<e aquela coisa feia entre
as ͚ ͚ (plicas).

A   $%"" % #%  #     . Ou seja, se em vez de
termos:

a !"#$%
&'$


( )

*

Tivermos:

a !"#$%
&'$


7< )

*

O a  retorna exactamente o mesmo. A única diferença é que nesta situação é muito mais lógico utilizar o (em
vez do 7<.

Vamos então ver o que temos entre ͚ ͚ (plicas). Bom o    š# % " $
8ºa º* $% 5   % %   %   &   
R  %  &a%#      *   R
 &   $š+ š

Portanto a linha seria:


a !"#$%
&'$


7< )=*

No entanto é + %      *   . Para isso
podemos fazer:

a !"#$%
&'$


7< )=
*

Basicamente o +R   "    69  7* % % 
R+R *     &       # ..

Falta referir e mesmo para terminar uma     %#'c º%   " $#*
 &     . Podemos utilizar o ! antes de uma condição apesar de não ser muito usual, por
exemplo poderíamos ter o seguinte:

a !"#$%
&'$


( )

*3!
 ()
6*

O que esta linha fará é seleccionar todos os alunos com nome 



e cujo nome do pai não seja 
6. É claro
que o ! aqui fica mal, porque %   &  R  :

a !"#$%
&'$


( )

*3
 5Ë)
6*

E temos nesta última uma forma muito mais lógica de escrever.

O 'c R  $ % R $%" :%%  


 *    . Para isso temos a linha:

a !"#$%
&'$


!7< )=
*

E assim seleccionamos apenas os alunos cujo nome não começa em  nem termina em
.

You might also like