<!-- <!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 databasetabeller. Læs <xref linkend="designing-tables"/>.</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 designvisning</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 "_". Brug det sidste i stedet for mellemrum eller streger. </para ></listitem> <listitem ><para >Feltnavne skal indledes med et bogstav eller understregningstegn "_", aldrig med en ciffer. </para ></listitem> <listitem ><para >Det spiller ingen rolle om du bruger små eller store bogstaver. I &kexi;s databasenavn er "Personer" det samme som "personer". </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 "_". 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>