Video: Introduktion til databaser

Gælder for
Access til Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Prøv det!

Databaser og webapps kan give store forretningsfordele. Databasedesign er afgørende for at nå dine mål, uanset om du vil administrere medarbejderoplysninger, levere ugentlige rapporter med data eller spore kundeordrer. Bruger du tid på at forstå databasedesign, vil det hjælpe dig med at opbygge databaser, som virker rigtigt fra begyndelsen og giver plads til skiftende behov.

Vigtig

Access-webapps er forskellige fra skrivebordsdatabaser. Denne artikel omhandler ikke design af webapps.

Koncepter og begreber

Lad os starte med at lære nogle grundlæggende begreber og koncepter. Hvis du vil designe en nyttig database, skal du oprette tabeller, som fokuserer på et enkelt emne. I dine tabeller registrerer du alle de nødvendige data for det pågældende emne i felter, som indeholder den mindste dataenhed.

Relationsdatabaser En database, hvor dataene er inddelt i tabeller, som minder om regneark. Hver tabel har et enkelt emne, f.eks. kunder (én tabel) eller produkter (en anden tabel).
Poster og felter Lagring af de diskrete data i en tabel. Rækker (eller poster) gemmer hvert enkelt datapunkt, f.eks. navnet på en kunde. Kolonner (eller felter) isolerer de oplysninger, der bliver registreret om hvert enkelt datapunkt i den mindst mulige enhed – fornavn kan være én kolonne, og efternavn kan være en anden.
Primær nøgle En værdi, der sikrer, at hver post er unik. Der kan f.eks. være to kunder med det samme navn, Elizabeth Andersen. Men en af Elizabeth Andersens optegnelser har tallet 12 som primær nøgle, og den anden har en primær nøgle på 58.
Relation mellem overordnet-underordnet Almindelige relationer mellem tabeller. En enkelt kunde kan f.eks. have flere ordrer. Overordnede tabeller har primære nøgler. Underordnede tabeller har fremmede nøgler, hvilket er værdier fra den primære nøgle, der viser, hvordan de underordnede tabelposter er sammenkædet med den overordnede tabel. Disse nøgler er sammenkædet af en relation.

Hvad er et godt databasedesign?

To principper er grundlæggende for et godt databasedesign:

  • Undgå dublerede oplysninger (også kaldet overflødige data). Det er spild af plads og øger risikoen for fejl.
  • Sørg for, at dataene er korrekte og fuldstændige. Ufuldstændige eller forkerte oplysninger flyder gennem forespørgsler og rapporter og kan i sidste ende føre til fejlinformerede beslutninger.

Som hjælp til disse problemer:

  • Inddel databaseoplysninger i emnebaserede tabeller med et snævert fokus. Undgå dublerede oplysninger i flere tabeller. (F.eks. skal kundenavne kun optræde i én tabel).
  • Sammenkæd tabellerne ved hjælp af nøgler i stedet for at dublere data.
  • Inkluder processer, der understøtter og sikrer databaseoplysningers nøjagtighed og integritet.
  • Design din database med dit behov for databehandling og -rapportering i tankerne.

Følg disse fem designtrin for at forbedre den langsigtede anvendelighed af dine databaser:

Trin 1: Fastlæg formålet med din database

Før du går i gang, skal du have et mål for din database.

Flere detaljer

Opsummer formålet med databasen, og referer ofte til opsummeringen for at holde dit design fokuseret. Hvis du ønsker en lille database til en virksomhed i hjemmet, kan du f.eks. skrive noget simpelt såsom: "Kundedatabasen indeholder en liste over kundeoplysninger med det formål at producere mails og rapporter". Til en virksomhedsdatabase skal du muligvis bruge flere afsnit til at beskrive, hvornår og hvordan personer i forskellige roller vil bruge databasen og dens data. Opret en specifik og detaljeret missionserklæring, som du kan referere til gennem hele designprocessen.

Trin 2: Søg efter og organiser nødvendige oplysninger

Indhent alle de typer oplysninger, du vil registrere, f.eks. dine produktnavne og ordrenumre.

Flere detaljer

Start med dine eksisterende oplysninger og sporingsmetoder. Det kan f.eks. være, at du i øjeblikket registrerer indkøbsordrer i en hovedbog, eller du har kundeoplysninger i papirformularer. Brug disse kilder til at angive de oplysninger, du aktuelt registrerer (f.eks. alle felterne i dine formularer). Hvor du ikke aktuelt registrerer vigtige oplysninger, skal du overveje, hvilke oplysninger, du skal bruge. Hver enkelt datatype bliver et felt i din database.

