Databaser: Introduksjon til databaser og filsystemer

Størrelse: px
Begynne med side:

Download "Databaser: Introduksjon til databaser og filsystemer"

Transkript

1 Fjernundervisning fra AITeL - HiST Databaser: Introduksjon til databaser og filsystemer 27. juni 2002, Kjell Toft Hansen, TISIP Kursleksjonene er forfatters eiendom. Som kursdeltaker kan du fritt bruke leksjonene til eget personlig bruk. Kursdeltakere som ønsker å bruke leksjonene til undervisning eller kursformål må ta kontakt med forfatter for nærmere avtale. Copyright: Kjell Toft Hansen/TISIP HVOR BRUKES DATABASESYSTEM...2 FILBASERTE SYSTEM...2 PROBLEMENE VED FILBASERTE SYSTEM...4 DATABASER...4 DATABASESYSTEM...5 HVA INNEHOLDER ET DBMS...6 Programvare og applikasjoner...6 Hvilke personer er involverte i DBMS...7 Datauavhengighet...7 Prøve å unngå dataduplikasjon...8 Effektive søk etter data...8 SQL...8 DATABASEARKITEKTUR...8 Det eksterne nivå...10 Det konseptuelle nivå...10 Det interne nivå...10 DATAMODELLER OG KONSEPTUELL MODELLERING...11 POSTBASERTE DATAMODELLER...11 Relasjonsmodellen...11 OBJEKTBASERTE DATAMODELLER...12 Entity-Relationship modellen...12 FLERBRUKER DBMS-ARKITEKTUR...13 DISTRIBUERT DATABEHANDLING...13 Distribuert bearbeiding...15 LITTERATURLISTE...16 filnavn: leksjon_01

2 Hvor brukes databasesystem Databaser og databasesystem har blitt en viktig del av hverdagen i et moderne samfunn. I løpet av én dag vil mange av oss utføre aktiviteter som involverer en samhandling med en database. Det kan være bruk av kreditt- eller debetkort ved varekjøp på supermarkedet eller uttak av kontanter i en minibank, ved bestilling av en fly- eller togreise via et reisebyrå, låne bøker på biblioteket, tegne forsikring på vår nye bil eller ved immatrikulering på universitet. Databaser brukes over alt der det er behov for å lagre en viss mengde data og der det er behov for å hente ut disse dataene til forskjellige formål. Tenk bare på alle registrene som du selv er ført opp i: Folkeregister, førekortregister, register over ansatte, bokklubber, abonnementer på tidsskrifter og aviser, banker, forsikringsselskaper etc. Alle disse registrene er laget ved hjelp av et databasesystem. Mindre bedrifter og enkeltpersoner kan også ha behov for å lage et databasesystem som holder oversikt over personer eller gjenstander. Det kan f.eks. være firmaets produkter eller et idrettslags sine medlemmer. Men det kan også være at det er du som ønsker å lage en oversikt over alle objektene i samlingen din, enten det er grammofonplater eller frimerker. Det å lage en database er ikke noe nytt som kun er knytt til vår elektroniske tidsalder. Det å lagre data systematisk på kartotekkort var en vanlig teknikk lenge før vi fikk datamaskinen. Senere, når den teknologiske utviklingen gjorde det mulig for større organisasjoner å lagre og behandle store datamengder, fikk vi de såkalte filbaserte systemene. Disse systemene overtok for de manuelle kartoteksystemene. Filbaserte system Kjennetegnet på filbaserte system er at de består av en samling applikasjonsprogram som utfører tjenester slik som for eksempel produksjon av rapporter for sluttbrukeren. Hvert program definerer og behandler sine egne data. De var det vi kan kalle for desentraliserte system, hver avdeling hadde sine egne data og sine egne program og system. Copyright: Kjell Toft Hansen 2

3 Figur 1 viser en skjematisk beskrivelse av et filbasert system. Ordreavdeling Regnskapsavdeling Progam A Progam B Progam C Progam A Progam B Ordresystem Fakturasystem Kunde-fil Varelager_pris-fil Ordre-fil Varelager-fil Kunde-fil Figur 1: (Fritt oversatt fra McFadden s. 8) Fra disse systemene fikk vi begrepene data, felt, post og fil som er beskrevet i tabellen under. Data Felt Post Fil Et tegn, d.v.s. en bokstav, tall 0 til 9 eller et symbol (?,+,-,*,&, o.l.). Inneholder et sett med tegn som gir en viss logisk mening. F.eks. et navn, tall, dato, klokkeslett, kode o.a. Sier noe om tings egenskaper. Et sett med felt som hører sammen. Relaterte poster som naturlig hører sammen. F.eks. alle medlemmene i en sportsklubb, ansatte i en bedrift, alle varene på et lager. En fil er altså en samling poster som inneholder logiske data. Hver post består av et logisk sett tilknyttete felt. Hvert felt representerer karakteristiske egenskaper som tilhører objekter fra den virkelige verden. Copyright: Kjell Toft Hansen 3

4 Filstrukturen for en sportsklubb kan se ut som tabellen under: Navn Adresse Telefon Alder Bet_kont Hagen Nina Grønnergata Holm Grethe Oslogata Larsen Eva Brattgata Nilsen Gunnar Bakkegata Nilsen Per Bakkegata Olsen Ole Grønnegata Problemene ved filbaserte system I et filbasert system er data isolerte i separate filer og det er vanskelig å hente dem fram og kombinere dem. Det kan også oppstå duplisering av data også kalt redundans, dvs. at samme data kan være lagret flere plasser. Dette kan igjen lett føre til at data blir inkonsistente. Vi endrer data ett sted, men kan glemme å endre de samme data som er lagret på en annen fil. Definisjonen av data ligger inne i applikasjonsprogrammet og er ikke lagret uavhengig og separat. Dermed blir data avhengig av programmet. Ofte er det også slik at disse programmene også inneholder faste spørringer. Og for hver ny spørring må et nytt applikasjonsprogram utvikles. Det er ingen kontroll over tilgang og behandling av data ut over det som er implementert i applikasjonsprogrammet. Ofte kan data ligge på ulike filformat; det kan være brukt ulike programmeringsspråk som oppretter ikke-kompatible filformat. Databaser Databasene erstattet de filbaserte systemene. Teknologisk sett er de en langt mer avansert løsning. En database kan defineres som en samling av logiske data som hører sammen og som er en beskrivelse av disse data, designet for å møte informasjonskravene i en organisasjon. En database er et enhetlig lager av data som blir definert én gang og blir brukt samtidig av mange avdelinger og brukere. Dataene i databasen er kjente fakta som kan lagres og som kan si noe om en organisasjon, dvs. ha en mening eller rolle i denne. Et ikke-elektronisk eksempel på en database med data er et kartotek over f.eks. medlemmene i en sportsklubb. En kan tenke seg at hvert kort i kartoteket inneholder opplysninger om et medlem. Aktuelle opplysninger kan være navn, adresse, telefonnummer, medlemsnummer, alder og om vedkommende har betalt medlemskontingent for inneværende år. Copyright: Kjell Toft Hansen 4

5 Databasesystem 1 Et DBMS er en samling programmer som gjør det mulig å lage og bruke en database og som sørger for en kontrollert tilgang til databasen. DBMS holder rede på tabellene 2 for oss, samt databasens struktur. DBMS, som er brukerens grensesnitt til databasen, er en samling av programvare som tar seg av all tilgang til databasen. Framgangsmåten er som følger: 1. En bruker kommer med en forespørsel vha. et spørrespråk DBMS oppfanger forespørselen og analyserer den. 3. DBMS undersøker det eksterne skjema 4, utfører mappingen 5 mellom det eksterne skjema og de andre skjemaene ned til definisjonen av den lagrede strukturen. 4. DBMS utfører de nødvendige operasjonene på den lagrede databasen. Denne framgangsmåten er framstilt skjematisk i Figur 2. Databaseadministrasjons-lag Applikasjons-lag Brukergrensesnitt-lag Applikasjon 1 Databaseadministrasjon 1 Applikasjon 2 Brukergrensesnitt 1 Databaseadministrasjon 2 Brukergrensesnitt 2 Brukergrensesnitt 3 Figur 2: En tre-lags arkitektur som klart og tydelig skiller dataadministrasjon, applikasjonslogikk og brukergrensesnitt fra hverandre (Blaha, p. 21). 1 DBMS (Database Management System) 2 Data ligger lagret i tabeller i databasen - forklares senere 3 SQL: Structured Query Language 4 Brukerens grensesnitt mot databasen - forklares mer detaljert senere 5 Koble sammen skjemaene og definere samsvaret mellom skjemaene Copyright: Kjell Toft Hansen 5

