<!--
  <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd">
-->

<chapter id="building-databases">
<title
>Побудова простої бази даних</title>
<sect1 id="building-intro">
<title
>Вступ</title>
<para
>З метою вивчення основних прийомів роботи у &kexi;, ви можете створити просту базу даних, у якій використовуватимуться найпростіші можливості &kexi;. Щоб не ускладнювати вивчення програми, ми не торкатимемося у цій главі складних питань побудови баз даних. </para>
<para
>Почнімо зі створення нової порожньої <emphasis
>Телефонної книги</emphasis
>. </para>

<para
>Після створення нового порожнього проекту бази даних, виконайте такі кроки:</para>
<procedure>
<step
><para
>Розробіть таблиці бази даних. Для цього ознайомтесь з розділом <xref linkend="designing-tables"/>.</para
></step>
<step
><para
>Введіть дані до таблиць. Для цього ознайомтесь з розділом <xref linkend="entering-data-into-tables"/>.</para
></step>
<step
><para
>Розробіть форми запитів до бази даних. Для цього ознайомтесь з розділом <xref linkend="designing-queries"/>.</para
></step>
<step
><para
>Розробіть форми. Для цього ознайомтесь з розділом <xref linkend="designing-forms"/>.</para
></step>
<step
><para
>Скористайтеся формами для введення даних. Для цього ознайомтесь з розділом <xref linkend="entering-data-using-forms"/>.</para
></step>
</procedure>
</sect1>

<sect1 id="designing-tables">
<title
>Розробка таблиць бази даних</title>
<para
>По-перше, до вашої бази даних буде додано дві таблиці: <emphasis
>persons</emphasis
> і <emphasis
>phone_numbers</emphasis
>. Ці таблиці ми вже описували у главі <link linkend="database-and-spreadsheet"
>База даних і електронна таблиця</link
>. З компонуванням таблиці <emphasis
>Persons</emphasis
> можна ознайомитися у розділі <link linkend="data-integrity-and-validity"
>Цілісність і коректність даних</link
> тієї ж глави. </para>

<procedure>
<step>
<para
>Скористайтеся пунктом меню <menuchoice
><guimenu
>Вставка</guimenu
><guimenuitem
>Таблиця...</guimenuitem
> </menuchoice
>. Крім того, ви можете просто натиснути кнопку <guilabel
>Створити об’єкт: таблиця</guilabel
> на <link linkend="project-navigator-pane"
>панелі інструментів «Навігатора проектом»</link
>. </para>
</step>
<step>
<para
>Програма відкриє вікно інструменту компонування таблиці. За верхньою частиною вікна компонувальника ви можете помітити, що &kexi; запропонувала для вашої таблиці типову назву, подібну до <emphasis
>template</emphasis
>. Компонування таблиці ще не було збережено, отже пізніше ви можете призначити таблиці кращу назву. Крім того, з тих самих причин, пункту таблиці ще немає у списку панелі <link linkend="project-navigator-pane"
>Навігатора проектом</link
>. </para>
</step>
</procedure>


<sect2 id="design-window">
<title
>Вікно створення таблиць</title>
<itemizedlist>
<title
>Вікно створення таблиць складається з таких стовпчиків:</title>
<listitem
><para
><guilabel
>ОК</guilabel
> — Основний ключ. </para
></listitem>
<listitem
><para
><guilabel
>Підпис поля</guilabel
> — підпис поля, який буде показано під час введення даних. </para
></listitem>
<listitem
><para
><guilabel
>Тип даних</guilabel
> — спадний список, у якому містяться пункти типів даних. За допомогою цього списку ви зможете встановити основне правило введення даних для відповідного поля. Наприклад, якщо для поля встановлено тип даних «цілі числа», користувач бази даних просто не зможе ввести у це поле літери. </para
></listitem>
<listitem
><para
><guilabel
>Коментарі</guilabel
> — тут ви можете навести будь-які відомості, корисні для розуміння призначення відповідного поля. Цей додатковий текст буде збережено у компонуванні таблиці, його можна буде переглянути лише у режимі компонування. </para
></listitem>
</itemizedlist>
<para
>У вікні <guilabel
>Компонувальника таблиці</guilabel
> кожен рядок відповідає одному полю таблиці. Визначити, що програма працює у <emphasis
>режимі компонування</emphasis
> можна за натиснутим станом кнопки <guibutton
>Перемкнути у режим компонування</guibutton
> головної панелі інструментів &kexi;. </para>


<procedure>
<title
>Розробка таблиці <emphasis
>Особи</emphasis
></title>
<step
><para
>У першому рядку натисніть комірку у стовпчику <guilabel
>Підпис поля</guilabel
> і введіть підпис поля <emphasis
>Name</emphasis
> (Ім’я). </para>
<itemizedlist>
<title
>Зауваження щодо назв полів і підписів</title>
<listitem
><para
>Кожне з полів таблиці повинне мати назву і підпис, ці поля не можна залишати порожніми. </para
></listitem>
<listitem
><para
>Назву поля буде використано самою базою даних, звичайні користувачі бази даних її не бачитимуть. У назві поля не повинно міститися спеціальних символів (символів кирилиці, ±, ¶, Ü) та пробілів. Назва має складатися лише з латинських літер, цифр та знаків підкреслювання «_». Останніми можна скористатися для заміни пробілів та дефісів. </para
></listitem>
<listitem
><para
>Назви полів мають починатися з літери або символу підкреслювання «_», але не з цифри. </para
></listitem>
<listitem
><para
>Можна використовувати літери у будь-якому регістрі (малі або великі). Для &kexi; назва бази даних &quot;Persons&quot; є тотожною до назви &quot;persons&quot;. </para
></listitem>
<listitem
><para
>З іншого боку, у поле підпису можна вводити будь-які літери та спеціальні символи. Вміст цього поля буде показано користувачам бази даних. </para
></listitem>
</itemizedlist>
</step>

