Designing Database Queries
A database's primary purpose is to store and help extract information
you are looking for. Unlike databases written on a paper sheets, &kexi;
database allows you to specify more search criteria. Results
are returend faster even for large data sets. All this is a power of
databases, however to be able to perform efffective queries
in your database, you need to learn how to tell the database what you are
looking for.
With database queries you can limit data coming from a table to a predefined
set of rows and columns as well as dynamically join
data coming from multiple tables.
To see how queries work in practice you will create a contacts
query joining data from two tables: persons and
phone_numbers (designed in
chapter 3.1i
and filled with data in
chapter 3.2
).
Create a new empty query by selecting
InsertQuery from
the menubar. The design window will appear. The window is split into two areas: query
relationships at the top and query columns below.
Select the table persons in the drop down list Table:
located at the top of the window and click the Add button. A graphical
representation of the table will appear in the relations area. Do the same for the
phone_numbers table to insert it too, as in the figure below.
Add query relationship using mouse drag & drop technique: click the field
id in the table persons table, drag it
and drop into the person field of the phone_numbers
table. This will join both fields by creating a new relationship.
Double-click the name field in the persons
table, to add the field as a query column. In a similar way,
add surname, street, house_number,
city fields from the persons table and
phone from the phone_numbers table.
Query design is now ready for testing. Click the
Switch to data view button on the toolbar, to switch from
design to viewing the data provided as query results.
Save the query design for later use by clicking the
Save button on the toolbar. You can also use
FileSave
from the menubar or press the CtrlS
keys. Because the query design has not been saved yet, you will be asked to
specify a name for it. Enter Contacts text in the
caption field and click the OK button.