Du skal ikke være bange for, at din første liste ikke bliver perfekt – du kan finjustere den med tiden. Men tænk på alle de personer, der bruger disse oplysninger, og spørg dem om deres idéer.

Dernæst skal du tænke over, hvad du vil have ud af databasen, og hvilke typer rapporter eller mails, du vil oprette. Sørg derefter for, at du registrerer de oplysninger, der er nødvendige for at opfylde disse mål. Hvis du f.eks. vil have en rapport, der viser salget efter område, skal du registrere salgsdata på det regionale niveau. Prøv at skitsere rapporten med de faktiske oplysninger, som du gerne vil se dem. Registrer derefter de data, du behøver for at oprette rapporten. Gør det samme for forsendelser eller andre output, du ønsker fra databasen.

Eksempel

Antag, at du giver kunder mulighed for at tilmelde sig (eller framelde sig) periodiske mailopdateringer, og du vil udskrive en liste over dem, der har tilmeldt sig. Du har brug for en Send mail-kolonne i Kundetabellen med de tilladte værdier Ja og Nej.

For dem, der er villige til at modtage mails, skal du bruge en mailadresse, hvilket også kræver et felt. Hvis du vil inkludere en passende titulering (f.eks. hr., fru eller frk.), skal du inkludere et felt til det. Starthilsen. Hvis du vil henvende dig til kunder med fornavn i mails, skal du tilføje et felt med Fornavn.

Tip

Husk at inddele hver enkelt oplysning i dens mindste anvendelige del såsom fornavn og efternavn for en kundetabel. Hvis du vil sortere, søge, beregne eller rapportere baseret på et oplysningselement (f.eks. kundens efternavn), bør du generelt placere det pågældende element i sit eget felt.

Trin 3: Inddel oplysninger i tabeller

Inddel dine oplysningselementer i overordnede enheder eller emner såsom produkter, kunder og ordrer. Hvert emne bliver en tabel.

Flere detaljer

Når du har din liste over påkrævede oplysninger, skal du fastlægge de overordnede enheder (eller emner), du skal bruge til at organisere dine data. Undgå at dublere data på tværs af enheder. Den foreløbige liste for en produktsalgsdatabase kan eksempelvis se således ud:

Skærmbillede af oplysningselementer, der er inddelt i emner De overordnede enheder er: kunder, leverandører, produkter og ordrer. Start med disse fire tabeller: én til fakta om kunder, én til fakta om leverandører osv. Dette er muligvis ikke dit endelige design, men det er et godt udgangspunkt.

Bemærk

De bedste databaser indeholder flere tabeller. Undgå fristelsen til at placere alle dine oplysninger i en enkelt tabel. Dette resulterer i dublerede oplysninger, større database og flere fejl. Lav et design til kun at registrere hver enkelt oplysning én gang. Hvis du opdager, at du gentager oplysningerne, f.eks. en leverandørs adresse, skal du omstrukturere databasen for at placere oplysningerne i en separat tabel.

Hvis du vil forstå, hvorfor flere tabeller er bedre end færre, kan du tage et kig på den tabel, der vises her:

Skærmbillede af data om Produkter og Leverandører Hver række indeholder oplysninger om både produktet og dets leverandør. Da du kan have mange produkter fra den samme leverandør, skal oplysninger om leverandørens navn og adresse gentages mange gange. Det er spild af diskplads. Registrer i stedet kun leverandøroplysningerne én gang i en separat tabel Leverandører, og knyt derefter den pågældende tabel til tabellen Produkter.

Et andet problem med dette design fremgår tydeligt, når du vil redigere oplysninger om leverandøren. Antag, at du vil ændre en leverandørs adresse. Da den vises mange forskellige steder, ændrer du måske adressen ved et uheld ét sted, men glemmer at ændre den de andre steder. Du løser dette problem ved kun at registrere leverandørens adresse ét sted.

Et sidste scenarie kan være, at Coho Winery kun leverer ét produkt, som du gerne vil slette, men du vil gerne bevare oplysningerne om leverandørens navn og adresse. Hvordan vil du med dette design slette produktposten uden at miste leverandøroplysningerne? Det kan du ikke. Da hver post indeholder oplysninger om et produkt ud over oplysninger om en leverandør, er det umuligt at slette det ene uden også at slette det andet. Du kan derfor inddele denne tabel i to dele for at holde disse fakta adskilt: den første til produktoplysninger og den anden til leverandøroplysninger. Når du derefter sletter en produktpost, sletter du kun oplysningerne om produktet – ikke oplysninger om leverandøren.