<step>
<itemizedlist>
<title
>У подібний же спосіб, введіть такі поля до компонування таблиці:</title>
<listitem
><para
><guilabel
>surname</guilabel
></para
></listitem>
<listitem
><para
>street</para
></listitem>
<listitem
><para
>house_number</para
></listitem>
<listitem
><para
>city</para
></listitem>
</itemizedlist>
</step>

<step
><para
>Для всіх згаданих вище полів, окрім <emphasis
>house_number</emphasis
> (номер будинку), типом даних буде <emphasis
>text</emphasis
>. Змініть тип даних для поля <emphasis
>house_number</emphasis
> на <emphasis
>integer number</emphasis
> (ціле число). Щоб зробити це, натисніть комірку у стовпчику <guilabel
>Тип даних</guilabel
> рядка <emphasis
>house_number</emphasis
>, а потім натисніть кнопку спадного списку (ви також можете натиснути клавішу <keycombo
><keycap
>F4</keycap
></keycombo
> або комбінацію клавіш <keycombo action="simul"
>&Alt;<keycap
>Стрілка вниз</keycap
></keycombo
>. У відповідь програма відкриє список типів даних. Оберіть у цьому списку пункт <emphasis
>Integer number</emphasis
> (ціле число). </para
><para
>Після цього у поле <emphasis
>house_number</emphasis
> можна буде вводити лише числа. </para
></step>

<!-- TODO setting additional properties: e.g. caption -->
<step
><para
>Компонування таблиці <emphasis
>Persons</emphasis
> завершено. Натисніть кнопку <guibutton
>Перемкнути на перегляд даних</guibutton
> на панелі інструментів, щоб перемкнути програму у режим перегляду даних таблиці. Тепер до таблиці можна вводити дані. </para
></step>

<step
><para
>Оскільки компонування ще не збережено до бази даних, програма відкриє діалогове вікно <guibutton
>Зберегти об’єкт як</guibutton
>. За допомогою цього вікна вам слід вказати назву для нової таблиці. </para>
<para
>&kexi; запропонує вам загальну назву, наприклад, <emphasis
>Table1</emphasis
>. Щоб змінити цю назву, введіть <emphasis
>Persons</emphasis
> у поле <emphasis
>Підпис</emphasis
> і натисніть клавішу <keycombo
> <keycap
>Enter</keycap
></keycombo
> або кнопку <guibutton
>Гаразд</guibutton
>. Поле <guilabel
>Підпис</guilabel
> буде використано для показу таблиці кінцевим користувачам, наприклад, як назву форми. На відміну від назви, у підписі можна використовувати будь-які символи, зокрема пробіли і спеціальні символи. </para>
<para
>Зауважте, що заповнення поля <guilabel
>Підпис</guilabel
> призведе до автоматичного заповнення поля <guilabel
>Назва</guilabel
>. Для вашої зручності вміст підпису буде відфільтровано так, що у назві міститимуться лише латинські літери, цифри і символи «_». Ви можете змінити вміст поля <guilabel
>Назва</guilabel
>, якщо це потрібно. </para
></step>

<step
><para
>Програма запитає вас щодо автоматичного додавання основного ключа до таблиці. Для продовження роботи натисніть кнопку <guibutton
>Додати основний ключ</guibutton
>. </para
></step>

<step
><para
>Програма створить таблицю <emphasis
>Persons</emphasis
> і відкриє її у вікні перегляду даних. Відповідна назва з’явиться у списку панелі <guilabel
>Навігатора проектом</guilabel
>. </para
></step>

<step
><para
>Створіть таблицю <emphasis
>phone_numbers</emphasis
> у спосіб, подібний до способу створення таблиці <emphasis
>persons</emphasis
>. </para
></step>

<step
><para
>Створіть поле <emphasis
>person</emphasis
> (особа) типу <emphasis
>Integer number</emphasis
> (ціле число) і поле <emphasis
>phone</emphasis
> (телефон) типу <emphasis
>Text</emphasis
> (текст). Використовувати числовий тип даних для цього поля не можна, оскільки телефонні номери мають різну форму запису та містять префікси. </para
></step>

<step
><para
>Натисніть на панелі інструментів кнопку <guibutton
>Перемкнути на перегляд даних</guibutton
> і вкажіть для таблиці підпис <emphasis
>Phones</emphasis
>. Як і для попередньої таблиці, дозвольте &kexi; автоматично створити основний ключ. </para
></step>
</procedure>

</sect2>

</sect1>
&enteringdataintotables; &querydesigning; &designingforms; &enteringdatausingforms; </chapter>

