<!--
  <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd">

 -->

  <sect1 id="designing-queries">
    <title
>Diseñar consultas de bases de datos</title>
    <para
>El principal propósito de una base de datos es guardar y ayudar a extraer la información que está buscando. A diferencia de las bases de datos escritas en hojas de papel, las bases de datos de &kexi; le permiten especificar más criterios de búsqueda. Los resultados se devuelven de forma rápida incluso para grandes conjuntos de datos. Todo esta es la potencia de las bases de datos, sin embargo, para poder realizar <emphasis
>consultas</emphasis
> de forma efectiva en su base de datos, necesitará aprender a decirle a la base de datos qué es lo que está buscando. </para>
    <para
>Con las consultas a la base de datos puede limitar los datos que provienen de una tabla a un conjunto predefinido de filas y columnas y <firstterm
>unir</firstterm
> dinámicamente datos provenientes de varias tablas. </para>
    <para
>Para ver cómo funcionan las consultas en la práctica crearemos una consulta <literal
>contactos</literal
> que unirá los datos de dos tablas: <literal
>personas</literal
> y <literal
>números de teléfono</literal
> (diseñadas en el capítulo 3.1i y rellenadas con datos en el capítulo 3.2). </para>
    <procedure>
      <step>
        <para
>Cree una consulta nueva vacía seleccionando <menuchoice
><guimenu
>Insertar</guimenu
><guimenuitem
>Consulta</guimenuitem
></menuchoice
> en la barra de menús. Aparecerá la ventana de diseño. La ventana está dividida en dos áreas: relaciones de la consulta en la parte superior y columnas a las que pertenecen las columnas. </para>
      </step>
      <step>
        <para
>Seleccione la tabla <literal
>personas</literal
> en la lista desplegable <guilabel
>Tabla</guilabel
> situada en la parte superior de la ventana y pulse el botón <guibutton
>Añadir</guibutton
>. Aparecerá una representación gráfica de la tabla en el área de relaciones. Haga lo mismo para insertar la tabla <literal
>numeros_telefono</literal
>, tal y como se muestra a continuación. </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
>Añada una relación a la consulta utilizando el ratón con la técnica de arrastrar y soltar: pulse el campo <literal
>id</literal
> en la tabla <literal
>personas</literal
>, arrastre y suéltelo en el campo <literal
>persona</literal
> de la tabla <literal
>numeros_telefono</literal
>. Ésto <emphasis
>unirá ambos campos creando una relación nueva</emphasis
>. </para>
      </step>
      <step>
        <para
>Con una doble pulsación en el campo <literal
>nombre</literal
> en la tabla <literal
>personas</literal
>, añadirá el campo como una <firstterm
>columna de consulta</firstterm
>. De forma similar, añada los campos <literal
>apellidos</literal
>, <literal
>calle</literal
>, <literal
>numero_casa</literal
> y <literal
>ciudad</literal
> de la tabla <literal
>personas</literal
> y <literal
>telefono</literal
> de la tabla <literal
>numeros_telefono</literal
>. </para>
      </step>
      <step>
        <para
>El diseño de consulta está listo para ser probado. Pulse el botón <guibutton
>Cambiar a la vista de datos</guibutton
> en la barra de herramientas para cambiar de la vista de diseño a la vista de datos que proporciona los resultados de la 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
>Guarde el diseño de la consulta para utilizarlo posteriormente pulsando el botón <guibutton
>Guardar</guibutton
> en la barra de herramientas. También puede utilizar <menuchoice
><guimenu
>Archivo</guimenu
><guimenuitem
>Guardar</guimenuitem
></menuchoice
> en la barra de menús o pulsar las teclas <keycombo action="simul"
>&Ctrl;<keycap
>S</keycap
></keycombo
>. Como el diseño de la consulta no se había guardado todavía, se le pedirá un nombre para ella. Introduzca el texto <literal
>Contactos</literal
> en el campo <guilabel
>Dirección</guilabel
> y pulse el botón <guibutton
>Aceptar</guibutton
>. </para>
      </step>
    </procedure>
  </sect1>
