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

<chapter id="building-databases">
<title
>Bygga enkla databaser</title>
<sect1 id="building-intro">
<title
>Inledning</title>
<para
>För att lära dig grunderna i Kexi, skulle du först kunna bygga en enkel databas som utnyttjar de mest grundläggande av Kexis funktioner. För att förenkla, täcks inte ämnet avancerad databaskonstruktion här. </para>
<para
>Starta genom att skapa en ny tom <emphasis
>Telefonkatalog</emphasis
>. </para>
<itemizedlist>
<title
>När du har ett tomt nytt databasprojekt, utför följande steg:</title>
<listitem
><para
>Konstruera databastabeller. Läs avsnitt </para
></listitem>
<listitem
><para
>Skriv in data i tabeller. Läs avsnitt </para
></listitem>
<listitem
><para
>Konstruera databasförfrågningar. Läs avsnitt </para
></listitem>
<listitem
><para
>Konstruera formulär. Läs avsnitt </para
></listitem>
</itemizedlist>
</sect1>

<sect1 id="designing-tables">
<title
>Konstruera databastabeller</title>
<para
>Först lägger vi till två tabeller i din databas: <emphasis
>personer</emphasis
> och <emphasis
>telefonnummer</emphasis
>. Det är exakt samma tabeller som beskrivs i kapitlet <link linkend="database-and-spreadsheet"
>Databaser och kalkylblad</link
>. En layout för <emphasis
>personer</emphasis
> hittar du i avsnittet <link linkend="data-integrity-and-validity"
>Dataintegritet och giltighet</link
> i det kapitlet. </para>
<itemizedlist>
<listitem>
<para
>Välj <menuchoice
><guimenu
>Infoga</guimenu
> <guimenuitem
>Tabell</guimenuitem
></menuchoice
> i menyraden. Du kan också använda knappen <guilabel
>Skapa objekt: tabell</guilabel
> i <link linkend="project-navigator-pane"
>Projektnavigeringens verktygsrad</link
>. </para>
</listitem>
<listitem>
<para
>Fönstret för tabellkonstruktion visas. Om du tittar längst upp i konstruktionsfönstret ser du att Kexi föreslår ett generellt namn som <emphasis
>mall</emphasis
> för den nya tabellen. Tabellkonstruktionen har inte sparats ännu så du kan tilldela ett lämpligare namn senare. Dessutom, av samma orsak, syns inte tabellnamnet ännu i <link linkend="project-navigator-pane"
>Projektnavigeringen</link
>. </para>
</listitem>
</itemizedlist>


<sect2 id="design-window">
<title
>Fönstret för tabellkonstruktion</title>
<itemizedlist>
<title
>Fönstret för tabellkonstruktion har följande kolumner:</title>
<listitem
><para
><emphasis
>PN</emphasis
>: Primär nyckel. </para
></listitem>
<listitem
><para
><emphasis
>Fältrubrik</emphasis
>: Fältnamnet (med andra ord, kolumnnamnet) som kommer att vara synligt vid inmatning av data. </para
></listitem>
<listitem
><para
><emphasis
>Datatyp</emphasis
>: en kombinationsruta som innehåller en lista med datatyper, som gör det möjligt att ange en huvudregel för inmatning av data i ett givet fält. Om till exempel datatypen heltal anges för ett fält, kan inte användare av databasen skriva in en bokstav i fältet. </para
></listitem>
<listitem
><para
><emphasis
>Kommentarer</emphasis
>: Här kan du skriva in vilken information som helst som är användbar för att förstå vad det givna fältet tillhandahålls för. Den här extra texten sparas i tabellkonstruktionen och är bara synlig i konstruktionsläge. </para
></listitem>
</itemizedlist>
<para
>I fönstret <emphasis
>Tabellkonstruktion</emphasis
>, motsvarar varje rad ett enda fält i tabellen. Du märker att du är i <emphasis
>konstruktionsläge</emphasis
> eftersom knappen <emphasis
>Byt till konstruktionsvy</emphasis
> är markerad i &kexi;s huvudverktygsrad. </para>

