1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
<!--
<!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>
|