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

<chapter id="building-databases">
<title
>Bygning af simple databaser</title>
<sect1 id="building-intro">
<title
>Indledning</title>
<para
>For at lære dig det grundlæggende om brugen af &kexi;, kunne du bygge en enkel database som udnytter de mest grundlæggende af &kexi;s funktioner. For at forenkle, dækkes emnet avanceret databasedesign ikke her. </para>
<para
>Start med at oprette en ny tom <emphasis
>Telefonbog</emphasis
>. </para>

<para
>Når du har et tomt nyt databaseprojekt, udfør følgende skridt:</para>
<procedure>
<step
><para
>Konstruér databasetabeller. Læs <xref linkend="designing-tables"/>.</para
></step>
<step
><para
>Indskriv data i tabeller. Læs <xref linkend="entering-data-into-tables"/>.</para
></step>
<step
><para
>Design databaseforespørgsler. Læs <xref linkend="designing-queries"/>.</para
></step>
<step
><para
>Design formularer. Læs <xref linkend="designing-forms"/>.</para
></step>
<step
><para
>Brug formular til at indtaste data. Læs <xref linkend="entering-data-using-forms"/>.</para
></step>
</procedure>
</sect1>

<sect1 id="designing-tables">
<title
>Design af databasetabeller</title>
<para
>Først tilføjer vi to tabeller til din database: <emphasis
>personer</emphasis
> og <emphasis
>telefonnumre</emphasis
>. Disse er nøjagtigt de samme tabeller som blev beskrevet i kapitlet <link linkend="database-and-spreadsheet"
>Databaser og regneark</link
>. En layout for <emphasis
>personer</emphasis
> finder du i afsnittet <link linkend="data-integrity-and-validity"
>Dataintegritet og gyldigheg</link
> i det kapitel. </para>

<procedure>
<step>
<para
>Vælg <menuchoice
><guimenu
>Indsæt</guimenu
> <guimenuitem
>Tabel</guimenuitem
></menuchoice
> i menulinjen. Du kan også bruge knappen <guilabel
>Opret objekt: tabel</guilabel
> i <link linkend="project-navigator-pane"
>Projektnavigeringens værktøjslinje</link
>. </para>
</step>
<step>
<para
>Vinduet for tabeldesign vises nu. Hvis du kigger længst oppe i designervinduet ser du at &kexi; foreslår et generelt navn såsom <emphasis
>skabelon</emphasis
> for den nye tabel. Tabeldesignet er ikke gemt endnu så du kan tildele et mere passende navn senere. Desuden, af samme grund, ses tabelnavnet ikke endnu i <link linkend="project-navigator-pane"
>Projektnavigeringen</link
>. </para>
</step>
</procedure>


<sect2 id="design-window">
<title
>Vinduet for tabeldesign</title>
<itemizedlist>
<title
>Vinduet for tabeldesign har følgende søjler:</title>
<listitem
><para
><guilabel
>PN</guilabel
>: Primær nøgle. </para
></listitem>
<listitem
><para
><guilabel
>Feltoverskrift</guilabel
>: Feltnavnet (med andre ord, søjlenavnet) som vil være synligt ved indtastning af data. </para
></listitem>
<listitem
><para
><guilabel
>Datatype</guilabel
>: et dropned-felt som indeholder en liste med datatyper, som gør det muligt at angive en hovedregel for indtastning af data i et givet felt. Hvis for eksempel datatypen heltal angives for et felt, kan brugere af databasen ikke indtaste et bogstav i dette felt. </para
></listitem>
<listitem
><para
><guilabel
>Kommentarer</guilabel
>: Her kan du indtaste hvilken som helst information som er nyttig for at forstå hvad det givne felt sørgede for. Denne ekstra tekst gemmes i tabeldesignet og er kun synligt mens det konstrueres. </para
></listitem>
</itemizedlist>
<para
>I vinduet <guilabel
>Tabelkonstruktion</guilabel
>, svarer hver linje til et enkelt felt i tabellen. Du mærker at du er i <emphasis
>konstruktionstilstand</emphasis
> eftersom knappen <guibutton
>Skift til konstruktionsvisning</guibutton
> er markeret i &kexi;s hovedværktøjslinje. </para>


