Video: Kom i gang med databaser
Applies To
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016Prøv det!
Databaser og nettapper kan gi store forretningsfordeler. Databaseutforming er avgjørende for å nå målene dine, enten du vil administrere informasjon om ansatte, levere ukentlige rapporter mot data eller spore kundeordrer. Å investere tiden for å forstå databaseutforming vil hjelpe deg med å bygge databaser som fungerer riktig første gang, og som imøtekommer endrede behov.
Viktig!: Access-nettapper er forskjellige fra skrivebordsdatabaser. I denne artikkelen går vi ikke inn på utformingen av nettapper.
Begreper og termer
La oss begynne med å lære noen grunnleggende termer og begreper. Hvis du vil utforme en nyttig database, bør du opprette tabeller som fokuserer på ett emne. I tabellene samler du inn alle dataene som kreves for emnet, i felt, som inneholder den minste mulige dataenheten.
Relasjonsdatabaser |
En database der data er delt inn i tabeller, som ligner regneark. Hver tabell har bare ett emne, for eksempel kunder (én tabell) eller produkter (en annen tabell). |
Poster og felt |
Lagring for de diskrete dataene i en tabell. Rader (eller poster) lagrer hvert unike datapunkt, for eksempel navnet på en kunde. Kolonner (eller felt) isolerer informasjonen som hentes om hvert datapunkt til den minste mulige enheten – fornavn kan være én kolonne, og etternavn kan være en annen. |
Primærnøkkel |
En verdi som sikrer at hver post er unik. Det kan for eksempel være to kunder med samme navn, Guri Holter. En av oppføringene for Guri Holter kan ha tallet 12 som primærnøkkel, og den andre kan ha en primærnøkkel på 58. |
Overordnet-underordnet-relasjoner |
Vanlige relasjoner mellom tabeller. Én enkelt kunde kan for eksempel ha flere ordrer. Overordnede tabeller har primærnøkler. Underordnede tabeller har sekundærnøkler, som er verdier fra primærnøkkelen som viser hvordan de underordnede tabellpostene er koblet til den overordnede tabellen. Disse nøklene er koblet sammen av en relasjon. |
Hva er god databaseutforming?
To prinsipper er avgjørende for god databaseutforming:
-
Unngå duplikatinformasjon (også kalt overflødige data). Det tar unødig plass og øker sannsynligheten for feil.
-
Kontroller at dataene er riktige og fullstendige. Ufullstendig eller feilaktig informasjon flyter gjennom spørringer og rapporter og kan til slutt føre til at feilaktige beslutninger blir tatt.
Dette hjelper deg å unngå disse problemene:
-
Del opp databaseinformasjon i emnebaserte tabeller med et smalt fokus. Unngå å duplisere informasjon i flere tabeller. (Kundenavn skal for eksempel være i bare én tabell.)
-
Koble tabellene sammen ved hjelp av nøkler i stedet for å duplisere data.
-
Inkluder prosesser som støtter og sikrer nøyaktigheten og integriteten til informasjonen i en database.
-
Utform databasen med tanke på ditt behov for databehandling og rapportering.
Ved å følge disse fem utformingstrinnene vil du forbedre den langsiktige nytten av databasene dine:
Trinn 1: Bestem formålet med databasen
Før du begynner, må du ha et mål for databasen.
For å beholde fokus på utformingen bør du oppsummere formålet med databasen og ofte referere til sammendraget. Hvis du vil ha en liten database for en hjemmebasert bedrift, kan det hende at du skriver noe enkelt, for eksempel «Kundedatabasen inneholder en liste over kundeinformasjon med det formål å produsere masseutsendelser og rapporter.» For en organisasjonsdatabase trenger du kanskje flere avsnitt for å beskrive når og hvordan personer med ulike roller bruker databasen og dataene. Opprett en bestemt og detaljert målsetning du kan referere til gjennom hele utformingsprosessen.
Trinn 2: Finn og organiser nødvendig informasjon
Samle inn alle typer informasjon du vil registrere, for eksempel produktnavn og ordrenummer.
Start med eksisterende informasjon og sporingsmetoder. Det kan for eksempel hende at du registrerer kjøpsordrer i en protokoll, eller at du lagrer kundeinformasjon på papirskjemaer. Bruk disse kildene til å liste opp informasjonen du samler inn (for eksempel alle boksene i skjemaene dine). Der du for øyeblikket ikke samler inn viktig informasjon, bør du tenke over hva slags diskret informasjon du trenger. Hver individuelle datatype blir et felt i databasen.
Ikke bekymre deg for å gjøre den første listen perfekt – du kan finjustere den over tid. Men vurder alle som bruker denne informasjonen, og be om deres ideer.
Deretter bør du tenke over hva du vil få ut av databasen, og hvilke typer rapporter eller masseutsendelser du vil produsere. Kontroller deretter at du samler inn informasjonen som kreves for å oppfylle disse målene. Hvis du vil ha en rapport som viser salg etter område, trenger du for eksempel å samle inn salgsdata på regionalt nivå. Prøv å skissere rapporten med den faktiske informasjonen slik du ønsker å se den. Deretter lister du opp dataene du trenger for å opprette rapporten. Gjøre det samme for masseutsendelser eller andre utdata du ønsker fra databasen.
Eksempel
La oss si at du gir kunder mulighet til å melde seg på (eller av) periodiske oppdateringer per e-post, og at du vil skrive ut en liste over de som har meldt seg på. Du trenger en kolonne for Send e-post i kundetabellen, med de tillatte verdiene Ja og Nei.
For de som er villige til å motta e-postmeldinger, trenger du en e-postadresse, som også krever et felt. Hvis du vil inkludere en riktig hilsen (for eksempel Mr., Mrs., eller Ms.), kan du inkludere et hilsningsfelt. Hvis du vil adressere kunder etter fornavn i e-postmeldinger, legger du til et fornavn-felt.
Tips!: Husk å dele alle typer informasjon opp i den minste nyttige delen, for eksempel fornavn og etternavn for en kundetabell. Hvis du vil sortere, søke, beregne eller rapportere basert på et element med informasjon (for eksempel kundens etternavn), bør du generelt plassere elementet i et eget felt.
Trinn 3: Del informasjonen inn i tabeller
Del informasjonselementene i hovedenheter eller emner, for eksempel produkter, kunder og ordrer. Hvert emne blir en tabell.
Når du har listen over nødvendig informasjon, bestemmer du hovedenhetene (eller emnene) du trenger for å organisere dataene dine. Unngå å duplisere data på tvers av enheter. Den foreløpige listen for en produktsalgsdatabase kan for eksempel se slik ut:
De viktigste enhetene er: kunder, leverandører, produkter og ordrer. Begynn med disse fire tabellene: en for fakta om kundene, en for fakta om leverandører, og så videre. Det kan hende at dette ikke er den endelige utformingen, men det er et godt utgangspunkt.
Obs!: De beste databasene inneholder flere tabeller. Unngå fristelsen til å plassere all informasjon i en enkelt tabell. Dette resulterer i duplikatinformasjon, økt databasestørrelse og flere feil. Utform databasen for å registrere hvert faktum bare én gang. Hvis du oppdager at du gjentar informasjon, for eksempel en leverandøradresse, kan du strukturere databasen slik at den plasserer denne informasjonen i en egen tabell.
For å forstå hvorfor flere tabeller er bedre enn færre, bør du vurdere tabellen som er vist her:
Hver rad inneholder informasjon både om produktet og tilhørende leverandør. Fordi du kan ha mange produkter fra samme leverandør, må leverandørens navn og adresse gjentas mange ganger. Dette opptar unødig diskplass. Du kan i stedet registrere leverandørinformasjon bare én gang i en separat leverandørtabell og deretter koble denne tabellen til Produkter-tabellen.
Et annet problem med denne utformingen blir tydelig når du må endre informasjon om leverandører. La oss si at du må endre adresse for en leverandør. Fordi adressen vises mange steder, kan det hende du ved et uhell endrer den på ett sted, men glemmer å endre den på de andre. Hvis du registrerer leverandørens adresse bare ett sted, løser du dette problemet.
La oss til slutt anta at det bare er ett produkt som leveres av Coho Winery, og du vil slette produktet, men beholde leverandørnavnet og adresseinformasjonen. Hvordan kan du med denne utformingen slette produktposten uten at du også mister leverandørinformasjonen? Det går ikke. Fordi hver post inneholder fakta om et produkt i tillegg til fakta om en leverandør, er det umulig å slette én post uten å slette den andre. Hvis du vil beholde disse faktaene separate, deler du tabellen i to: den første for produktinformasjon og den andre for leverandørinformasjon. Når du deretter sletter en produktoppføring, sletter du bare fakta om produktet, ikke fakta om leverandøren.
Trinn 4: Gjør informasjonselementer om til kolonner
Bestem hva slags informasjon du trenger å lagre i hver tabell. Disse diskrete datadelene blir felt i tabellen. En Ansatte-tabell kan for eksempel inneholde felt som etternavn, fornavn og ansettelsesdato.
Når du har valgt emnet for en tabell i en database, bør du bare bruke kolonnene i denne tabellen til å lagre fakta om det bestemte emnet. Du bør for eksempel bare bruke en produkttabell til å lagre fakta om produkter, ikke om leverandører.
For å avgjøre hvilken informasjon du skal spore i tabellen, bruker du listen du opprettet tidligere. Kundetabellen kan for eksempel inneholde: Fornavn, etternavn, adresse, send e-post og e-postadresse. Hver post (kunde) i tabellen inneholder samme sett med kolonner, slik at du lagrer nøyaktig den samme informasjonen for hver kunde.
Opprett den første listen, og se gjennom og finjuster den. Husk å dele informasjon ned i de minste mulige feltene. Hvis den opprinnelige listen for eksempel har Adresse som et felt, kan du dele det opp i Gateadresse, Poststed, Delstat og Postnummer, eller, hvis kundene er globale, i enda flere felt. På denne måten kan du for eksempel utføre masseutsendelse i riktig format eller rapportere om ordrer etter delstat.
Når du har finpusset datakolonnene i hver tabell, er du klar til å velge primærnøkkelen for hver tabell.
Trinn 5: Angi primærnøkler
Velg primærnøkkelen for hver tabell. Primærnøkkelen, for eksempel produkt-ID eller ordre-ID, identifiserer hver post. Hvis du ikke har en åpenbar, unik identifikator, kan du bruke Access til å opprette en for deg.
Du trenger en metode for unikt å identifisere hver rad i hver tabell. Husker du det tidligere eksemplet der to kunder har samme navn? Fordi de deler navn, trenger du en metode for å identifisere dem separat.
Hver tabell må inneholde en kolonne (eller et sett med kolonner) som identifiserer hver rad unikt. Dette kalles primærnøkkelen og er ofte et unikt nummer, for eksempel en ansatt-ID eller et serienummer. I Access brukes primærnøkler til raskt å knytte sammen data fra flere tabeller og til å samle dataene sammen for deg.
Noen ganger består primærnøkkelen av to eller flere felt. I en Ordredetaljer-tabell som brukes til å lagre linjeelementene for ordrer, kan du for eksempel bruke to kolonner i primærnøkkelen: Ordre-ID og Produkt-ID. Når en primærnøkkel bruker mer enn én kolonne, kalles den også en sammensatt nøkkel.
Hvis du allerede har en unik identifikator for informasjonen i en tabell, for eksempel produktnumre som unikt identifiserer hvert produkt i katalogen, kan du bruke den. Dette gjelder bare når verdiene oppfyller disse reglene for primærnøkler:
-
Identifikatoren vil alltid være forskjellig for hver post. Dupliserte verdier er ikke tillatt i en primærnøkkel.
-
Det er alltid en verdi for elementet. Hver enkelt post i tabellen må ha en primærnøkkel. Hvis du bruker flere kolonner til å opprette nøkkelen (for eksempel artikkelfamilie og artikkelnummer), må begge verdiene alltid være til stede.
-
Primærnøkkelen er en verdi som ikke endres. Fordi nøklene refereres til i andre tabeller, betyr endringer i en primærnøkkel i én tabell også en endring i den aktuelle primærnøkkelen overalt der det refereres til den. Hyppige endringer øker risikoen for feil.
Hvis du ikke har en opplagt identifikator, kan du bruke et vilkårlig, unikt nummer som primærnøkkel. Du kan for eksempel tilordne hver ordre et unikt ordrenummer i den hensikt å identifisere rekkefølgen.
Tips!: Hvis du vil opprette et unikt nummer som primærnøkkel, legger du til en kolonne ved hjelp av datatypen Autonummer. Datatypen Autonummer tilordner automatisk en unik numerisk verdi til hver oppføring. Denne typen identifikator inneholder ingen faktiske opplysninger som beskriver raden den representerer. Den er ideell som primærnøkkel fordi tallene ikke endrer seg, i motsetning til en primærnøkkel som inneholder fakta om en rad, for eksempel et telefonnummer eller et kundenavn.
Vil du vite mer?
Retningslinjer for navnsetting av felt, kontroller og objekter