6 Hva inneholder et DBMS DBMS inneholder et Data Definition Language (DDL). Dette er et språk som brukes til blant annet å spesifisere databaseskjemaet 6. DDL er et beskrivende språk som gir DBA og superbrukere muligheten til å beskrive og navngi tabeller og sammenhengen mellom tabellene som er nødvendige for applikasjonen. Videre inneholder DBMS et Data Manipulation Language (DML). DML er et språk som inneholder et sett av operasjoner som støtter grunnleggende datamanipulerende operasjoner på dataene i databasen som for eksempel det å legge data inn i databasen, endre data og hente ut data. Et DBMS må også inneholde en datakatalog, dvs. en metadatabase som består av definisjoner av andre objekter enn selve rådataene som for eksempel tabellene, skjemaene, mappingene 7 og informasjon om adgang. I tillegg må et DBMS inneholde komponenter som ivaretar dataintegritet, datasikkerhet, berging av data, ytelse: en effektiv gjennomføring av de ulike funksjonene, tilslutninger og dataabstraksjoner. Programvare og applikasjoner DBMS gir et grensesnitt mot såkalte applikasjoner. En applikasjon er et program som bruker data lagret i en gitt database. Typisk for en applikasjon er at den har et grafisk brukergrensesnitt 8 tilpasset behov hos én bestemt gruppe sluttbrukere. Brukerne kan via brukergrensesnittet få for eksempel de ønskete opplysninger om en ansatt i bedriften opp på dataskjermen. Tradisjonelt er applikasjoner implementert utenfor selve DBMS ved hjelp av programmeringsspråk som C++, Java eller Visual Basic. Men de fleste DBMS i dag 9 tilbyr muligheter for å lage applikasjoner direkte i selve DBMS. En lager da såkalte skjema hvor brukere kan få ønskete data opp på skjermen ved å klikke på knapper eller velge i nedtrekksmenyer. En annen løsning er bruk av World Wide Web som et grensesnitt mot en database. Selv om WWW i dag gir visse begrensninger i hvor avanserte brukergrensesnitt kan lages, er det mulig å lage relativt fine skjema i WWW-språket HTML. Dersom dette skal fungere mot en database, brukes ofte en bestemt type kobling, et såkalt CGI 10, mellom Webtjeneren og DBMS. I dag finnes det CGI-løsninger for alle kjente DBMS. Det finnes en rekke informasjonsdatabaser på WWW, som er mer eller mindre åpne for alle brukere av Internett. Slike løsninger kan også brukes til såkalte elektroniske betalingstjenester ved at en kan bestille varer fra et sentralt vareregister via WWW. Et problem med CGIløsninger er sikkerhetsrisikoen. Det kan være vanskelig å kontrollere bruken av en slik åpen tilgang til en database. På den andre siden gir DBMS også et grensesnitt mot databasestrukturen, som logisk sier hvordan data i databasen faktisk er lagret på filer på det fysiske mediet. Tabeller er en kjent måte å betrakte denne logiske strukturen på. Vi kan logisk betrakte databasen 6 Definere en database, tabeller og utsnitt 7 Samsvaret mellom de ulike skjemaene 8 GUI 9 Bl.a. MS-Access 10 Common Gateway Interface Copyright: Kjell Toft Hansen 6

7 som en mengde tabeller med data, uten å tenke på hvordan dataene fysisk er lagret på filer. DBMS tar seg altså av filbehandlingen, noe som er en stor fordel både for de som utvikler sine egne databaser og vanlige brukere av databaser. Hvilke personer er involverte i DBMS DBA 11 er ansvarlig for den totale kontrollen av systemet på teknisk nivå. I jobben med å implementere datastrategien vil følgende momenter være viktige: Definere det konseptuelle skjema 12. DBA bestemmer eksakt hvilken info databasen skal inneholde. Dette kalles logisk eller konseptuell databasedesign. Definere det interne skjema. DBA må også bestemme hvordan data skal være representert i den lagrede databasen, såkalt fysisk databasedesign. Kommunisere med brukere; konsultasjon, utdanning, hjelp til å skaffe opplysninger om hvilke data brukeren trenger. Definere sikkerhets- og integrasjonskontroller. Definere sikkerhetskopi og beregningsprosedyrer. Overvåke ytelse og reagere på endrede krav. Andre som er involverte er dataadministrator 13, databasedesigner, applikasjonsprogrammerere og sluttbrukere. Datauavhengighet Det vil ofte være slik at flere applikasjoner bruker en del av de samme dataene. En bedrift kan ha en applikasjon for å regne ut lønn til de ansatte (et lønnssystem), en annen applikasjon som registrerer hvor mange timer overtid ansatte jobber og en applikasjon for å regne ut bonus til de ansatte som er selgere. Alle disse applikasjonene bruker lagrede personopplysninger om de ansatte. Fordelen med et DBMS er at generelle data om de ansatte kan fysisk være lagret på én fil. Vi unngår derfor dobbeltlagring av data. I tillegg vil alle brukerne av databasen vite om endringer som er gjort av en applikasjon. En database kan være et såkalt flerbrukersystem, med mange applikasjoner som bruker mye av de samme dataene. Dette må administreres, og det er en stor trøst at databasesystemet tar seg av dette. 11 Databaseadministrator 12 Se kapittlet: Databasearkitektur 13 DA Copyright: Kjell Toft Hansen 7

8 Prøve å unngå dataduplikasjon Et problem i et filsystem er at samme data kan lagres flere plasser. Læreboka nevner såkalt data redundans, det vil si at samme felt forekommer i flere tabeller. Videre kan de oppstå problemer knyttet til dataintegritet (samme person har to ulike telefonnummer i to forskjellige tabeller). Det kan også oppstå problemer ved endringer og slettinger av data i en tabell dersom for eksempel en selger slutter. Hva da med alle kundene til den selgeren? Dette er vanskelige begreper å forstå innledningsvis. Alt dette kommer vi tilbake til senere i kurset. Poenget nå er at når vi skal designe databaser, er dette problemer vi må ta hensyn til. Ved å bruke et DBMS på en fornuftig måte, vil en kunne unngå mange av de ovennevnte problemene. Effektive søk etter data En viktig egenskap ved DBMS er at de har optimaliserte rutiner for å lagre og ikke minst søke etter data på det fysiske mediet. Dette betyr at et DBMS vil, under en del gitte forutsetninger, hente ut data raskt og effektivt. Dersom du lager ditt eget filsystem, må du selv lage rutiner (algoritmer) for å søke etter data på filene. Hvis du for eksempel er en profesjonell C++ programmerer, vil du sikkert kunne lage raske søkerutiner som kan konkurrere med DBMS sin rutine. Men å lagre data i en database er en enklere løsning i de fleste tilfellene. SQL En annen viktig egenskap ved de aller fleste DBMS er på markedet i dag, er at de gir støtte for spørrespråket SQL. Det gir muligheten til å aksessere og endre på data i databasen på en relativt enkel måte. Har man først lært SQL, vil en kunne hente data ut fra databaser i ulike DBMS er. En slik standard finnes ikke blant vanlige programmeringsspråk. Databasearkitektur Den databasearkitekturen vi skal bruke i dette kurset bygger på ANSI/SPARC 14 - arkitekturen. Denne arkitekturen representerer en abstrakt og generell måte å betrakte data på. Behandlingen av data er uavhengig av lagringsstruktur. Brukeren trenger ikke å vite noe om organiseringen av data for å behandle de samme data. En tenker her på fysisk rekkefølge, om vi utvider med nye kolonner eller rekker i databasen og enhver annen omorganisering av databasen. ANSI/SPARC skiller mellom lagringsstruktur og logisk struktur. Vi oppnår med dette logisk og fysisk datauavhengighet. Dette er en meget ressurskrevende arkitektur. 14 American National Standard Institute/Standard Planning and Requirements Committee Copyright: Kjell Toft Hansen 8

