HØGSKOLEN I AGDER Agder University College Databasemodeller Datamodellering/database Forelesningsnotater basert på læreboka: ’Innføring i informasjonsteknologi’ Litterarurreferanse: Kjos, B.: Innføring i Informasjonsteknologi, 4 Utgave, Kap. 8 HiA, Bodil Ask, 2004 1 HØGSKOLEN I AGDER Agder University College Databasemodeller Datamodeller - database Forelesningsnotater basert på læreboka: ’Innføring i informasjonsteknologi’ Tar fag Student studentnr: 010899 studentnr: 010899 fagnr: dat100 Fag fagnr: dat100 Litterarurreferanse: Kjos, B.: Innføring i Informasjonsteknologi, 4. Kap.8 HiA, Bodil Ask, 2004 2 HØGSKOLEN I AGDER Agder University College Databasemodeller Representasjon av informasjon • Informasjon i en organisasjon eller bedrift bør være tilgjengelig for de personer som trenger den og på en slik måte at informasjonen er lett tilgjengelig. • Bedriftene bør m.a.o. tenke gjennom hva slags informasjonssystem de trenger, hvordan de ønsker at informasjonen skal være representert HiA, Bodil Ask, 2004 3 HØGSKOLEN I AGDER Agder University College Databasemodeller Data - Metadata - Informasjon • Metadata brukes om data som beskriver andre data, for eksempel hvilken type en verdi er av. • Metadata kan også beskrive hvordan en datamengde er strukturert og hvordan verdiene i en datamengde henger sammen. • Et informasjonssystem er avhengig av metadata for å kunne håndtere data som informasjon HiA, Bodil Ask, 2004 4 HØGSKOLEN I AGDER Agder University College Databasemodeller Metadata • Metadata kan deles opp etter hvordan de beskriver tre aspekter ved data: • Datatype: tall, tekst, bilder, dato osv. • Datanavn: navn, adresser, telfonnr. Stud.nr. osv • Datastruktur: hvilke data hører logisk sammen • er navn, adresse og telefonnr forbundet på noen måte HiA, Bodil Ask, 2004 5 HØGSKOLEN I AGDER Agder University College Databasemodeller Datarepresentasjon Student Tar fag studentnr: heltall, 6 siffer etternavn: tekst, 30 tegn fornavn: tekst, 30 tegn adresse: tekst, 60 tegn studpost: heltall, 3 siffer studentnr: heltall 6 siffer fagnr: tekst, 6 tegn Fag fagnr: tekst 6 tegn navn: tekst, 60 tegn Metadata beskriver data og strukturer HiA, Bodil Ask, 2004 6 HØGSKOLEN I AGDER Agder University College Databasemodeller Datanavn~mengder/verdier Tar fag studentnr: 010899 fagnr: dat100 Student studentnr: 010899 etternavn: Hansen fornavn: Jens adresse: Storgata 5 studpost: 101 Fag fagnr: dat100 navn: Informasjons- og kommunikasjonsteknologi Grunnkurs Metadata setter data i sammenheng HiA, Bodil Ask, 2004 7 HØGSKOLEN I AGDER Agder University College Databasemodeller Lagring av data • En stor utfordring for alle informasjonssystemer er lagring av data • lagre slik at vi beholder informasjonsverdien • lagre slik at vi lett finner informasjonen • Metadata spiller en sentral rolle i dette arbeidet ettersom det er metadata som definerer hvordan data skal tolkes og forstås i et informasjonssystem HiA, Bodil Ask, 2004 8 HØGSKOLEN I AGDER Agder University College Databasemodeller Databaser • Svært vanlig å registrere datamengder i databaser. • Databasebetegnelsen blir vanligvis brukt om: • samling av data (ikke presis nok) • en samling av relatert informasjon • data som er lagret på et masselager og kan brukes og sees på flere måter • en datakilde for forskjellige deler av et informasjonssystem • data som er systematisk ordnet og strukturert HiA, Bodil Ask, 2004 9 HØGSKOLEN I AGDER Agder University College Databasemodeller Hva er en database ? En database inneholder data. I en database kan vi tillegge dataene eierforhold eller tilgangsrettigheter. Typisk for en database er at data deles mellom ulike eiere eller at ulike brukere har tilgang til felles data i tillegg til egne data. En database Data tilhørende person 1 Data tilhørende person 2 Data tilhørende person 3 Delte data HiA, Bodil Ask, 2004 10 HØGSKOLEN I AGDER Agder University College Databasemodeller Hva består en database av ? En database kan vi dele i følgende tre hoved-deler: - Selve databasen hvor dataene ligger lagret. - Data Dictionary (System-kataloger) hvor det ligger lagret informasjon om databasens struktur (eierforhold, tilgangsrettigheter, tabeller, relasjoner, …) - DBMS (Database Management System). Dette er program (software) til bruk ved operasjoner (lesing, oppdatering, innsetting, sletting, …) på databasen. • Selve databasen med lagrede data • Data Dictionary (System-kataloger) med alle nødvendige opplysninger om databasens struktur • DBMS - DataBase Management System Database software til operasjoner på databasen HiA, Bodil Ask, 2004 11 HØGSKOLEN I AGDER Agder University College Databasemodeller Databaser ~ skjemaer • En database integrerer en datamengde som alle deler av et informasjonssystem kan benytte. • Hvert delsystem ser bare den datamengden det har behov for • Et skjema er en beskrivelse av hele databasestrukturen • Et delskjema er beskrivelse av en del av databasestrukturen som er tilgjengelig for en del av informasjonssystemet HiA, Bodil Ask, 2004 12 HØGSKOLEN I AGDER Agder University College Databasemodeller Database ~ applikasjonsprogram • Et viktig aspekt ved databaser er kontroll med data og spesielt sensitive data (personopplysninger) • Vi skiller gjerne mellom database og applikasjonsprogram som vi bruker for å hente ut data fra databasen. • En applikasjon som skriver ut lønnsslipp har tilgang til personopplysninger, mens en applikasjon som lister ut beholdning av bestemt varetype ikke har det HiA, Bodil Ask, 2004 13 HØGSKOLEN I AGDER Agder University College Databasemodeller Database-system Til høyre vises databasens tre hoved-deler: Selve dataene, DD (Data Dictionary) og DBMS. Brukere av databasen benytter ulike applikasjons-program ved operasjoner mot databasen. Disse applikasjons-programmene opererer ikke direkte på databasen, men henvender seg til DBMS. DBMS fungerer altså som et slags mellomledd mellom brukernes applikasjons-program og selve dataene i databasen. Bruker Appl. Bruker Appl. Bruker Appl. HiA, Bodil Ask, 2004 DBMS Database DD 14 HØGSKOLEN I AGDER Agder University College Databasemodeller Ulik tilgang til informasjon • Vi regner med at selve databasen er mer stabil enn de applikasjonsprogrammene som bruker databasen. Vi kan med andre ord ha en mengde applikasjonsprogram som henter ut ulik informasjon fra en database. • Applikasjonsprogrammene kan sette sammen informasjon på ulike måter: • • • • Per Hansen, adressen, postnr og sted Per Hansen, personnr, lønnsplassering, lønn, skattetrekk Per Hansen, arbeidsnr, avdeling, stilling etc HiA, Bodil Ask, 2004 15 HØGSKOLEN I AGDER Agder University College Databasemodeller Fleksibilitet • Hvis vi lar databasen være mest mulig uavhengig av applikasjonsprogrammene, trenger vi ikke å gjøre endringer i databasen hver gang vi har behov for nye kombinasjoner av opplysninger. • Vi kaller dette datauavhengighet og skiller mellom to typer: • fysisk datauavhengighet • logisk datauavhengighet HiA, Bodil Ask, 2004 16 HØGSKOLEN I AGDER Agder University College Databasemodeller Datauavhengighhet • Fysisk datauavhengighet: • mulighet for å endre databasen uten å måtte endre de applikasjonene som bruker basen • dette gjøres ved at applikasjonene jobber ’mot’ databasens skjema som viser hvordan databasen er bygd opp konseptuelt, og ikke hvordan den fysisk er bygd opp. • Logisk datauavhengighet • mulighet for å endre databasens konseptuelle skjema uten å måtte endre applikasjonene som bruker den. Endringer kan være utvidelser eller krymping. HiA, Bodil Ask, 2004 17 HØGSKOLEN I AGDER Agder University College Databasemodeller Databaseverktøy • Databaseverktøy er en samling programmer som gjør det mulig å lage og vedlikeholde en database. • Databaseverktøy gjør det mulig å • definere en database (spesifisere metadata for de data som skal lagres: datatyper, navn, strukturer) • konstruere en database (legge inn og lagre data i databasen) • manipulere en database (spørre etter spesifikke data og oppdatere basen) HiA, Bodil Ask, 2004 18 HØGSKOLEN I AGDER Agder University College Databasemodeller Logiske database konstruksjoner • Ved bruk av databaseverktøy ser de enkelte programmene den logiske konstruksjonen av databasen, ikke den fysiske. • Denne logiske konstruksjonen av databasen kalles en databasemodell. • Flere forskjellige databasemodeller (hierarkisk, nettverksmodell, relasjonsmodell) • Den dominerende i dag er relasjonsmodellen HiA, Bodil Ask, 2004 19 HØGSKOLEN I AGDER Agder University College Databasemodeller Hierarkisk database modell Den hierarkiske modellen gir god oversikt over hvilke biler hver av selgerne har brukt, men er vanskeligere å finne alle selgerne som har brukt en spesiell bil Databasen inneholder opplysninger om selgernr, person, alder,bilnr,biltype,bilnavn og hvor lenge selgeren har brukt den spesielle bilen HiA, Bodil Ask, 2004 20 HØGSKOLEN I AGDER Agder University College Databasemodeller Hierarkisk modell - eksempel S1 S2 S3 Hansen 39 B1 Personbil B2 Varebil B3 Varebil Opel Ford Volvo 27 33 14 Jensen B4 B2 B3 26 Personbil Varebil Varebil Volvo Ford Volvo 17 11 23 Nilsen B5 B2 B4 54 Varebil Varebil Personbil Opel Ford Volvo 16 12 30 HiA, Bodil Ask, 2004 21 HØGSKOLEN I AGDER Agder University College Databasemodeller Databasemodeller Relasjonsdatabaser • basert på begrepet relasjon • viser sammenhenger mellom verdier på ulike datafelt • bruker tabeller, som blir omtalt som relasjoner. • Relasjonsdatabasen i eksemplet har tre relasjoner: student - tar fag - fag HiA, Bodil Ask, 2004 22 HØGSKOLEN I AGDER Agder University College Databasemodeller Relasjonsdatabase - eksempel Tar fag studentnr: 010899 fagnr: dat100 fagnr: dat230 Student studentnr: 010899 etternavn: Hansen fornavn: Jens adresse: Storgata 5 studpost: 101 HiA, Bodil Ask, 2004 Fag fagnr: dat100 navn: Informasjons- og kommunikasjonsteknologi Grunnkurs 23 HØGSKOLEN I AGDER Agder University College Databasemodeller Tabell - poster • En tabell består av kolonner og rader • Hver kolonne inneholder bestemt informasjon • Kolonnene har et navn som identifiserer hva slags opplysninger kolonnen skal inneholde • Hver rad vil være som et ”arkivkort” med KOLONNE (et felt) opplysninger RAD (en post) HiA, Bodil Ask, 2004 24 HØGSKOLEN I AGDER Agder University College Databasemodeller Nøkkelfelt • For en tabell er det nødvendig å definere en kolonne (eller felt) som skal gi en entydig verdi for hvert ”arkivkort” eller rad (post) • Dette for å unngå forveksling av data • Som nøkkelfelt kan vi for eksempel bruke: • Personnummer (finnes ingen like i hele verden) • Bilnummer, telefonnummer, postnummer mv. • Pasientnummer (kan være et fortløpende nummer som ikke brukes til mer enn 1 pasient i sykehuset) HiA, Bodil Ask, 2004 25 HØGSKOLEN I AGDER Agder University College Databasemodeller Dobbeltlagring av data • Det er fort gjort å definere en tabell, slik at vi kan begynne å legge inn opplysninger i databasen • Kanskje tenker vi ikke så nøye over hvilke opplysninger vi legger inn og hvordan dette gjøres • I tabellen pasienter ser vi at mange pasienter bor på samme Postnummer og Poststed • Dette gir oss en dobbeltlagring av informasjon HiA, Bodil Ask, 2004 26 HØGSKOLEN I AGDER Agder University College Databasemodeller Oppsplitting av tabeller • Vi kan få en entydig adresse til pasientene ved bare å registrere Postnummeret til pasientens adresse • Det er en kjent og entydig sammenheng mellom • Postnummer og Poststed • Da bør vi opprette en ny tabell som inneholder denne oversikten – vi lager en Postnummer-tabell Vi benytter Postnummer som nøkkelfelt, og legger inn aktuelle opplysninger i tabellen HiA, Bodil Ask, 2004 27 HØGSKOLEN I AGDER Agder University College Databasemodeller Endring av Pasient-tabellen • For å unngå sløsing med plass (et problem i store databaser), skal vi nå endre tabellen over pasienter • Det er tilstrekkelig å lagre bare Postnummer • Databasen vår består nå av 2 tabeller • Vi vet at det er en entydig sammenheng mellom Postnummer i pasient-tabellen, og tilhørende Poststed HiA, Bodil Ask, 2004 28 HØGSKOLEN I AGDER Agder University College Databasemodeller Koblinger • Det vil være ulike relasjoner mellom data i tabellene • To tabeller som inneholder informasjon som henger sammen må kobles til hverandre ved å opprette en relasjon mellom tabellene • For å kunne opprette relasjoner, må tabellene ha felter med felles eller identisk informasjon • For eksempel kan en tabell med pasientopplysninger ha et felt som heter Postnummer • En annet tabell med oversikt over alle poststeder vil også ha et felt som heter Postnummer • Vi kan da opprette en relasjon mellom disse tabellene, hvor feltet Postnummer er identisk i begge tabellene HiA, Bodil Ask, 2004 29 HØGSKOLEN I AGDER Agder University College Databasemodeller Definere en kobling • I database programmet må vi nå definere en kobling mellom de feltene som har samhørende verdier, i dette eksemplet feltene ”Postnummer” • Når vi skal vise de aktuelle pasientopplysningene, kan vi også få frem Poststed, selv om dette ligger i en annen tabell enn pasientopplysningene Linjen mellom tabellene viser at det er en kobling som refererer til Postnummer HiA, Bodil Ask, 2004 30 HØGSKOLEN I AGDER Agder University College Databasemodeller Oppnådde fordeler • Når du lager en tabell, bør hvert felt (kolonne) inneholde unik informasjon • I den første tabellen ”Pasienter” hadde feltet Poststed gjentatt den samme informasjon mange ganger. Overflødige data - Redundans • Vi opprettet da en ny tabell, hvor det samme postnummer og postssted kun ble lagret én gang • Dette medfører mindre behov for lagringsplass • Dataregistreringen går raskere • Du kan raskt hente frem allerede lagret informasjon • Svartider ved bruk av applikasjonen blir raskere HiA, Bodil Ask, 2004 31 HØGSKOLEN I AGDER Agder University College Databasemodeller Databaseverktøy - applikasjoner • Databaseverktøyet fremstiller databasen som en logisk databasemodell for applikasjonene som benytter basen • Databaseverktøyet tilbyr et generelt grensesnitt som applikasjonene bruker for å kommunisere med databasen • Standard grensesnitt for relasjonsdatabaser er SQL (Structured Query Language) HiA, Bodil Ask, 2004 32 HØGSKOLEN I AGDER Agder University College Databasemodeller Databaseverktøy • Vi oppnår lagdeling av informasjonssystemet ved bruk av database verktøy. Brukerne ser data slik de blir presentert av applikasjonene • Applikasjonene ser data som en logisk databasemodell • Databaseverktøyet har programvare for å tolke og utføre operasjoner samt programvare for å aksessere selve databasen • Databaseverktøyet ser data slik de er organiserte på et masselager HiA, Bodil Ask, 2004 33 HØGSKOLEN I AGDER Agder University College Databasemodeller Lagdeling Applikasjonene gir definerte brukergrensesnitt Ulike applikasjoner som: Applikasjon Applikasjon Nr 1 Nr 2 • Utfører definerte operasjoner • Bestemmer tilgang til informasjon Applikasjonene ser data som en logisk modell Programtolker Databaseverktøy • Programvare for å tolke og utføre operasjoner Database aksess • Programvare for å aksessere database Leser databasen slik den er organisert på disken Lagrede data HiA, Bodil Ask, 2004 Database bestående av metadata og informasjon 34 HØGSKOLEN I AGDER Agder University College Databasemodeller Separasjon • Separasjon av applikasjonene og databasen gjør at vi oppnår begge former for datauavhengighet (fysisk og logisk) • En slik separasjon gjør det enkelt for oss å endre applikasjoner, lage nye uten at vi trenger å endre databasen. HiA, Bodil Ask, 2004 35 HØGSKOLEN I AGDER Agder University College Databasemodeller Database - informasjonssystemer • Utvikling av database inngår gjerne som del av utviklingen av et informasjonssystem. • Denne prosessen har flere faser: • analyse, konstruksjon og implementasjon • I analysefasen må en definere den del av ’verden’ som får konsekvenser av informasjonssystemet. Denne delen kaller vi miniverden • Deretter identifiserer vi de dataelementene og deres struktur og betydning i systemets miniverden HiA, Bodil Ask, 2004 36 HØGSKOLEN I AGDER Agder University College Databasemodeller Analysefasen • I analysefasen må vi ta tak i de krav som har relevans for utvikling av databasen • Kravene organiserer vi i to grupper. • Databasekrav : hvilke data må informasjonssystemet kunne lagre i databasen • Funksjonelle krav: hvilke operasjoner ønsker informasjonssystemet å gjøre mot databasen HiA, Bodil Ask, 2004 37 HØGSKOLEN I AGDER Agder University College Databasemodeller Konstruksjonsfasen • I konstruksjonsfasen jobber vi med kravene fra analysefasen og utvikler en konseptuell konstruksjon av databasen som vi kaller en datamodell. • Vi kaller dette datamodellering og bruker gjerne et datamodelleringsspråk HiA, Bodil Ask, 2004 38 HØGSKOLEN I AGDER Agder University College Databasemodeller Datamodell • Datamodellen er en klar beskrivelse av databasekravene og inkluderer • detaljerte beskrivelser av dataenes typer, begrensninger og innbyrdes relasjoner • Inneholder ingen detaljer rundt selve implementeringen • Skal være lett å forstå - også for teknisk ukyndige HiA, Bodil Ask, 2004 39 HØGSKOLEN I AGDER Agder University College Databasemodeller Implementasjon • Når datamodellen er klar, kommer implementeringsfasen. • Første ledd er å overføre den konseptuelle datamodellen til en databasemodell • (den logiske modellen av databasen som databaseverktøyet presenterer for applikasjonene i informasjonssystemet) HiA, Bodil Ask, 2004 40 HØGSKOLEN I AGDER Agder University College Databasemodeller Datamodeller • Datamodeller er et godt hjelpemiddel for å konstruere databaser. • De gjør det mulig entydig å diskutere forslag til databasens struktur, samt verifisere de krav som ble stilt i analysefasen • Gir oversikt slik at databasen blir mest mulig konsistent og hindrer redundans (dobbeltlagring) HiA, Bodil Ask, 2004 41 HØGSKOLEN I AGDER Agder University College Databasemodeller Fordeler med databaser • Det er mange fordeler med å opprette databaser for å samle informasjon av ulike typer • • • • • • Du kan få en samlet oversikt over informasjon Informasjonen kan deles av flere personer Den gir rask registrering av data og unngår dobbeltlagring Lagringsbehovet blir optimalt, og tilgangen til data sikres Enkelt å vedlikeholde opplysninger Du kan tilrettelegge ulike skjemaer som samler viktig informasjon for brukeren (skreddersydd brukergrensesnitt) • Du kan lage gode rapporter med nødvendig oversikt HiA, Bodil Ask, 2004 42
© Copyright 2024