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

<chapter id="building-databases">
<title
>Lihtsate andmebaaside loomine</title>
<sect1 id="building-intro">
<title
>Sissejuhatus</title>
<para
>&kexi; põhialuste tundmaõppimiseks tuleks esmalt luua lihtne andmebaas, mille juures saab ära kasutada kõige põhilisemaid &kexi; omadusi. Et asjad lihtsamini selgeks saaksid, ei käsitleta siinkohal andmebaaside disaini kõiki üksikasju. </para>
<para
>Alustuseks loo uus tühi <emphasis
>telefoniraamat</emphasis
>. </para>

<para
>Kui sul on nüüd uus tühi andmebaasiprojekt, võta ette järgmised sammud:</para>
<procedure>
<step
><para
>Andmebaasi tabelite kirjeldamine. Loe <xref linkend="designing-tables"/>.</para
></step>
<step
><para
>Andmete sisestamine tabelitesse. Loe <xref linkend="entering-data-into-tables"/>.</para
></step>
<step
><para
>Andmebaasipäringute kirjeldamine. Loe <xref linkend="designing-queries"/>.</para
></step>
<step
><para
>Vormide kujundamine. Loe <xref linkend="designing-forms"/>.</para
></step>
<step
><para
>Vormide kasutamine andmete sisestamiseks. Loe <xref linkend="entering-data-using-forms"/>.</para
></step>
</procedure>
</sect1>

<sect1 id="designing-tables">
<title
>Andmebaasi tabelite kirjeldamine</title>
<para
>Kõigepealt pane tähele, et sinu andmebaasis on kaks tabelit: <emphasis
>isikud</emphasis
> ja <emphasis
>telefoninumbrid</emphasis
>. Need on samad tabelid, mida kirjeldab osa <link linkend="database-and-spreadsheet"
>Andmebaas ja arvutustabel</link
>. Tabeli <emphasis
>Isikud</emphasis
> ülesehitust tutvustab sama peatüki osa <link linkend="data-integrity-and-validity"
>Andmeterviklus ja -õigsus</link
>. </para>

<procedure>
<step>
<para
>Vali menüükäsk <menuchoice
><guimenu
>Lisamine</guimenu
><guimenuitem
>Tabel</guimenuitem
> </menuchoice
>. Selle asemel võib kasutada ka nuppu <guilabel
>Loo objekt: tabel</guilabel
>, mille leiab <link linkend="project-navigator-pane"
>projekti navigaatori tööriistaribalt</link
>. </para>
</step>
<step>
<para
>Ilmub tabeli kirjeldamise aken. Selle ülaosas märkad, et &kexi; on andnud sinu uuele tabelile üldise nime, näiteks <emphasis
>mall</emphasis
>. Tabel ei ole veel aga salvestatud, nii et hiljem saad sellele anda sobivama nime. Samal põhjusel ei ole ka tabeli nime veel näha <link linkend="project-navigator-pane"
>projekti navigaatoris</link
>. </para>
</step>
</procedure>


<sect2 id="design-window">
<title
>Tabeli kirjeldamise aken</title>
<itemizedlist>
<title
>Tabeli kirjeldamise aken koosneb järgmistest veergudest:</title>
<listitem
><para
><guilabel
>PK</guilabel
> - primaarvõti. </para
></listitem>
<listitem
><para
><guilabel
>Välja nimi</guilabel
> - välja ehk veeru nimi, mis on näha andmete sisestamise ajal. </para
></listitem>
<listitem
><para
><guilabel
>Andmetüüp</guilabel
> - liitkast erinevate andmetüüpide nimekirjaga, mis võimaldab valida antud väljale sisestatavate andmete põhireegli. Kui selleks on näiteks täisarv, siis ei saa andmebaasi kasutaja sisestada antud väljale tähti. </para
></listitem>
<listitem
><para
><guilabel
>Kommentaarid</guilabel
> - siia saab lisada mis tahes infot, mis aitab mõista, milleks antud väli on mõeldud. See lisatekst salvestatakse koos tabeli kirjeldusega ja seda näeb ainult kujundamisrežiimis. </para
></listitem>
</itemizedlist>
<para
><guilabel
>Tabeli kirjeldamise</guilabel
> aknas vastab iga rida tabeli ühele väljale. Seda, et viibid parajasti <emphasis
>kujundamisrežiimis</emphasis
>, näitab &kexi; peamisel tööriistaribal sisse lülitatud nupp <guibutton
>Lülitu kujundusvaatele</guibutton
>. </para>


<procedure>
<title
>Tabeli <emphasis
>Isikud</emphasis
> kirjeldamine</title>
<step
><para
>Klõpsa esimeses reas lahtrile veerus <guilabel
>Välja nimi</guilabel
> ja määra välja välja pealdiseks <emphasis
>nimi</emphasis
>. </para>
<itemizedlist>
<title
>Märkus väljanimede ja pealdiste kohta</title>
<listitem
><para
>Igal tabeli väljal peab olema nimi ja pealdis, need ei tohi puududa. </para
></listitem>
<listitem
><para
>Väljanimi on sõna, mida kasutab andmebaas ja mis ei ole tavaliselt andmebaasirakenduse kasutajale nähtav. Väljanimed ei tohi sisaldada erimärke (näiteks ±, ¶, Ü) ega tühikut. Nimed võivad sisaldada ainult tähti, arve ja alakriipsu &quot;_&quot;. Viimast on hea kasutada näiteks tühikute või side/mõttekriipsude asemel. </para
></listitem>
<listitem
><para
>Väljanimed peavad algama tähe või alakriipsuga &quot;_&quot;, aga mitte arvuga. </para
></listitem>
<listitem
><para
>Pole vahet, kas kasutad suur- või väiketähti. &kexi; jaoks on andmebaasi nimi &quot;Isikud&quot; samaväärne nimega &quot;isikud&quot;. </para
></listitem>
<listitem
><para
>Välja pealdis aga võimaldab kasutada mis tahes märke ja sümboleid. Seda näidatakse andmebaasirakenduse kasutajale. </para
></listitem>
</itemizedlist>
</step>