9 ANSI/SPARC-arkitekturen, er delt i tre nivåer: Internt nivå: Dette nivået representerer det nærmest vi kommer den fysiske lagringen av data. Sier noe om hvordan dataene er lagret fysisk. Eksternt nivå: Dette nivået ligger nærmest brukeren. Beskriver den måten dataene sees av brukerne. Konseptuelt nivå: En kobling av de to andre nivåene. Her representeres databasen på modellnivå - en abstrakt framstilling av hele databasen. Applikasjons program Applikasjons program Spørregenerator Bruker/Eksternt skjema A Bruker/Eksternt skjema B Bruker/Eksternt skjema C "Mapper" eksternt skjema A med konseptuelt skjema "Mapper" eksternt skjema B med konseptuelt skjema "Mapper" eksternt skjema C med konseptuelt skjema Konseptuelt skjema "Mapper" konseptuelt og internt skjema Internt/Fysisk skjema Database Figur 3: ANSI/SPARC arkitekturen (Beynon-Davis s. 38) Samlet blir de tre lagene kalt arkitekturens skjema Den totale beskrivelsen av databasen de tre nivåene. Copyright: Kjell Toft Hansen 9

10 Det eksterne nivå Det eksterne nivå er databasen slik den ser ut for en enkelt sluttbruker. Utsnittet kan bestå av sammensatte forekomster av ulike typer av logiske data. Hver sluttbruker har sitt språk til rådighet. Det kan være et spørrespråk eller et spesialtilpasset språk som er skreddersydd brukerens krav og støttet av et online program. Språket blir ofte kalt et Data Sub Language 16 og tar seg av databaseoperasjoner. Hvert DSL vil minst bestå av et DDL for deklarasjon av databaseobjekter og et DML for manipulering med objektene. Det kan være mange ulike eksterne utsnitt av deler av den totale databasen. Det eksterne nivå er uavhengig av det konseptuelle. En kan derfor utføre endringer i det konseptuelle nivå som vil gjenspeile seg i det eksterne nivå. Det konseptuelle nivå Det konseptuelle nivå viser hele informasjonsinnholdet i databasen. Det viser databasen slik den virkelig er, men allikevel mer abstrakt enn den måten dataene er fysisk lagret på. Her ser brukeren data som entitetstyper og tabeller, attributter og kolonner og sammenhengstyper og referanseintegritet. Sikkerhets- og integritetskontroller klargjøres også på det konseptuelle nivået. Brukeren på dette nivået er DBA. Om man skal oppnå datauavhengighet må det ikke være referanser i det konseptuelle skjemaet 17 til fysisk datastruktur eller tilgangsmetoder. De samme objektene kan gjerne ha ulike navn på hvert nivå. Den konseptuelle/interne mappingen definerer samsvaret mellom det konseptuelle nivået og den lagrede databasen på interne nivå. Tilsvarende er det mellom eksternt og konseptuelt nivå. Det interne nivå Det interne skjemaet, som beskriver det interne nivået, definerer de ulike typer av lagrede poster, indekser som finnes, hvordan lagrede poster er representert, den fysiske rekkefølgen til postene som skal lagres etc. Det interne nivå er et skritt unna det fysiske nivå hvor en definerer sider, blokker eller størrelsen på spor og sylindrer for en post. 16 DSL 17 Dokument som inneholder definisjoner av det konseptuelle nivået. Copyright: Kjell Toft Hansen 10

11 Datamodeller og konseptuell modellering En datamodell er en integrert samling av begreper som beskriver data, sammenhengen mellom data og regler som er knytt til data i en organisasjon. Den prøver å gi en abstraksjon over den virkeligheten vi ønsker å lagre data om. Virkeligheten er så kompleks, at den informasjonen vi klarer å lagre i en database vil uansett bli en forenkling av den. Men jo bedre informasjonen er strukturert, jo enklere er det å nyttiggjøre seg de mulighetene en database gir til for eksempel søk og analyse av data. Derfor er det lurt å ha en oversikt over hvilke typer informasjon vi ønsker å ha med i databasen. En datamodell er ment å gi en slik oversikt. Det er to datamodeller dette kurset omhandler, nemlig relasjonsmodellen og Entity-Relationship-modellen 18. Det ligger i navnene at disse to modellene har en del fellestrekk. Relasjonsmodellen er et resultat av en bestemt matematisk algebra, og er den modellen MS-Access og de fleste andre DBMS ene på markedet i dag bygger på. Dette er en såkalt postbasert datamodell. Modellen består av følgende komponenter: strukturdel, manipuleringsdel og integritetsregler. ER-modellen er en såkalt objektbasert datamodell, og brukes til datamodellering uavhengig av hvilket DBMS vi ønsker å realisere databasen i. Postbaserte datamodeller Følgende datamodeller regnes som postbaserte datamodeller: Nettverksdatamodeller, hierarkisk datamodeller og relasjonsmodellen. Relasjonsmodellen STUDENT STED Studnr Etternavn Fornavn Adresse Postnr Postnr Poststed primærnøkkel fremmednøkkel primærnøkkel 18 ER-modellen Copyright: Kjell Toft Hansen 11

12 Denne modellen er basert på matematiske relasjoner 19. Data og relasjoner blir presentert som tabeller og bare tabeller. Tabellene knyttes sammen ved hjelp av primærnøkkel / fremmednøkkel. Objektbaserte datamodeller Entity-Relationship, semantiske-, funksjonsorienterte- og objektorienterte datamodeller tilhører objektbaserte datamodeller. Entity-Relationship modellen Enhver datamodell som brukes i databasesammenheng sier noe om entiteter. En entitet er et objekt som vi ønsker å lagre informasjon om. Et eksempel er entiteten Eva Hansen i Figur 4. En entitet vil ha en del egenskaper, representert som en mengde med attributtverdier. Tradisjonelt er dette rene fakta om entiteten som for eksempel etternavn, fornavn, adresse etc. I tillegg vil en entitet ha en eller flere sammenhenger til andre entiteter i databasen. Det er for eksempel en sammenheng mellom entiteten Eva Hansen og entiteten 7000 Trondheim. Vi skal senere i kurset komme tilbake til hvordan dette kan designes både i relasjonsmodellen og ER-modellen. Entitet: Eva Hansen Attributt verdier: Hansen Eva Prinsens gt. 10 Sammenheng til andre entiteter: 7000 Trondheim Figur 4 Det er viktig å skille mellom entitetstyper og entiteter. En entitetstype sier noe om hvilke data vi kan lagre i attributtene, hvilke sammenhenger vi tillater og hvordan dette skal identifiseres i databasen. Figur 4 illustrerer svært overfladisk sammenhengen mellom definisjonen av attributtene og verdiene til entiteten Eva Hansen. Deretter kan vi si at Eva Hansen er en entitet av en bestemt entitetstype. Denne entitetstypen kan vi kalle Student. Dette er illustrert i Figur 5 som er en liten ER-modell Tabeller 20 Symbolbruken kommer vi tilbake til i en senere leksjon. Copyright: Kjell Toft Hansen 12