<itemizedlist>
<title
>För att börja skriva in konstruktionen för tabellen <emphasis
>Personer</emphasis
>:</title>
<listitem
><para
>Klicka på cellen i kolumnen <emphasis
>Fältrubrik</emphasis
> i första raden och skriv in <emphasis
>namn</emphasis
> som fältrubrik. </para>
<itemizedlist>
<title
>Anmärkningar om fältnamn</title>
<listitem
><para
>Varje fält måste ha ett namn, de kan inte vara tomma. </para
></listitem>
<listitem
><para
>Fältnamn får inte innehålla specialtecken (som ±, ¶, Ü) eller mellanslag. Namnen får bara innehålla bokstäver, siffror och understreck &quot;_&quot;. Använd det senare istället för mellanslag eller streck. </para
></listitem>
<listitem
><para
>Fältnamn måste inledas med en bokstav eller ett understreck &quot;_&quot;, aldrig med en siffra. </para
></listitem>
<listitem
><para
>Det spelar ingen roll om du använder små eller stora bokstäver. I &kexi;s databaser är &quot;Personer&quot; samma sak som &quot;personer&quot;. </para
></listitem>
</itemizedlist>
</listitem>
<listitem>
<itemizedlist>
<title
>Skriv in följande fält i tabellkonstruktionen på samma sätt:</title>
<listitem
><para
><guilabel
>efternamn</guilabel
></para
></listitem>
<listitem
><para
>gatuadress</para
></listitem>
<listitem
><para
>gatunummer</para
></listitem>
<listitem
><para
>postort</para
></listitem>
</itemizedlist>
</listitem>
<listitem
><para
>Alla ovanstående fält utom <emphasis
>gatunummer</emphasis
> har typen text. Ändra fälttypen för <emphasis
>gatunummer</emphasis
> till <emphasis
>heltal</emphasis
>. För att göra det, klicka på en cell i kolumnen <emphasis
>Datatyp</emphasis
>, raden <emphasis
>gatunummer</emphasis
> och klicka på kombinationsrutans knapp. Du kan också trycka på <keycombo
><keycap
>F4</keycap
></keycombo
> eller <keycombo action="simul"
>&Alt;<keycap
>neråtpil</keycap
></keycombo
>. Listan med datatyper visas. Välj typen <emphasis
>Heltal</emphasis
>. </para
><para
>Från och med nu accepterar fältet <emphasis
>gatunummer</emphasis
> bara heltal. </para
></listitem>
<!-- TODO setting additional properties: e.g. caption -->
<listitem
><para
>Konstruktionen av tabellen <emphasis
>Personer</emphasis
> är klar. Klicka på <guilabel
>Byt till datavy</guilabel
> för att avsluta konstruktionen och byta till datavy för tabellen. Det gör det möjligt att skriva in data i tabellen. </para
></listitem>
<listitem
><para
>Eftersom konstruktionen ännu inte har sparats i databasen, visas dialogfönstret &quot;Spara objekt som&quot;. Du måste ange den nya tabellens namn. </para
><para
>&kexi; föreslår ett generellt namn som <emphasis
>Tabell1</emphasis
>. För att ändra namnet, skriv in <emphasis
>Personer</emphasis
> i fältet <emphasis
>Rubrik:</emphasis
> och tryck på returtangenten eller klicka på knappen <guilabel
>Ok</guilabel
>. Fältet <emphasis
>Rubrik</emphasis
> används för att visa tabellen för slutanvändare av databasen, t.ex. som ett formulär. I motsats till namnet kan rubriken innehålla vilka tecken som helst inklusive mellanslag och specialtecken. </para
><para
>Observera att genom att fylla i fältet <emphasis
>Rubrik</emphasis
> fylls fältet <emphasis
>Namn</emphasis
> automatiskt i. För bekvämlighets skull, uppfylls regeln om att bara använda bokstäver, siffror och tecknet &quot;_&quot;. Du kan ändra innehållet i fältet <emphasis
>Namn</emphasis
> om du vill. </para
></listitem>
<listitem
><para
>Du blir tillfrågad om att gå med på att automatiskt lägga till en primär nyckel i tabellen. Klicka på knappen <guilabel
>Lägg till primär nyckel</guilabel
> för att fortsätta. </para
></listitem>
<listitem
><para
>Tabellen <emphasis
>Personer</emphasis
> har skapats och öppnats i datavyn. Dess namn visas i projektnavigeringsrutan. </para
></listitem>
<listitem
><para
>Skapa tabellen <emphasis
>telefonnummer</emphasis
> på liknande sätt som tabellen <emphasis
>personer</emphasis
>. </para
></listitem>
<listitem
><para
>Skapa fältet <emphasis
>person</emphasis
> av typen <emphasis
>Heltal</emphasis
> och <emphasis
>telefon</emphasis
> av typen <emphasis
>Text</emphasis
>. Använd inte heltalstypen här, eftersom telefonnummer kan ha många olika former och prefix. </para
></listitem>
<listitem
><para
>Klicka på knappen <guilabel
>Byt till datavy</guilabel
> på verktygsraden och skriv in rubriken <emphasis
>Telefon</emphasis
> för tabellen. Tillåt att Kexi automatiskt skapar en primär nyckel, som för den tidigare tabellen. </para
></listitem>
</itemizedlist>

</sect2>

</sect1>

</chapter>

