<!-- <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd"> --> <sect1 id="designing-queries"> <title >Розробка запитів до баз даних</title> <para >Основним призначенням бази даних є зберігання даних та полегшення отримання потрібної вам інформації. На відміну від баз даних, записаних на листках паперу, база даних &kexi; надає вам змогу вказувати більше критеріїв пошуку. Результати буде повернуто швидше, навіть для баз даних великого об’єму. Це переваги використання баз даних, але, щоб мати змогу створювати ефективні <emphasis >запити</emphasis > у вашій базі даних, вам слід навчитися повідомляти базі даних про те, що ви шукаєте. </para> <para >За допомогою запитів до бази даних ви можете обмежити дані, який буде отримано від таблиці з даними, попередньо визначеним набором рядків і стовпчиків, а також у динамічному режимі <firstterm >об’єднувати</firstterm > дані, що находять від декількох таблиць. </para> <para >Щоб ознайомитися з тим, як працюють запити, розглянемо приклад. Створимо запит <literal >contacts</literal > (контакти) у якому поєднуватимуться дані з двох таблиць: <literal >persons</literal > і <literal >phone_numbers</literal > (створення цієї таблиці обговорено у главі 3.1i, а її заповнення даними у главі 3.2). </para> <procedure> <step> <para >Створіть порожній запит за допомогою пункту меню <menuchoice ><guimenu >Вставка</guimenu ><guimenuitem >Запит...</guimenuitem ></menuchoice >. У відповідь на вибір цього пункту програма відкриє вікно компонування. Це вікно буде розділено на дві області: взаємозв’язки запитів у верхній частині і стовпчики запитів, розташовані нижче. </para> </step> <step> <para >Оберіть таблицю <literal >persons</literal > у спадному списку <guilabel >Таблиця:</guilabel >, розташованому у верхній частині вікна, і натисніть кнопку <guibutton >Додати</guibutton >. На панелі зв’язків з’явиться графічне представлення таблиці. Зробіть те саме для таблиці <literal >phone_numbers</literal > і вставте і її, як це показано на наведеному нижче знімку. </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 >Додайте зв’язок між запитами за допомогою перетягування мишею зі скиданням: натисніть поле <literal >id</literal > у таблиці <literal >persons</literal >, перетягніть і скиньте його на поле <literal >person</literal > таблиці <literal >phone_numbers</literal >. Таким чином, ви <emphasis >з’єднаєте обидва поля створенням взаємозв’язку</emphasis >. </para> </step> <step> <para >Наведіть вказівник миші на поле <literal >name</literal > у таблиці <literal >persons</literal > і двічі клацніть лівою кнопкою миші, щоб додати це поле як <firstterm >стовпчик запиту</firstterm >. У подібний же спосіб додайте поля <literal >surname</literal >, <literal >street</literal >, <literal >house_number</literal >, <literal >city</literal > з таблиці <literal >persons</literal > та поле <literal >phone</literal > з таблиці <literal >phone_numbers</literal >. </para> </step> <step> <para >Тепер компонування запиту готове до перевірки. Натисніть кнопку <guibutton >Перемкнути у режим перегляду даних</guibutton > на панелі інструментів, щоб перемкнути програму з режиму компонування у режим перегляду результатів пошуків за запитом. </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 >Збережіть компонування запиту для наступного використання натисканням клавіші <guibutton >Зберегти</guibutton > на панелі інструментів. Крім того, зберегти запит можна за допомогою пункту меню <menuchoice ><guimenu >Файл</guimenu > <guimenuitem >Зберегти</guimenuitem ></menuchoice > або натискання комбінації клавіш <keycombo action="simul" >&Ctrl;<keycap >S</keycap ></keycombo >. Оскільки ви ще не зберігали це компонування запиту, програма попросить вас надати йому належну назву. Введіть <literal >Contacts</literal > у поле <guilabel >Заголовок</guilabel > і натисніть кнопку <guibutton >Гаразд</guibutton >. </para> </step> </procedure> </sect1>