Trin 4: Omdan oplysningselementer til kolonner

Beslut, hvilke oplysninger du har brug for at gemme i hver tabel. Disse diskrete stykker data bliver felter i tabellen. Medarbejdertabellen kan f.eks. indeholde felter som Efternavn, Fornavn og Ansættelsesdato.

Flere detaljer

Når du har valgt emnet for en databasetabel, bør kolonnerne i den pågældende tabel kun gemme oplysninger om det enkelte emne. F.eks. bør en produkttabel kun indeholde fakta om produkter – ikke om deres leverandører.

Brug den liste, du oprettede tidligere, for at afgøre, hvilke oplysninger, der skal spores i tabellen. F.eks. kan kundetabellen omfatte: Fornavn, efternavn, adresse, send mail, titulering og mailadresse. Hver post (kunde) i tabellen indeholder det samme sæt af kolonner, så du gemmer præcis de samme oplysninger for hver kunde.

Opret din første liste, og gennemse og juster den derefter. Husk at bryde oplysningerne ned i de mindst mulige felter. Hvis din oprindelige liste f.eks. har adresse som felt, kan du inddele den i adresse, by, stat og postnummer – eller, hvis du har kunder andre steder i verden, i endnu flere felter. På den måde kan du f.eks. håndtere forsendelser i det korrekte format eller rapportere om ordrer efter stat.

Når du har justeret datakolonnerne i hver tabel, er du klar til at vælge en primær nøgle for hver tabel.

Trin 5: Angiv primære nøgler

Vælg en primær nøgle for hver tabel. Den primære nøgle, f.eks. produkt-id eller ordre-id, identificerer entydigt hver post. Hvis du ikke har et oplagt, entydigt id, kan du bruge Access til at oprette et til dig.

Flere detaljer

Du har brug for en metode til at identificere hver række i hver tabel entydigt. Kan du huske eksemplet fra tidligere, hvor to kunder har det samme navn? Eftersom de deler et navn, skal du bruge en metode til at identificere hver enkelt.

Således bør hver tabel indeholde en kolonne (eller sæt af kolonner), som entydigt identificerer hver række. Dette kaldes den primære nøgle og er ofte et entydigt nummer, såsom et medarbejder-id eller et serienummer. Access bruger primære nøgler til hurtigt at tilknytte data fra flere tabeller og samle data for dig.

Nogle gange består den primære nøgle af to eller flere felter. Eksempelvis bruger en tabel med ordreoplysninger, der gemmer linjeelementer til ordrer, måske to kolonner til den primære nøgle: ordre-id og produkt-id. Når en primær nøgle anvender mere end én kolonne, kaldes den også en sammensat nøgle.

Skærmbillede af tabellen Produkter Hvis du allerede har et entydigt id for oplysningerne i en tabel, f.eks. produktnumre, som entydigt identificerer hvert produkt i dit katalog, kan du bruge dette, men kun hvis værdierne opfylder disse regler for primære nøgler:

  • Id’et vil altid være forskelligt for hver post. Dublerede værdier er ikke tilladt i en primær nøgle.
  • Der er altid en værdi for elementet. Hver post i din tabel skal have en primær nøgle. Hvis du bruger flere kolonner til at oprette nøglen (f.eks. delserie og delnummer), skal begge værdier altid være til stede.
  • Den primære nøgle er en værdi, der ikke ændres. Da nøglerne henviser til andre tabeller, betyder enhver ændring af en primær nøgle i en tabel en ændring af alt, hvad der henvises til. Hyppige ændringer øger risikoen for fejl.

Hvis du ikke har et tydeligt id, kan du bruge et vilkårligt, entydigt nummer som den primære nøgle. Du kan f.eks. tildele hver ordre et entydigt ordrenummer med det eneste formål at identificere ordren.

Tip

Hvis du vil oprette et entydigt nummer som den primære nøgle, skal du tilføje en kolonne ved hjælp af datatypen Autonummerering. Datatypen Autonummerering tildeler automatisk hver post en entydig, numerisk værdi. Denne type id indeholder ingen faktiske oplysninger, som beskriver den række, den repræsenterer. Det er ideelt til brug som primær nøgle, fordi tallene ikke ændrer sig – i modsætning til en primær nøgle, der indeholder oplysninger om en række, f.eks. et telefonnummer eller et kundenavn.

Vil du have mere?

Retningslinjer for navngivning af felter, kontrolelementer og objekter

Introduktion til tabeller

Kursus i Excel

Kursus i Outlook