<!-- <!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 sisselü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 "_". 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 "_", aga mitte arvuga. </para ></listitem> <listitem ><para >Pole vahet, kas kasutad suur- või väiketähti. &kexi; jaoks on andmebaasi nimi "Isikud" samaväärne nimega "isikud". </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 "_". 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>