<!-- <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> --> <sect1 id="designing-queries"> <title >Desenhando Consultas ao Banco de Dados</title> <para >A finalidade primária de um banco de dados é armazenar informações e auxiliá-lo a extrair as informações que esteja procurando. Diferentemente dos bancos de dados escritos em folhas de papel, o banco de dados do &kexi; permite que você especifique mais critérios de busca. Os resultados serão exibidos mais rapidamente, até para grandes conjuntos de dados. Isto é o grande poder que o banco de dados oferece. No entanto, para você ser capaz de executar <emphasis >consultas</emphasis > efetivas em seu banco de dados, você precisa aprender como dizer ao banco de dados o que você está procurando. </para> <para >Com consultas ao banco de dados, você pode limitar os dados retornados de uma tabela para um pré-definido conjunto de linhas e colunas bem como <firstterm >juntar</firstterm > dinamicamente os dados provenientes de várias tabelas. </para> <para >Para ver como as consultas funcionam na prática, você criará uma consulta <literal >contatos</literal > mesclando dados de duas tabelas: <literal >pessoas</literal > e <literal >num_telefones</literal > (desenhadas no capítulo 3.1 e preenchidas com dados no capítulo 3.2). </para> <procedure> <step> <para >Crie uma nova consulta vazia, selecionando a opção <menuchoice ><guimenu >Inserir</guimenu ><guimenuitem >Consulta...</guimenuitem ></menuchoice > do menu. A janela de desenho irá aparecer. A janela está dividida em duas áreas: as relações da consulta no topo e as colunas da consulta abaixo. </para> </step> <step> <para >Selecione a tabela <literal >pessoas</literal > na lista <guilabel >Tabela:</guilabel > localizada no topo da janela e clique no botão <guibutton >Adicionar</guibutton >. Uma representação gráfica da tabela aparecerá na área de relações. Faça o mesmo para a tabela <literal >num_telefones</literal > para inserí-la também, como na figura abaixo. </para> <!--<screenshot> <screeninfo ><literal >contacts</literal > query design</screeninfo> <mediaobject> <imageobject> <imagedata fileref="img/05_03_00_query_design.png" format="PNG"/> </imageobject> <textobject> <phrase ><literal >contacts</literal > query design</phrase> </textobject> </mediaobject> </screenshot >--> </step> <step> <para >Adicione o relacionamento da consulta usando a técnica arrastar & soltar do mouse: clique no campo <literal >id</literal > na tabela <literal >pessoas</literal >, arraste-o e solte no campo <literal >pessoa</literal > da tabela <literal >num_telefones</literal >. Isto irá <emphasis >juntar ambos os campos criando um novo relacionamento</emphasis >. </para> </step> <step> <para >Dê um duplo-clique no campo <literal >nome</literal > na tabela <literal >pessoas</literal > para adicionar o campo como uma <firstterm >coluna da consulta</firstterm >. Da mesma maneira, adicione os campos <literal >sobrenome</literal >, <literal >rua</literal >, <literal >num_casa</literal >, <literal >cidade</literal > da tabela <literal >pessoas</literal > e o campo <literal >telefone</literal > da tabela <literal >num_telefones</literal >. </para> </step> <step> <para >O desenho da consulta agora está pronto para testes. Clique no botão <guibutton >Alternar para visão de dados</guibutton > na barra de ferramentas, para alternar da visão de desenho para a de dados fornecidos como resultados da consulta. </para> <!--<screenshot> <screeninfo ><literal >Contacts</literal > query results</screeninfo> <mediaobject> <imageobject> <imagedata fileref="img/05_03_00_query_results.png" format="PNG"/> </imageobject> <textobject> <phrase ><literal >Contacts</literal > query results</phrase> </textobject> </mediaobject> </screenshot >--> </step> <step> <para >Salve o desenho da consulta para uso posterior clicando no botão <guibutton >Salvar</guibutton > na barra de ferramentas. Você pode também usar o <menuchoice ><guimenu >Arquivo</guimenu ><guimenuitem >Salvar</guimenuitem ></menuchoice > do menu ou pressionar as teclas <keycombo action="simul" >&Ctrl;<keycap >S</keycap ></keycombo >. Como sua consulta não havia sido salvo ainda, você será solicitado a especificar um nome para ela. Insira o texto <literal >Contatos</literal > no campo <guilabel >título</guilabel > e clique no botão <guibutton >OK</guibutton >. </para> </step> </procedure> </sect1>