<!--
  <!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>