<step>
<itemizedlist>
<title
>Samamoodi sisesta tabelisse järgmised väljad:</title>
<listitem
><para
><guilabel
>perekonnanimi</guilabel
></para
></listitem>
<listitem
><para
>tänav</para
></listitem>
<listitem
><para
>majanumber</para
></listitem>
<listitem
><para
>linn</para
></listitem>
</itemizedlist>
</step>

<step
><para
>Kõigi mainitud väljade, välja arvatud <emphasis
>majanumber</emphasis
>, tüübiks on <emphasis
>tekst</emphasis
>. Määra välja <emphasis
>majanumber</emphasis
> tüübiks <emphasis
>täisarv</emphasis
>. Selleks klõpsa lahtril veerus <guilabel
>Andmetüüp</guilabel
> ja reas <emphasis
>majanumber</emphasis
> ning seejärel andmetüüpide nimekirja sisaldaval nupul (sama tulemuse saab vajutamisega klahvile <keycombo
><keycap
>F4</keycap
></keycombo
> või <keycombo action="simul"
>&Alt;<keycap
>Nool alla</keycap
></keycombo
>). Ilmub andmetüüpide nimekiri. Vali sealt <emphasis
>Täisarv</emphasis
>. </para
><para
>Edaspidi saab väljale <emphasis
>majanumber</emphasis
> sisestada ainult arve. </para
></step>

<!-- TODO setting additional properties: e.g. caption -->
<step
><para
>Tabel <emphasis
>Isikud</emphasis
> ongi nüüd kirjeldatud. Klõpsa tööriistaribal nupule <guibutton
>Lülitu andmevaatele</guibutton
>, millega saad lõpetada kirjeldamise ja näha tabelit andmevaates. See võimaldab sisestada tabelisse andmeid. </para
></step>

<step
><para
>Tabel ei ole veel andmebaasi salvestatud, mistõttu ilmub dialoog <guibutton
>Objekti salvestamine</guibutton
>. Siin tuleb uuele tabelile nimi anda. </para>
<para
>&kexi; pakub omalt poolt üldist nime, näiteks <emphasis
>Tabel1</emphasis
>. Selle muutmiseks kirjuta <emphasis
>Isikud</emphasis
> väljale <emphasis
>Pealdis</emphasis
> ja vajuta klahvi <keycombo
> <keycap
>Enter</keycap
></keycombo
> või klõpsa nupule <guibutton
>OK</guibutton
>. Välja <guilabel
>Pealdis</guilabel
> sisu kasutatakse tabeli näitamisel andmebaasi kasutajale näiteks vormi korral. Erinevalt nimest võib pealdis sisaldada igasuguseid märke, kaasa arvatud tühikud ja erimärgid. </para>
<para
>Pane tähele, et välja <guilabel
>Pealdis</guilabel
> täitmisel täidetakse automaatselt ka väli <guilabel
>Nimi</guilabel
>. Sinu elu kergendamiseks peetakse kinni reeglist, et nimes saab kasutada ainult tähti, arve ja märki &quot;_&quot;. Soovi korral võid muidugi välja <guilabel
>Nimi</guilabel
> sisu muuta. </para
></step>

<step
><para
>Sinu käest päritakse, kas soovid tabelile automaatselt lisada primaarvõtme. Jätkamiseks klõpsa nupule <guibutton
>Lisa primaarvõti</guibutton
>. </para
></step>

<step
><para
>Nüüd ongi tabel <emphasis
>Isikud</emphasis
> loodud ja avatud andmevaates. Selle nime näeb ka <guilabel
>projekti navigaator</guilabel
>i paneelil. </para
></step>

<step
><para
>Loo tabel <emphasis
>telefoninumbrid</emphasis
> samamoodi, nagu lõid tabeli <emphasis
>isikud</emphasis
>. </para
></step>

<step
><para
>Määra välja <emphasis
>isik</emphasis
> tüübiks <emphasis
>Täisarv</emphasis
> ja välja <emphasis
>telefon</emphasis
> tüübiks <emphasis
>Tekst</emphasis
>. Ära kasuta arvutüüpi, sest telefoninumbrid võivad esineda väga mitmesugusel kujul ja väga erinevate eesliidetega. </para
></step>

<step
><para
>Klõpsa tööriistaribal nupule <guibutton
>Lülitu andmevaatele</guibutton
> ja määra tabeli pealdiseks <emphasis
>Telefonid</emphasis
>. Nagu eelmise tabeli korral, luba &kexi;l automaatselt luua primaarvõti. </para
></step>
</procedure>

</sect2>

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

