<!--
  <!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 &kexi;s 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>

<para
>När du har ett tomt nytt databasprojekt, utför följande steg:</para>
<procedure>
<step
><para
>Konstruera databastabeller. Läs <xref linkend="designing-tables"/>.</para
></step>
<step
><para
>Skriva in data i tabeller. Läs <xref linkend="entering-data-into-tables"/>.</para
></step>
<step
><para
>Konstruera databasfrågor. Läs <xref linkend="designing-queries"/>.</para
></step>
<step
><para
>Konstruera formulär. Läs <xref linkend="designing-forms"/>.</para
></step>
<step
><para
>Använda formlär för att mata in data. Läs <xref linkend="entering-data-using-forms"/>.</para
></step>
</procedure>
</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>

<procedure>
<step>
<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>
</step>
<step>
<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>
</step>
</procedure>


<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
><guilabel
>PN</guilabel
>: Primär nyckel. </para
></listitem>
<listitem
><para
><guilabel
>Fältrubrik</guilabel
>: Fältnamnet (med andra ord, kolumnnamnet) som kommer att vara synligt vid inmatning av data. </para
></listitem>
<listitem
><para
><guilabel
>Datatyp</guilabel
>: 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
><guilabel
>Kommentarer</guilabel
>: 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 <guilabel
>Tabellkonstruktion</guilabel
>, motsvarar varje rad ett enda fält i tabellen. Du märker att du är i <emphasis
>konstruktionsläge</emphasis
> eftersom knappen <guibutton
>Byt till konstruktionsvy</guibutton
> är markerad i &kexi;s huvudverktygsrad. </para>


<procedure>
<title
>Konstruera tabellen <emphasis
>Personer</emphasis
></title>
<step
><para
>Klicka på cellen i kolumnen <guilabel
>Fältrubrik</guilabel
> i första raden och skriv in <emphasis
>namn</emphasis
> som fältrubrik. </para>
<itemizedlist>
<title
>Anmärkningar om fältnamn och rubriker</title>
<listitem
><para
>Varje tabellfält måste ha ett namn och en rubrik, de kan inte vara tomma. </para
></listitem>
<listitem
><para
>Fältnamnet är ett ord som används av databasen, oftast inte synlig för användare av databasprogrammet. Namnet får inte innehålla specialtecken (som ±, ¶, Ü) eller mellanslag. Namnet 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>
<listitem
><para
>Fältrubriken tillåter å andra sidan att du skriver in vilka bokstäver och specialtecken som helst. Den visas för användaren av databasprogrammet. </para
></listitem>
</itemizedlist>
</step>

<step>
<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>
</step>

<step
><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
></step>

<!-- TODO setting additional properties: e.g. caption -->
<step
><para
>Konstruktionen av tabellen <emphasis
>Personer</emphasis
> är klar. Klicka på knappen <guibutton
>Byt till datavy</guibutton
> 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
></step>

<step
><para
>Eftersom konstruktionen ännu inte har sparats i databasen, visas dialogfönstret <guibutton
>Spara objekt som</guibutton
>. 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 <guibutton
>Ok</guibutton
>. Fältet <guilabel
>Rubrik</guilabel
> 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 <guilabel
>Rubrik</guilabel
> fylls fältet <guilabel
>Namn</guilabel
> 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 <guilabel
>Namn</guilabel
> om du vill. </para
></step>

<step
><para
>Du blir tillfrågad om att gå med på att automatiskt lägga till en primär nyckel i tabellen. Klicka på knappen <guibutton
>Lägg till primär nyckel</guibutton
> för att fortsätta. </para
></step>

<step
><para
>Tabellen <emphasis
>Personer</emphasis
> har skapats och öppnats i datavyn. Dess namn visas i <guilabel
>projektnavigeringsrutan</guilabel
>. </para
></step>

<step
><para
>Skapa tabellen <emphasis
>telefonnummer</emphasis
> på liknande sätt som tabellen <emphasis
>personer</emphasis
>. </para
></step>

<step
><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
></step>

<step
><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
></step>
</procedure>

</sect2>

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

