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

 -->

  <sect1 id="designing-queries">
    <title
>Database-query's ontwerpen</title>
    <para
>Het primaire doel van een database is het opslaan en terugvinden van gegevens. In tegenstelling tot gegevens in een spreadsheet, kunt u met &kexi; meer zoekcriteria specificeren. De resultaten worden ook sneller gevonden, zelfs bij grote databases. Dit zijn enkele van de voordelen van databases, maar om effectieve <emphasis
>query's</emphasis
> uit te voeren, moet u eerst weten hoe u de database laat zoeken naar de gegevens die u wilt zien. </para>
    <para
>Met behulp van query's kunt u de hoeveelheid gegevens, die in een tabel gevonden worden, beperken tot een voorgedefinieerd aantal rijen en kolommen, maar u kunt ook gegevens uit meerdere tabellen dynamisch <firstterm
>samenvoegen</firstterm
> (join). </para>
    <para
>Om een voorbeeld uit de praktijk te testen gaan we de query <literal
>contacten</literal
> cre&euml;ren, hierin worden gegevens uit de tabellen <literal
>personen</literal
> en <literal
>telefoon_nummers</literal
> samengevoegd. (Deze tabellen zijn ontworpen in hoofdstuk 3.1, de gegevens zijn ingevoerd in hoofdstuk 3.2). </para>
    <procedure>
      <step>
        <para
>Kies <menuchoice
><guimenu
>Invoegen</guimenu
> <guimenuitem
>Query</guimenuitem
></menuchoice
> in het menu om een nieuwe query te creëren. Het ontwerpvenster wordt geopend. Bovenin het venster vindt u de query-relaties en onderin de query-kolommen. </para>
      </step>
      <step>
        <para
>Selecteer de tabel <literal
>personen</literal
> in de keuzelijst <guilabel
>Tabel:</guilabel
> bovenin het venster en klik op <guibutton
>Toevoegen</guibutton
>. Er verschijnt een grafische representatie van de tabel in het bovenste gedeelte. Voeg op dezelfde manier de tabel <literal
>telefoon_nummers</literal
> toe, zoals te zien is in de schermafdruk hieronder. </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
>Creëer een query-relatie: klik op het veld <literal
>id</literal
> in de tabel <literal
>personen</literal
> en versleep het naar het veld <literal
>persoon</literal
> in de tabel <literal
>telefoon_nummers</literal
>. Op deze manier <emphasis
>voegt u de beide velden samen door een nieuwe relatie te creëren</emphasis
>. </para>
      </step>
      <step>
        <para
>Dubbelklik op het veld <literal
>naam</literal
> in de tabel <literal
>personen</literal
> om het veld als een <firstterm
>query-kolom</firstterm
> toe te voegen. Voeg dan op dezelfde manier uit de tabel <literal
>personen</literal
> de velden <literal
>achternaam</literal
>, <literal
>straat</literal
>, <literal
>huisnummer</literal
> en <literal
>plaats</literal
> toe. Voeg het veld <literal
>telefoon</literal
> uit de tabel <literal
>telefoon_nummers</literal
> toe. </para>
      </step>
      <step>
        <para
>Het query-ontwerp kan nu getest worden. Klik op de knop <guibutton
>Overschakelen naar gegevensweergave</guibutton
> op de werkbalk om het resultaat van de query te zien. </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
>Sla het query-ontwerp op, zodat u het later weer kunt gebruiken, door op <guibutton
>Opslaan</guibutton
> op de werkbalk te klikken. U kunt ook <menuchoice
><guimenu
>Bestand</guimenu
><guimenuitem
>Opslaan</guimenuitem
></menuchoice
> in het menu kiezen of op de toetsen <keycombo action="simul"
><keycap
>Ctrl</keycap
><keycap
>S</keycap
></keycombo
> drukken. Omdat het ontwerp nog niet eerder opgeslagen is, moet u er een naam voor invullen. Typ <literal
>Contacten</literal
> bij <guilabel
>titel</guilabel
> en klik op <guibutton
>OK</guibutton
>. </para>
      </step>
    </procedure>
  </sect1>