<procedure>
<title
>Design af tabellen <emphasis
>Personer</emphasis
>:</title>
<step
><para
>Klik på cellen i søjlen <guilabel
>Feltoverskrift</guilabel
> i første linje og skriv <emphasis
>navn</emphasis
> som feltoverskrift. </para>
<itemizedlist>
<title
>Anmærkninger om feltnavne og overskrifter</title>
<listitem
><para
>Hvert tabelfelt skal have et navn og en overskrift, de kan ikke være tomme. </para
></listitem>
<listitem
><para
>Feltnavnet er et ord som bruges af databasen, oftest ikke synligt for brugere af databaseprogrammet. Navnet må ikke indeholde specialtegn (såsom ±, ¶, Ü) eller mellemrum. Navnet må kun indeholde bogstaver, tal og understregning &quot;_&quot;. Brug det sidste i stedet for mellemrum eller streger. </para
></listitem>
<listitem
><para
>Feltnavne skal indledes med et bogstav eller understregningstegn &quot;_&quot;, aldrig med en ciffer. </para
></listitem>
<listitem
><para
>Det spiller ingen rolle om du bruger små eller store bogstaver. I &kexi;s databasenavn er &quot;Personer&quot; det samme som &quot;personer&quot;. </para
></listitem>
<listitem
><para
>Feltoverskriften tillader på den anden side at du skriver hvilke som helst bogstaver og specialtegn. Den vises for brugeren af databaseprogrammet. </para
></listitem>
</itemizedlist>
</step>

<step>
<itemizedlist>
<title
>Indtast følgende felter i tabeldesignet på samme måde:</title>
<listitem
><para
><guilabel
>efternavn</guilabel
></para
></listitem>
<listitem
><para
>gade</para
></listitem>
<listitem
><para
>husnummer</para
></listitem>
<listitem
><para
>by</para
></listitem>
</itemizedlist>
</step>

<step
><para
>Alle ovenstående felter undtagen <emphasis
>husnummer</emphasis
> har typen <emphasis
>tekst</emphasis
>. Ændr felttypen for <emphasis
>husnummer</emphasis
> til <emphasis
>heltal</emphasis
>. For at gøre dette, klikkes på en celle i søjlen <guilabel
>Datatype</guilabel
>, rækken <emphasis
>husnummer</emphasis
> og klik på dropned-feltets knap. Du kan også trykke på <keycombo
><keycap
>F4</keycap
></keycombo
> eller <keycombo action="simul"
>&Alt;<keycap
>pil nedad</keycap
></keycombo
>. Listen med datatyper vises. Vælg typen <emphasis
>Heltal</emphasis
>. </para
><para
>Fra nu af accepterer feltet <emphasis
>husnummer</emphasis
> kun heltal. </para
></step>

<!-- TODO setting additional properties: e.g. caption -->
<step
><para
>Konstruktionen af tabellen <emphasis
>Personer</emphasis
> er parat. Klik på knappen <guibutton
>Skift til datavisning</guibutton
> for at afslutte konstruktionen og skifte til datavisning for tabellen. Dette gør det muligt at indtaste data i tabellen. </para
></step>

<step
><para
>Eftersom konstruktionen endnu ikke er gemt i databasen, vises dialogen <guibutton
>Gem objekt som</guibutton
>. Du skal angive den nye tabels navn. </para>
<para
>&kexi; foreslår et generelt navn såsom <emphasis
>Tabel1</emphasis
>. For at ændre navnet, skrives <emphasis
>Personer</emphasis
> i feltet <emphasis
>Overskrift:</emphasis
> og tryk så på returtasten eller klik på knappen <guibutton
>O.k</guibutton
>. Feltet <guilabel
>Overskrift</guilabel
> bruges til at vise tabellen for slutbrugere af databasen, f.eks. som en formular. I modsætning til navnet kan overskriften indeholde hvilke som helst tegn inklusive mellemrum og specialtegn. </para>
<para
>Bemærk at ved at udfylde feltet <guilabel
>Overskrift</guilabel
> udfyldes feltet <guilabel
>Navn</guilabel
> automatisk. Af bekvemmelighedsgrunde, opfyldes reglen om kun at bruge bogstaver, tal og tegnet &quot;_&quot;. Du kan ændre indholdet i feltet <guilabel
>Navn</guilabel
> hvis du vil. </para
></step>

<step
><para
>Du bliver bedt om at gå med til automatisk at tilføje en primær nøgle i tabellen. Klik på knappen <guibutton
>Tilføj primær nøgle</guibutton
> for at fortsætte. </para
></step>

<step
><para
>Tabellen <emphasis
>Personer</emphasis
> har er oprettet og åbnet i datavisningen. Dets navn vises i projektnavigeringsfeltet. </para
></step>

<step
><para
>Opret tabellen <emphasis
>telefonnummer</emphasis
> på lignende måde som tabellen <emphasis
>personer</emphasis
>. </para
></step>

<step
><para
>Opret feltet <emphasis
>person</emphasis
> af typen <emphasis
>Heltal</emphasis
> og <emphasis
>telefon</emphasis
> af typen <emphasis
>Tekst</emphasis
>. Anvend ikke heltalstyperne, eftersom telefonnummer kan have mange forskellige former og præfiks. </para
></step>

<step
><para
>Klik på knappen <guilabel
>Skift til datavisning</guilabel
> på værktøjslinjen og skriv overskriften <emphasis
>Telefon</emphasis
> ind for tabellen. Tillad at &kexi; automatisk laver en primær nøgle, som for den tidligere tabel. </para
></step>
</procedure>

</sect2>

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