13 Student +student_nr {PK} +etternavn +fornavn +adresse * +bor på 1 Sted +postnr {PK} +poststed Figur 5 Flerbruker DBMS-arkitektur Denne arkitekturen bruker kapasiteten som finnes i arbeidsstasjoner og tjenere, ved at disse blir benyttet som intelligente, programmerbare enheter, noe som gjør at all den prosesseringskraften som er tilgjengelig, blir utnyttet. Dette gjøres ved å dele opp en oppgave i to prosesser; en klientdel og en tjenerdel. Klientdelen, som normalt vil være et standard PC-program, presenterer og manipulerer data på arbeidsstasjonen, mens tjenerdelen lagrer, henter og beskytter data på samme måte som på stormaskin. Distribuert databehandling I de siste årene har en gått mer og mer over til såkalte klient/tjener-løsninger og distribuerte løsninger. Ikke minst gjelder dette i databasesammenheng. Klient/tjener modellen splitter applikasjonen i en klientapplikasjon og en tjenerkomponent. Klientapplikasjonen samler spørsmål/data fra brukeren, forbereder dem for tjeneren, og gjør deretter en forespørsel 21 til tjeneren. Tjenerkomponenten venter på sin side på forespørsler fra sine klienter. Når dette skjer, prosesserer tjeneren forespørselen, og returnerer resultatet til klienten. Klienten presenterer til slutt dataene for brukeren gjennom sitt eget brukergrensesnitt. Det mest vanlige er at selve DBMS og det fysiske lageret er en integrert del av database-tjeneren, mens en sprer applikasjonene rundt på mindre maskiner i et datanett. Disse applikasjonene kalles da klienter. De ulike brukerne kan kjøre applikasjoner på sine lokale maskiner, mens selve databasen kan være lagret på en UNIX-maskin i et nett PC ene er tilkoblet. Dette betyr at brukerne ikke trenger å være logget på tjenermaskinen hele tiden, noe som ofte gir en mer effektiv løsning. En annen fordel er at klientene kan tilpasses ulike brukergruppers behov til både programvare og maskinvare. 21 Ved bruk av SQL Copyright: Kjell Toft Hansen 13

14 Figur 6 illustrerer en klient/tjener-arkitektur. Database Databaseadministrasjon Administrasjon av regler Klient Mellomvare Programvare for kommunikasjon LAN Internett Programvare for kommunikasjon Mellomvare Tjener Applikasjonslogikk Presentasjonslogikk Figur 6: Klient-tjener (Beynon-Davis s. 333) Med en klient/tjenerløsning menes det m.a.o. at flere maskiner knyttes sammen i et kommunikasjonsnettverk slik at databearbeiding kan foretas ved flere maskiner 22. En situasjon med bare én tjenermaskin og flere klientmaskiner er altså kjent som et klient/tjener system. Tjeneren fordeler arbeidsoppgavene utover nettet. Denne arkitekturen kan ha flere fordeler: Vi er ikke bundet til en bestemt maskinvare. Vi sparer trafikk på nettverket. Bare resultatet av en ev. spørring blir sendt tilbake. Sortering etc. foregår bare på tjeneren. Database- og applikasjonsprosesseringen kan kjøres parallelt. Tjeneren kan være spesialtilpasset DBMS et som igjen gir økt ytelse. Klientmaskinen kan være tilpasset brukerens behov. En database kan deles av flere ulike klientapplikasjoner. Reduserte utviklingskostnader: alle prosedyrer deles av alle applikasjoner. Redusert vedlikehold: regler endres bare et sted, i tjeneren. Større pålitelighet: logikken og foretningsreglene er uavhengige av klientapplikasjonen. Større sikkerhet: regler og data beskyttes fra uautorisert bruk. 22 Parallel prosessering Copyright: Kjell Toft Hansen 14

15 I databasesammenheng kjøres både DBMS og alle applikasjonene på tjeneren, og alle brukere må logge seg inn på denne for å kjøre applikasjoner eller hente data direkte fra DBMS. Dette kalles en sentralisert løsning, og fører til at belastningen på denne ene maskinen blir stor, dersom flere brukere er logget på samtidig. Distribuert bearbeiding Det er også mulig at en klient kan få tilgang til flere tjenere, maskinene er både klienter og tjenere. Dette kan gjøres på to måter: Et klientprogram kan få tilgang til bare et tjenersystem av gangen. Brukeren må vite hvem av tjenersystemene som har de ønskede dataene. Et klientprogram kan få tilgang til flere tjenersystem samtidig. Det vil se ut for brukeren som ett system og det er ikke nødvendig å vite hvor dataene er. Dette kalles et distribuert databasesystem. Copyright: Kjell Toft Hansen 15

16 Litteraturliste Beynon-Davis, P. (2001): Database Systems, Second Edition, Macmillan. Blaha, M.R. (2001): A Manager s Guide to Database Technology, Building and Perchasing Better Applications, Prentice Hall. Date, C. J. (1995): Introduction to Database Systems, Sixth Edition, Addison-Wesley. Elmasri, R., Navathe, S. (1999): Fundamentals of Database Systems, Third Edition, Addison-Wesley. Conolly, T., Begg, C., Strachan, A. (1998): Database Systems, A Practical Approach to Design, Implementation, and Management, Addison-Wesley. Mallaug, Tore (1998): Introduksjon til databaser og filsystemer, TISIP. McFadden, F.R., Hoffer, J.A., Prescott, M.B. (1999): Modern Database Management, Fifth Edition, Addison-Wesley. Rob, P., Coronel, C. (1997): Database Systems, Design, Implementation and Management, Third Edition, Course Technologies. Copyright: Kjell Toft Hansen 16

1. SQL server. Beskrivelse og forberedelse til installasjon

1. SQL server. Beskrivelse og forberedelse til installasjon Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag SQL server. Beskrivelse og forberedelse til installasjon Stein Meisingseth 15.10.2014 Lærestoffet er utviklet for faget IDRI2001 Drift av

Detaljer

Introduksjon til fagfeltet

Introduksjon til fagfeltet LC238D http://www.aitel.hist.no/fag/_dmdb/ Introduksjon til fagfeltet Datafiler side 2 Databasesystemer side 3-5 Databasearkitektur ANSI/SPARC side 6-7 Datamodeller side 8 Flerbruker databasesystem side

Detaljer

Innhold Forord Innledning Kapittel 1 Introduksjon til databaser og databasesystem

Innhold Forord Innledning Kapittel 1 Introduksjon til databaser og databasesystem Innhold Forord....................................................... 5 Innledning.................................................... 15 Databaser som basis i grunnopplæringen....................... 15

Detaljer

OM DATABASER DATABASESYSTEMER

OM DATABASER DATABASESYSTEMER OM DATABASER DATABASESYSTEMER Begrepet database brukes på flere måter, og det er ikke uvanlig å bruke det for å angi en total samling av data (i dette tilfellet lagrede opplysninger) uavhengig av hvordan

Detaljer

1. Relasjonsmodellen. 1.1. Kommentarer til læreboka

1. Relasjonsmodellen. 1.1. Kommentarer til læreboka Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Relasjonsmodellen Tore Mallaug 2.9.2013 Lærestoffet er utviklet for faget Databaser 1. Relasjonsmodellen Resymé: Denne leksjonen gir en kort

Detaljer

ITGK - H2010, Matlab. Dagens tema : Teori - Databaser

ITGK - H2010, Matlab. Dagens tema : Teori - Databaser 1 ITGK - H2010, Matlab Dagens tema : Teori - Databaser 2 I dag Teori: Databaser Bok: 8.1 8.2 (8.1-8.4 i gamle bøker) Læringsmål Lære det grunnleggende om databaser Lære det grunnleggende om databasedesign

Detaljer

1. Innføring i bruk av MySQL Query Browser

1. Innføring i bruk av MySQL Query Browser Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Innføring i bruk av MySQL Query Browser Kjell Toft Hansen 28.02.2007 Lærestoffet er utviklet for faget LV338D Databaseadministrasjon 1. Innføring

Detaljer

Kunnskapsorganisasjon og gjenfinning 1. Relasjonsmodellen og -databaser

