Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 20041 Databasemodeller Datamodellering/database Forelesningsnotater basert på læreboka: ’Innføring.

Liknende presentasjoner


Presentasjon om: "HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 20041 Databasemodeller Datamodellering/database Forelesningsnotater basert på læreboka: ’Innføring."— Utskrift av presentasjonen:

1 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, Databasemodeller Datamodellering/database Forelesningsnotater basert på læreboka: ’Innføring i informasjonsteknologi’ Litterarurreferanse: Kjos, B.: Innføring i Informasjonsteknologi, 4 Utgave, Kap. 8

2 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, Databasemodeller Datamodeller - database Forelesningsnotater basert på læreboka: ’Innføring i informasjonsteknologi’ Litterarurreferanse: Kjos, B.: Innføring i Informasjonsteknologi, 4. Kap.8 Student studentnr: Tar fag studentnr: fagnr: dat100 Fag fagnr: dat100

3 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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

4 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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

5 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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

6 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, Databasemodeller Datarepresentasjon Student studentnr: heltall, 6 siffer etternavn: tekst, 30 tegn fornavn: tekst, 30 tegn adresse: tekst, 60 tegn studpost: heltall, 3 siffer Tar fag studentnr: heltall 6 siffer fagnr: tekst, 6 tegn Fag fagnr: tekst 6 tegn navn: tekst, 60 tegn Metadata beskriver data og strukturer

7 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, Databasemodeller Datanavn~mengder/verdier Student studentnr: etternavn: Hansen fornavn: Jens adresse: Storgata 5 studpost: 101 Tar fag studentnr: fagnr: dat100 Fag fagnr: dat100 navn: Informasjons- og kommunikasjons- teknologi Grunnkurs Metadata setter data i sammenheng

8 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, Databasemodeller Lagring av data •En stor utfordring for alle informasjons- systemer 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

9 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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

10 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, Databasemodeller Hva er en database ? En database Data tilhørende person 1 Data tilhørende person 2 Data tilhørende person 3 Delte data 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.

11 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, Databasemodeller Hva består en database av ? •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 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.

12 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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

13 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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

14 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, Databasemodeller Database-system Bruker Appl. DBMS DD Database 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.

15 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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

16 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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

17 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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.

18 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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)

19 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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

20 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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

21 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, Databasemodeller Hierarkisk modell - eksempel S1 Hansen 39 B1PersonbilOpel27 B2VarebilFord33 B3VarebilVolvo14 S2Jensen 26 B4PersonbilVolvo17 B2VarebilFord11 B3VarebilVolvo23 S3 Nilsen 54 B5VarebilOpel16 B2VarebilFord12 B4PersonbilVolvo30

22 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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

23 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, Databasemodeller Relasjonsdatabase - eksempel Student studentnr: etternavn: Hansen fornavn: Jens adresse: Storgata 5 studpost: 101 Tar fag studentnr: fagnr: dat100 fagnr: dat230 Fag fagnr: dat100 navn: Informasjons- og kommunikasjons- teknologi Grunnkurs

24 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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 opplysninger RAD (en post) KOLONNE (et felt)

25 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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)

26 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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

27 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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

28 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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

29 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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

30 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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

31 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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

32 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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)

33 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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

34 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, Databasemodeller Lagdeling Lagrede data Database bestående av metadata og informasjon Databaseverktøy • Programvare for å tolke og utføre operasjoner • Programvare for å aksessere database Ulike applikasjoner som: • Utfører definerte operasjoner • Bestemmer tilgang til informasjon Applikasjonene gir definerte brukergrensesnitt Applikasjon Nr 1 Applikasjon Nr 2 Programtolker Database aksess Applikasjonene ser data som en logisk modell Leser databasen slik den er organisert på disken

35 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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.

36 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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

37 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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

38 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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

39 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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

40 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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)

41 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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)

42 HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 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


Laste ned ppt "HØGSKOLEN I AGDER Agder University College HiA, Bodil Ask, 20041 Databasemodeller Datamodellering/database Forelesningsnotater basert på læreboka: ’Innføring."

Liknende presentasjoner


Annonser fra Google