You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
154 lines
4.5 KiB
154 lines
4.5 KiB
<!--
|
|
<!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ë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>
|