Kunnskapsorganisasjon og gjenfinning 1. Relasjonsmodellen og -databaser Kunnskapsorganisasjon og gjenfinning 1 Relasjonsmodellen og -databaser Tine L. Frost Relasjonsmodellen 17.09.2014 Dagens forelesning Pensum Berget, G. (2010). Relasjonsdatabaser og datamodellering (3.

Detaljer

Databaser. Relasjonsmodellen 1 Læreboka: Kap. 2 Relasjonsmodellen Faglærere: Tore Mallaug, Kjell Toft Hansen

Databaser. Relasjonsmodellen 1 Læreboka: Kap. 2 Relasjonsmodellen Faglærere: Tore Mallaug, Kjell Toft Hansen Databaser Relasjonsmodellen 1 Læreboka: Kap. 2 Relasjonsmodellen Faglærere: Tore Mallaug, Kjell Toft Hansen Tema for dagen Relasjonsmodellen Hvorfor relasjoner? Fra ER diagram til relasjoner 22.09.2008

Detaljer

1. Datamodellering. 1.1. Kommentarer til læreboka

1. Datamodellering. 1.1. Kommentarer til læreboka Tore Mallaug 20.10.2009 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for fagene LN323D Databaser 1. Datamodellering Resymé: Denne leksjonen viser et par eksempler på ER-modellering

Detaljer

Hvordan designe en ER-modell med MS-VISIO

Hvordan designe en ER-modell med MS-VISIO AITeL Databaser Hvordan designe en ER-modell med MS-VISIO Kjell Toft Hansen 19. august 2003 Brukerveiledningen er forfatters eiendom. Som kursdeltaker kan du fritt bruke den til eget personlig bruk. Kursdeltakere

Detaljer

1. Introduksjon til databaser

1. Introduksjon til databaser Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Introduksjon til databaser Tore Mallaug 1.9.2008 Lærestoffet er utviklet for faget Databaser 1. Introduksjon til databaser Resymé: Denne

Detaljer

Datamodellering: ER-modeller ER = Enitity-Relationship del 1: Notasjon og oversetting av ulike ER-modeller til tilsvarende relasjonsmodeller

Datamodellering: ER-modeller ER = Enitity-Relationship del 1: Notasjon og oversetting av ulike ER-modeller til tilsvarende relasjonsmodeller LC238D http://www.aitel.hist.no/fag/_dmdb/ Datamodellering: ER-modeller ER = Enitity-Relationship del 1: Notasjon og oversetting av ulike ER-modeller til tilsvarende relasjonsmodeller ER-modellen, intro.

Detaljer

1. SQL datadefinisjon og manipulering

1. SQL datadefinisjon og manipulering Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag SQL datadefinisjon og manipulering Tore Mallaug 7.10.2008 Lærestoffet er utviklet for faget Databaser 1. SQL datadefinisjon og manipulering

Detaljer

2. Beskrivelse av mulige prosjektoppgaver

2. Beskrivelse av mulige prosjektoppgaver Avanserte databaser (øving 9, 10, 11 & 12) Tore Mallaug 25.01.2008 Opphavsrett:Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LO326D Avanserte Databaser INNLEVERINGSFRISTER (Obligatorisk

Detaljer

1. Introduksjon og bakgrunn

1. Introduksjon og bakgrunn Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Introduksjon til Databaser 2 Tore Mallaug 28.8.2012 Lærestoffet er utviklet for faget Databaser 2 1. Introduksjon og bakgrunn Resymé: I denne

Detaljer

Generelt om operativsystemer

Generelt om operativsystemer Generelt om operativsystemer Operativsystemet: Hva og hvorfor Styring av prosessorer (CPU), elektronikk, nettverk og andre ressurser i en datamaskin er komplisert, detaljert og vanskelig. Maskinvare og

Detaljer

1. Designe ER-modeller med MS Visio

1. Designe ER-modeller med MS Visio Kjell Toft Hansen 01.07.2009 Opphavsrett: Forfatter og AITeL Lærestoffet er utviklet for faget LO151D Informatikk 1- databaser 1. I dette notatet skal vi se på hvordan vi kan lage ER-modeller ved å bruke

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser INF1300 Introduksjon til databaser Data (transiente, persistente) DBMS databser informasjon interesseområdet informasjonsmodeller informasjonssystemer Transiente og persistente data Når vi programmerer,

Detaljer

Del 1: ER-modellering og databaseteori

Del 1: ER-modellering og databaseteori Del 1: ER-modellering og databaseteori (a) ER-modellering Oppgavens del 1a er delt i tre deler. I første del skal det lages et ER-diagram for databasen til firmaet Sjokoladeland. Deretter skal det lages

Detaljer

Informasjonssystemer, DBMSer og databaser

Informasjonssystemer, DBMSer og databaser UNIVERSITETET I OSLO Informasjonssystemer, DBMSer og databaser Institutt for Informatikk INF3100-21.1.2008 Ellen Munthe-Kaas 1 Interesseområdet (UoD = Universe of Discourse) Interesseområdet er en del

Detaljer

Generelt om permanent lagring og filsystemer

Generelt om permanent lagring og filsystemer Generelt om permanent lagring og filsystemer Filsystem Den delen av OS som kontrollerer hvordan data lagres på og hentes frem fra permanente media Data deles opp i individuelle deler, filer, som får hvert

Detaljer

Læreplan i informasjonsteknologi - programfag i studiespesialiserende utdanningsprogram

Læreplan i informasjonsteknologi - programfag i studiespesialiserende utdanningsprogram Læreplan i informasjonsteknologi - programfag i studiespesialiserende utdanningsprogram Fastsatt som forskrift av Utdanningsdirektoratet 3. april 2006 etter delegasjon i brev 26. september 2005 fra Utdannings-

Detaljer

1. Normalisering Kommentarer til læreboka

1. Normalisering Kommentarer til læreboka Tore Mallaug 6.11.2007 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for fagene LN323D Databaser 1. Resymé: Denne leksjonen viser et eksempel på normalisering av en liten database.

Detaljer

Datamodellering 101 En tenkt høgskoledatabase

Datamodellering 101 En tenkt høgskoledatabase Datamodellering 101 En tenkt høgskoledatabase Spesifikasjoner for databasen vi skal modellere: Oversikt over studenter med: Fullt navn Klasse Studium Avdeling Brukernavn Fødselsdag Adresse Telefonnummer

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser INF1300 Introduksjon til databaser INF1300 Introduksjon til databaser INF1300 Introduksjon til databaser INF1300 Introduksjon til databaser databaser data (transiente, persistente) informasjon interesseområdet

Detaljer

Oppsummering. Thomas Lohne Aanes Thomas Amble

Oppsummering. Thomas Lohne Aanes Thomas Amble Oppsummering Thomas Lohne Aanes Thomas Amble 14.11.04 Kapittel 2: Data Modell Mål: Data som skal brukes av applikasjonen blir spesifisert på en formell og likevel intuitiv måte. Resultat: Vi får et konseptuelt

Detaljer

Oblig 2, SLI250 Et kortfattet analyse og designdokument for skifteregister på nett

Oblig 2, SLI250 Et kortfattet analyse og designdokument for skifteregister på nett Oblig 2, SLI250 Et kortfattet analyse og designdokument for register på nett Harald Askestad haraldas@uio-pop.uio.no 2. oktober 2000 Innhold Innledning 2 2 Systemdefinisjon 2 3 Objektmodell 2 4 Funksjoner

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Data, databaser og databasehånteringssystemer Data versus informasjon Beskrivelse av interesseområdet 100%-prinsippet og det begrepsmessige

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG AVDELING FOR TEKNOLOGI Institutt for databehandling Kandidat nr.: Eksamensdato: 09.05.2005 Varighet: 0900-1200 (3 timer) Fagnummer: LO323D Fagnavn: Databaser Klasse(r): NETT 2006V

Detaljer

Databasesystemer, oversikt

Databasesystemer, oversikt Databasesystemer, oversikt Evgenij Thorstensen V18 Evgenij Thorstensen Databasesystemer, oversikt V18 1 / 23 Kurset Databasesystemer og databaser. Databaser er abstrakte objekter (datastrukturer, spørrespråk).

Detaljer

1. SQL spørringer mot flere tabeller

1. SQL spørringer mot flere tabeller 1. SQL spørringer mot flere tabeller Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag SQL spørringer mot flere tabeller Tore Mallaug 29.9.2008 Lærestoffet er utviklet for faget Databaser

Detaljer

INF 329: Web-Teknologier. Dataimplementasjon. Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004

INF 329: Web-Teknologier. Dataimplementasjon. Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004 INF 329: Web-Teknologier Dataimplementasjon Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004 av: Dag Viggo Lokøen (dagvl@ii.uib.no) Kent Inge F. Simonsen (kentis@ii.uib.no)

Detaljer

Kunnskapsorganisasjon og gjenfinning 1

Kunnskapsorganisasjon og gjenfinning 1 Kunnskapsorganisasjon og gjenfinning 1 Normalisering Tine Lodberg Frost Normalisering 14.10.2014 Dagens forelesning Pensum Berget, G. (2010). Relasjonsdatabaser og datamodellering (3. utg.). Oslo: Høgskolen

Detaljer

https://edu.hioa.no/bib1200/databaser/er-modellen/ 2 of :19 1 of :19 [Kurssidene] [ ABI - fagsider bibin ]

https://edu.hioa.no/bib1200/databaser/er-modellen/ 2 of :19 1 of :19 [Kurssidene] [ ABI - fagsider bibin ] [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hioa.no) 07/09-15 Data er de enkleste fakta om verden. Data er grunnlaget for å ha informasjon, og dermed kunnskap Data er "nøytrale" og

Detaljer

Huldt & Lillevik Ansattportal. - en tilleggsmodul til Huldt & Lillevik Lønn. Teknisk beskrivelse

Huldt & Lillevik Ansattportal. - en tilleggsmodul til Huldt & Lillevik Lønn. Teknisk beskrivelse Huldt & Lillevik Ansattportal - en tilleggsmodul til Huldt & Lillevik Lønn Teknisk beskrivelse Huldt & Lillevik er trygghet Trygghet er å vite at løsningen du bruker virker, hver eneste dag, enkelt og

Detaljer

Å bruke Java API-et til å sortere tabeller/arraylister der elementene er (referanser til) objekter

Å bruke Java API-et til å sortere tabeller/arraylister der elementene er (referanser til) objekter Sortering og søking i Java-API-et Tabeller og Arraylister Comaparable Comparator equals() LC9D Videregående programmering Semesterplan: http://aitel.hist.no/fag/vprg/index_lc9d.php Høgskolen i Sør-Trøndelag,

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Data, databaser og databasehåndteringssystemer Data versus informasjon Beskrivelse av interesseområdet Begreper og representasjon av

Detaljer

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive,

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive, 1. Last ned og installer XAMPP. 2. Sjekk at alt fungerer. 3. MySQL. Vi begynner med databaseserveren, MySQL. Gå til DOS klarmelding eller ledetekst (finnes under tilbehør på startmenyen om du ikke som

Detaljer

SQL og Mengdelære. Oracle, MySQL, Access, bruker forskjellige syntaks.

SQL og Mengdelære. Oracle, MySQL, Access, bruker forskjellige syntaks. SQL og Mengdelære Oracle, MySQL, Access, bruker forskjellige syntaks. Kan vi beskrive, hva SQL er og hva man kan gjøre med SQL, uavhengig av konkret syntaks!!! Hvilke universale formelle språk har vi til

Detaljer

Produktrapport Gruppe 9

Produktrapport Gruppe 9 Forord Dette dokumentet er ment for personer som skal vedlikeholde, endre eller utvikle systemet. Produktdokument innholder informasjoner om programmets funksjoner og hvordan de fungerer. Før bruk av dette

Detaljer

Overordnet beskrivelse

Overordnet beskrivelse N O R K A R T G E O S E R V I C E A S Desember 2010 INNHOLD 1 INTRODUKSJON... 4 2 NAVNETJENESTE... 5 3 PORTAL... 6 4 OBJEKTKATALOG... 6 5 ARKIV... 7 6 ADMINISTRASJONSPROGRAMMER... 8 7 TILGANGSAPI... 8

Detaljer

Oppgaver Oppgave a: Sett opp mulige relasjoner

Oppgaver Oppgave a: Sett opp mulige relasjoner Løsningsforslag til øving 4: Relasjonsmodellen Kjell Toft Hansen 18.09.2008 Opphavsrett: Forfatter og AITeL Lærestoffet er utviklet for faget LO151D Informatikk 1: databaser Oppgaver Oppgave a: Sett opp

Detaljer

RUTEPLANLEGGINGSSYSTEM BRUKERVEILEDNING

RUTEPLANLEGGINGSSYSTEM BRUKERVEILEDNING RUTEPLANLEGGINGSSYSTEM BRUKERVEILEDNING Prosjekt 18 Jørgen Mobekk Sørensen Morten Evje Tor Andreas Baakind Anders Gabrielsen Side 1 1 FORORD Dette dokumentet er brukerveiledningen, og skal være en veiledning

Detaljer

Utvikling fra kjernen og ut

Utvikling fra kjernen og ut Utvikling fra kjernen og ut PHP-arkitektur Brukergrensesnitt! inn ut Dynamisk web-side bygges opp på grunnlag av spørring mot databasen Utviklingsretning Applikasjon Virkelighetsmodell Plattform Bruker

Detaljer

1. Introduksjon til databaser

1. Introduksjon til databaser Institutt for informatikk og e-læring, Høgskolen i Sør-Trøndelag Introduksjon til databaser Tore Mallaug 8.9.2015 Lærestoffet er utviklet for faget Databaser 1. Introduksjon til databaser Resymé: Denne

Detaljer

Applikasjonsutvikling med databaser

Applikasjonsutvikling med databaser Applikasjonsutvikling med databaser Lars Vidar Magnusson October 12, 2011 Lars Vidar Magnusson () Forelesning i DAS 10.10.2011 October 12, 2011 1 / 24 Applikasjonsutvikling med databaser Databaser tilbyr

Detaljer

Databaser: Relasjonsmodellen, del I

Databaser: Relasjonsmodellen, del I LC238D http://www.aitel.hist.no/fag/_dmdb/ Databaser: Relasjonsmodellen, del I En relasjon er en matematisk mengde side 2 Egenskaper ved relasjoner side 3 Entitetsintegritet side 4-5 Referanseintegritet

Detaljer

Tom Røise 2/28/2007. IMT2243 : Systemutvikling 1. Forelesning IMT2243 1. mars 2007. Tema : Litteratur : Strukturert analyse. Strukturert analyse

Tom Røise 2/28/2007. IMT2243 : Systemutvikling 1. Forelesning IMT2243 1. mars 2007. Tema : Litteratur : Strukturert analyse. Strukturert analyse Forelesning IMT2243 1. mars 2007 Tema : Litteratur : Art.saml. Punkt 9 : Kap. 9. SASD - modellen, E. Andersen Metoden går ut på å anvende et sett teknikker i arbeidet med å lage gode systemmodeller /beskrivelser

Detaljer

Kurskategori 3: Utvikling av IKT- systemer. høsten

Kurskategori 3: Utvikling av IKT- systemer. høsten Kurskategori 3: Utvikling av IKT- systemer høsten Gjennom kurs i denne kategorien skal studentene opparbeide kunnskaper om og ferdigheter i å lage nettsteder, utvikle programvare og tilrettelegge for nettbasert

Detaljer

BRUKERMANUAL. Telsys Online Backup

BRUKERMANUAL. Telsys Online Backup BRUKERMANUAL Telsys Online Backup TELSYS AS - 06.08.2009 Innhold Generelt... 3 Kom i gang... 4 Installasjon av Telsys Online Backup Proff/Standard... 4 Start opp klienten for første gang!... 10 Logg inn...

Detaljer

my good friends uke 41 2015-10-05

my good friends uke 41 2015-10-05 uke 41 2015-10-05 nettskyen sikkerhet synkronisering Det er vanskelig for 60+ å forstå at når vi nå tenker på og snakker om data må vi tenke på nettskyen og ikke på PC'en. Er det sikkert å lagre data i

Detaljer

PC som hjelpemiddel i grunnskolen i Bærum kommune - informasjon til elever og foresatte

PC som hjelpemiddel i grunnskolen i Bærum kommune - informasjon til elever og foresatte Revidert 05.02.09 PC som hjelpemiddel i grunnskolen i Bærum kommune - informasjon til elever og foresatte Til foresatte og elever som har fått vedtak om pc som hjelpemiddel Når dere nå skal velge en pc

Detaljer

Filer i Linux og Bourne-again shell

Filer i Linux og Bourne-again shell Filer i Linux og Bourne-again shell Filbegrepet En fil * er en grunnleggende lagringsenhet i et OS Brukes for alle data som: Lagres utenfor RAM (primærminnet) På permanente media (sekundærminne) Definisjoner

Detaljer

JavaScriptbibliotek. Introduksjon MVVC. Informasjonsteknologi 2. Gløer Olav Langslet Sandvika VGS

JavaScriptbibliotek. Introduksjon MVVC. Informasjonsteknologi 2. Gløer Olav Langslet Sandvika VGS MVVC JavaScriptbibliotek Gløer Olav Langslet Sandvika VGS Knockout.js Informasjonsteknologi 2 Introduksjon I dag skal vi se nærmere på et JavaScriptbibliotek som heter Knockout. Knockout og andre biblioteker,

Detaljer

Generelt om operativsystemer

Generelt om operativsystemer Generelt om operativsystemer Hva er problemet? Styring av maskinvare og ressurser tilknyttet en datamaskin er komplisert, detaljert og vanskelig Maskinvare, komponenter og programvare endres og forbedres

Detaljer

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy Kapittel 13 Advanced Hypertext Implementation Martin Lie Ole Kristian Heggøy 08.11.04 Forbedring av arkitektur Problem med alt i ett -løsning: Spredning av forretningslogikk. Avhengighet mellom presentasjonssider

Detaljer

Kurskategori 3: Design av IKT- systemer. Normalt vår, 14/15: høst

Kurskategori 3: Design av IKT- systemer. Normalt vår, 14/15: høst Kurskategori 3: Design av IKT- systemer Normalt vår, 14/15: høst Gjennom kurs i denne kategorien skal studentene opparbeide kunnskaper om og ferdigheter i å lage nettsteder, utvikle programvare og tilrettelegge

Detaljer

1. Intro om SharePoint 2013

1. Intro om SharePoint 2013 Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Intro om SharePoint 2013 Stein Meisingseth 09.08.2013 Lærestoffet er utviklet for faget LO205D Microsoft SharePoint 1. Intro om SharePoint

Detaljer

Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004

Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004 Løsningsskisse, eksamen J2EE og distribuerte systemer 19.mai 2004 Oppgave 1 RMI-tjenerobjekt (databasewrapper) A Sentral tjenermaskin med database, RMi-register og RMI-tjenerprogram vis kart gjør bestilling

Detaljer

Kunnskapsorganisasjon og gjenfinning 1.1. Introduksjon til databaseteori. Tine L. Frost, Jørn Helge B. Dahl og Kim Tallerås

Kunnskapsorganisasjon og gjenfinning 1.1. Introduksjon til databaseteori. Tine L. Frost, Jørn Helge B. Dahl og Kim Tallerås Kunnskapsorganisasjon og gjenfinning 1.1 Introduksjon til databaseteori Tine L. Frost, Jørn Helge B. Dahl og Kim Tallerås Dagens forelesning Overblikk over emnet Praktisk informasjon Høstens temaer Hvorfor

Detaljer

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller.

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller. Dagens forelesning Java 13 Design av større programmer : fordeling av roller INF 101-13. mars 2003 Flere eksempler på bruk av objekter MVC-prinsippet MVC-prinsippet Flere eksempler på programmer med objekter

Detaljer

Kravspesifikasjon. Leserveiledning Kravspesifikasjonen består av følgende deler: Presentasjon Om bedriften

Kravspesifikasjon. Leserveiledning Kravspesifikasjonen består av følgende deler: Presentasjon Om bedriften Kravspesifikasjon Presentasjon Hovedprosjektet gjennomføres ved Høgskolen i Oslo, avdelingen for ingeniørutdanning. Målet med oppgaven er å utvikle en online webshop for bestilling av postkasser. Dette

Detaljer

Grunnkurs i. Windows Utforsker. Nordre Land kommune IKT-avdelingen

Grunnkurs i. Windows Utforsker. Nordre Land kommune IKT-avdelingen Grunnkurs i Windows Utforsker Nordre Land kommune IKT-avdelingen - 2 - Fil- og mappehåndtering med Windows Utforsker Innholdsfortegnelse Introduksjon...- 3 - Generelt om filbehandling...- 3 - Filbehandling...-

Detaljer

Utvikling fra kjernen og ut

Utvikling fra kjernen og ut Utvikling fra kjernen og ut Informasjonssystem bygd på et databasehåndteringssystem Brukergrensesnitt! inn ut Oppfatning av interesseområdet Flere samtidige brukere gir databasehåndteringssystemet store

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 21.mai 2007 Varighet: Fagnummer: Fagnavn: Klasse(r): Studiepoeng: 6 09.00 13.00 (4 timer) LN116D Programmering

Detaljer

INF212 - Databaseteori. Kursinnhold

INF212 - Databaseteori. Kursinnhold INF212 - Databaseteori Forelesere: Naci Akkök Ellen Munthe-Kaas Mål: Kjennskap til databasesystemer Virkemåte Implementasjon Teoretiske og praktiske problemer INF212 v2003 1 Kursinnhold Databasedesign

Detaljer

Team2 Requirements & Design Document Værsystem

Team2 Requirements & Design Document Værsystem Requirements & Design Document Høgskolen i Sørøst-Norge Fakultet for teknologi, naturvitenskap og maritime fag Institutt for elektro, IT og kybernetikk SRD 22/01/2018 Systemutvikling og dokumentasjon/ia4412

Detaljer

Databaser & objektorientering.

Databaser & objektorientering. Databaser & objektorientering. Noen grunnbegreper innen objektorientering. Klasser og forekomster klasser beskriver strukturen for noe. Beskrivelsen inneholder: et navn attributter /egenskaper / tilstander

Detaljer

AlgDat 12. Forelesning 2. Gunnar Misund

AlgDat 12. Forelesning 2. Gunnar Misund AlgDat 12 Forelesning 2 Forrige forelesning Følg med på hiof.no/algdat, ikke minst beskjedsida! Algdat: Fundamentalt, klassisk, morsomt,...krevende :) Pensum: Forelesningene, oppgavene (pluss deler av

Detaljer

Maestro Klientadministrasjon

Maestro Klientadministrasjon Maestro Klientadministrasjon 17.11.2011 12:41 Side 1 av 32 Innhold Installasjon av Maestro Klientadministrasjon Kravspesifikasjon Systemoversikt og installasjon i korte trekk Installasjon punktvis 1 Nedlasting

Detaljer

Hvorfor objektorientert programmering? Objektorientert programmering i Python: Introduksjon. Læringsmål uke 7. Undervisning og pensum IN1000

Hvorfor objektorientert programmering? Objektorientert programmering i Python: Introduksjon. Læringsmål uke 7. Undervisning og pensum IN1000 Objektorientert programmering i Python: Introduksjon IN1000 Høst 2019 uke 7 Siri Moe Jensen Læringsmål uke 7 Kjenne til motivasjon og bakgrunn for objektorientert programmering Kunne definere en klasse,

Detaljer

Brukerdokumentasjon for LabOra portal - forfattere

Brukerdokumentasjon for LabOra portal - forfattere Brukerdokumentasjon for LabOra portal - forfattere Skin: Dnnbest-Grey-Skin1024 Skin: Metro7 Custom LabOra web-portal er et web-basert publiseringsprogram for publisering av informasjon på hjemmesider.

Detaljer

Mamut Open Services. Mamut Kunnskapsserie. Kom i gang med Mamut Online Survey

Mamut Open Services. Mamut Kunnskapsserie. Kom i gang med Mamut Online Survey Mamut Open Services Mamut Kunnskapsserie Kom i gang med Mamut Online Survey Kom i gang med Mamut Online Survey Innhold MAMUT ONLINE SURVEY... 1 KOM I GANG MED MAMUT ONLINE SURVEY... 3 MAMUT-BRUKERE: OPPRETT

Detaljer

Scan Secure GTS 5.1 + PAS

Scan Secure GTS 5.1 + PAS Scan Secure GTS 5.1 + PAS Installasjonsmanual For versjon 5.1.7 og nyere Denne installasjonsmanualen er konfidensiell Den er kun ment til bruk for system administrator Den skal ikke benyttes av brukere

Detaljer

Databaser. Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen

Databaser. Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen Databaser Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen Tema for dagen Hva er relasjonsalgebra? Seleksjon Projeksjon Produkt Indre forening Ytterforening Settoperasjoner: union, snitt, differanse

Detaljer

Distribuerte objekter og objekt-basert mellomvare

Distribuerte objekter og objekt-basert mellomvare Distribuerte objekter og objekt-basert mellomvare INF 5040 H2004 foreleser: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Hvorfor objekt-basert distribuert mellomvare?! Innkapsling " naturlig tilnærming

Detaljer

Hvorfor objektorientert programmering?

Hvorfor objektorientert programmering? Objektorientert programmering i Python: Introduksjon IN1000 Høst 2019 uke 7 Siri Moe Jensen Læringsmål uke 7 Kjenne til motivasjon og bakgrunn for objektorientert programmering Kunne definere en klasse,

Detaljer

Distribuerte objekter og objekt-basert mellomvare

Distribuerte objekter og objekt-basert mellomvare Distribuerte objekter og objekt-basert mellomvare INF 5040 H2006 foreleser: Frank Eliassen INF5040 Frank Eliassen 1 Hvorfor objekt-basert distribuert mellomvare? Innkapsling naturlig tilnærming til utvikling

Detaljer

Eksamen i IBE 210 - Databaser H 2008

Eksamen i IBE 210 - Databaser H 2008 Avdeling for økonomi, informatikk og samfunnsfag Eksamen i IBE 210 - Databaser H 2008 Eksamensdag : 5 desember 2008 Tid : 9.00 13.00 Faglærer/telefonnummer : Arne Løkketangen 99690939 Hjelpemidler : Alle

Detaljer

Hurtigstartveiledning

Hurtigstartveiledning Hurtigstartveiledning Microsoft Access 2013 ser annerledes ut enn tidligere versjoner, så vi har laget denne veiledningen for å gjøre det enklere for deg å bli kjent med Access. Endre skjermstørrelsen,

Detaljer

Operativsystemer og grensesnitt

Operativsystemer og grensesnitt Operativsystemer og grensesnitt Ulike måter å bruke OS'et på Application Program Interface (API) Applikasjoner (ofte C-programmer) som f.eks. emacs, som bruker tjenestene i OS ved å kalle på funksjoner

Detaljer

Sikkerhet og tilgangskontroll i RDBMS-er

Sikkerhet og tilgangskontroll i RDBMS-er Sikkerhet og tilgangskontroll i RDBMS-er IN2090 14. nov 2018 Mathias Stang 1 Agenda Modeller for tilgangskontroll Brukere og roller i RDBMS-er GRANT og REVOKE SQL Injections 2 Hovedmål med databasesikkerhet

Detaljer

Oblig 5 Webutvikling. Av Thomas Gitlevaag

Oblig 5 Webutvikling. Av Thomas Gitlevaag Oblig 5 Webutvikling Av Thomas Gitlevaag For oppgave 1 og 2 skal dere levere en funksjonell webside på deres hjemmeområde. Dere skal også levere alle phps-filene slik at man for en hver side kan slenge

Detaljer

Åsveien 9, 3475 Sætre Telefon: +4731305656 Mobiltelefon: +4790840810 Faks: +4731305852 E-post: rontech@rontech.no www.rontech.no.

Åsveien 9, 3475 Sætre Telefon: +4731305656 Mobiltelefon: +4790840810 Faks: +4731305852 E-post: rontech@rontech.no www.rontech.no. Åsveien 9, 3475 Sætre Telefon: +4731305656 Mobiltelefon: +4790840810 Faks: +4731305852 E-post: rontech@rontech.no www.rontech.no Gekab Merkesystem - Snarvei til mer effektiv merking Systemet er beregnet

Detaljer

Brukermanual for Quizbuilder

Brukermanual for Quizbuilder Brukermanual for Quizbuilder 1. juni 2010 Innhold 1 Installasjon av Quizbuilder 2 1.1 Installasjon fra Kildekode........................ 2 1.2 Installasjon fra Zip-fil.......................... 2 2 Quizbuilder

Detaljer

8. ASP med databasekopling, del I

8. ASP med databasekopling, del I Else Lervik 16.03.2004 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LV192D Web-programmering med ASP 8. Resymé: Leksjonen begynner med en generell introduksjon til databaser

Detaljer

INF130: Datahåndtering og analyse

INF130: Datahåndtering og analyse INF130: Datahåndtering og analyse Modellering 1.1 Temaer Kapittel 7 Modellering 2 Datamodellering med E/R Fasene i systemutvikling og databasedesign E/R (Entity/Relationship) Entitet Attributt Identifikator

Detaljer

PROSESSDOKUMENTASJON

PROSESSDOKUMENTASJON PROSJEKT NR.: 10-30 Studieprogram: Anvendt Datateknologi Postadresse: Postboks 4 St. Olavs plass, 0130 Oslo Besøksadresse: Holbergs plass, Oslo TILGJENGELIGHET: Papir og elektronisk Telefon: 22 45 32 00

Detaljer

Peer-to-Peer systemer

Peer-to-Peer systemer Peer-to-Peer systemer Bakgrunn Oversikt Taksonomi Applikasjonsområder Modeller Mats Thoresens diplom 2003 1 2 Hva er Peer-to-Peer? Peer node i et nettverk Noder i en arkitektur kommuniserer og deler ressurser

Detaljer

Verktøy for boligkartlegging

Verktøy for boligkartlegging Verktøy for boligkartlegging Rapporter Versjon 3.0 Opprettet 15.05.2005 av Pål Guddal Sist endret 23.01.2007 av André Teig Bli kjent med Bokart- Rapporter Side 2 Hva er filter, og hva brukes de til? Filter

Detaljer

Innsending av timelister. Timeliste. Innsending

Innsending av timelister. Timeliste. Innsending Innsending av timelister Timeliste Innsending 2 Hva? Manpower benytter timeregistrering og kundeattestasjon via Internett for sine eksterne medarbeidere og kunder. Det følgende er en kort presentasjon

Detaljer

Verktøy for boligkartlegging

Verktøy for boligkartlegging Verktøy for boligkartlegging Rapporter. Versjon 2 Helse og Velferd - Norge Stasjonsgata 37, NO-1820 Spydeberg - Tlf: + 47 90 12 45 50, Faks: + 47 69 83 87 10 - www.tietoenator.com Bli kjent med Bokart-

Detaljer

Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models

Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models LC238D Datamodellering og databaser http://www.aitel.hist.no/fag/_dmdb/ Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models Oppsummering: Å oversette fra ER- til relasjonsmodell

Detaljer

Stikkord: Java EE, EJB, JSF, JPA, SWT, klient/tjener, Glassfish server, Application Client.

Stikkord: Java EE, EJB, JSF, JPA, SWT, klient/tjener, Glassfish server, Application Client. Stikkord: Java EE, EJB, JSF, JPA, SWT, klient/tjener, Glassfish server, Application Client. Studenter: Magnus Skomsøy Bae, Marius Eggen, Magnus Krane Klasse: 3ING, Systemutvikling Produserer redaksjonelle

Detaljer

>>21 Datamodellering i MySQL Workbench

>>21 Datamodellering i MySQL Workbench 21 MYSQL WORKBENCH 207 >>21 Datamodellering i MySQL Workbench I dette kapittelet vil du lære hvordan man lager datamodeller i MySQL Workbench hvordan man overfører en modell til MySQL I tillegg til å være

Detaljer

Romlig datamanipulering

Romlig datamanipulering Romlig datamanipulering Gunnar Tenge, 18.04.08 Romlige manipuleringsteknikker brukes i GIS-analyser. I denne artikkelen forklares alle manipuleringsteknikker som man kan forvente å finne i et GIS-program.

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.

Detaljer

Forprosjektrapport for Agresso R&D Ansettelsessystem 31.01.07. Hovedprosjekt våren 2007. Skrevet av:

Forprosjektrapport for Agresso R&D Ansettelsessystem 31.01.07. Hovedprosjekt våren 2007. Skrevet av: Forprosjektrapport for Agresso R&D Ansettelsessystem Hovedprosjekt våren 2007 31.01.07 Skrevet av: Anders Hartvoll Ruud Christian Årving Leif Martin Næss Sahdia Fayyaz Moghal 1 Sammendrag Prosjektittel:

Detaljer

Kravspesifikasjon MetaView

Kravspesifikasjon MetaView Kravspesifikasjon MetaView BACHELOROPPGAVE VÅREN 2014 1. Presentasjon Tittel: MetaView Oppgave: Lage en applikasjon og api som skal kommunisere med MetaVision slik at det skal bli enklere for leger og

Detaljer