Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Datamodellering/database

Liknende presentasjoner


Presentasjon om: "Datamodellering/database"— Utskrift av presentasjonen:

1 Datamodellering/database
Forelesningsnotater basert på læreboka: ’Innføring i informasjonsteknologi’ Litterarurreferanse: Kjos, B.: Innføring i Informasjonsteknologi, 4 Utgave, Kap. 8

2 Datamodeller - database
Forelesningsnotater basert på læreboka: ’Innføring i informasjonsteknologi’ Student studentnr: Tar fag fagnr: dat100 Fag fagnr: dat100 Litterarurreferanse: Kjos, B.: Innføring i Informasjonsteknologi, 4. Kap.8

3 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 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 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 Datarepresentasjon Tar fag Student Fag
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 Datanavn~mengder/verdier
Tar fag studentnr: fagnr: dat100 Student studentnr: etternavn: Hansen fornavn: Jens adresse: Storgata 5 studpost: 101 Fag fagnr: dat100 navn: Informasjons- og kommunikasjons- teknologi Grunnkurs Metadata setter data i sammenheng

8 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 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 Hva er en database ? En database Data tilhørende person 1
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

11 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

12 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 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 Database-system Database Bruker Appl. DBMS Bruker Appl. DD Bruker
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. Database Bruker Appl. DBMS Bruker Appl. DD Bruker Appl.

15 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 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 Datauavhengighhet Fysisk datauavhengighet: Logisk 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 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 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 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 Hierarkisk modell - eksempel
S1 Hansen 39 B1 Personbil Opel 27 B2 Varebil Ford 33 B3 Varebil Volvo 14 S2 Jensen 26 B4 Personbil Volvo 17 B2 Varebil Ford 11 B3 Varebil Volvo 23 S3 Nilsen 54 B5 Varebil Opel 16 B2 Varebil Ford 12 B4 Personbil Volvo 30

22 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 Relasjonsdatabase - eksempel
Tar fag studentnr: fagnr: dat100 fagnr: dat230 Student studentnr: etternavn: Hansen fornavn: Jens adresse: Storgata 5 studpost: 101 Fag fagnr: dat100 navn: Informasjons- og kommunikasjons- teknologi Grunnkurs

24 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 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 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 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 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 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 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 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 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 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 Lagdeling Applikasjonene gir definerte brukergrensesnitt
Ulike applikasjoner som: Utfører definerte operasjoner Bestemmer tilgang til informasjon Applikasjon Nr 1 Applikasjon Nr 2 Applikasjonene ser data som en logisk modell Programtolker Databaseverktøy Programvare for å tolke og utføre operasjoner Programvare for å aksessere database Database aksess Leser databasen slik den er organisert på disken Lagrede data Database bestående av metadata og informasjon

35 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 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 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 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 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 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 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 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 "Datamodellering/database"

Liknende presentasjoner


Annonser fra Google