DBS1: Databases and database users
|
|
- Magnar Corneliussen
- 7 år siden
- Visninger:
Transkript
1 Side 1 for Databaser DBS1: Databases and database users onsdag 10. februar Databaser og databasebrukere Forskjellige typer databaser Tradisjonell database: Informasjonen er enten tekstlig eller numerisk. Big data / NOSQL: Brukes ofte i forbindelse med sosiale medier, eller skylagring. Litt flere applikasjoner Multimedia databaser: For lagring av bilder, videoer og audio. Geographic Information Systems (GISs): Brukes for å lagre og analysere kart, værdata og satellittbilder. Data-varehus og Online Analytical Processing (OLAP): Brukes av selskaper til å utvinne og analysere forretningsinformasjon fra store databaser som hjelp ved bestemmelser. 1.1 Introduksjon Databaser og data Manuelt styrt eller datastyrt Databasehåndteringssystem DBMS, database management system En database er en samling av data. Data er kjente fakta som kan lagres og har en implisitt mening. En database har følgende egenskaper: Representerer aspekter ved den ekte verden, ofte kalt miniverden eller universe of discourse (UoD). En database er en logisk samling av data som gir mening. En database er designa, bygd og fylt med data til et spesifikt formål. For at en database skal være korrekt og pålitelig, må endringer som skjer i miniverdenen skje i databasen så fort som mulig. En database kan være manuelt styrt eller datastyrt (og vi er interessert i sistnevnte). Et databasehåndteringssystem er et datastyrt system som gjør det mulig for brukere å lage og opprettholde en database. DBMS skal kunne definere, konstruere, manipulere og dele databaser blant brukere og applikasjoner. Å definere en database, involverer å spesifisere datatyper, strukturer og begrensninger. Denne blir lagret i form av en database-katalog, og blir kalt metadata. Å konstruere en database er det å lagre dataen på et lagringsmedium som blir kontrollert av DBMS-en. Å manipulere en database inkluderer funksjoner som å utføre spørringer for å hente data, oppdatere for å speile miniverdenen og å generere rapporter fra dataen. Deling av databasen gir flere brukere og programmer/applikasjoner tilgang til databasen samtidig. Andre viktige tjenester: Beskytte dataen og opprettholde den over lang tid. Man må stole på at dataen ikke forsvinner uten videre. Databasen må være i stand til å utvikle seg, når kravene
2 Side 2 for Databaser Applikasjoner Spesifikk DBMS Databasesystem endres. Bruker databasen til å gjøre spørringer (queries) og forespørsler om data til DBMS-en. En spørring gjør typisk at data blir hentet, og en transaksjon kan gjøre at data blir lest og skrevet til databasen. Det er også mulig å lage spesifikke databasehåndteringssystemer som fungerer for spesifikke applikasjoner. En database sammen med et databasehåndteringssystem utgjør et databasesystem. 1.2 Et eksempel Eksempelet Designe en database eller en ny applikasjon for en database står på side 6-7. Det er ikke så veldig heftig, men handler litt om forrige delkapittel. Begynner med fasen kravspesifikasjon og analyse, som blir dokumentert og gjort om til et konseptuelt design (ER-modeller er et eksempel på dette). Deretter blir designet oversatt til et logisk design som er uttrykt som en datamodell implementert i en kommersiell DBMS (for eksempel mysql). Til slutt kommer det fysiske designet, der spesifikasjoner for å lagre og få tilgang til databasen er satt. 1.3 Karakteristikker ved databasetilnærmingen Hovedkarakteristikker Ift. Tradisjonelle filsystem Selvbeskrivende natur av et databasesystem: Et databasesystem inneholder ikke kun databasen, men også en komplett definisjon av databasens struktur og begrensninger (lagret i katalogen, metadata). Altså en generell DBMS refererer til katalogen for å vite om strukturen til en database. Nyere databasesystemer (som NOSQL) kan ha metadataen som en del av dataen. I tradisjonell filprosessering er datadefinisjon typisk en del av applikasjonene. Isolering mellom programmer og data, og dataabstraksjon: Strukturen til datafilene er lagret i DBMS-katalogen, adskilt fra programmene som har tilgang til databasen. Støtte for flere views: Deling av data og mulig for flerbruker transaksjoner: Selvbeskrivende natur av et databasesystem Databasesystem Et databasesystem inneholder ikke kun databasen, men også en komplett definisjon av databasens struktur og begrensninger (lagret i katalogen, metadata). Altså en generell DBMS refererer til katalogen for å vite om strukturen til en database. Filsystem Nyere databasesystemer (som NOSQL) kan ha metadataen som en del av dataen. I tradisjonell filprosessering er datadefinisjon typisk en del av applikasjonene.
3 Side 3 for Databaser Isolering mellom programmer og data, og dataabstraksjon Programdatauavhengighet Programoperasjonuavhengighet Dataabstraksjon Strukturen til datafilene er lagret i DBMS-katalogen, adskilt fra programmene som har tilgang til databasen. I noen databasesystemer (objektorienterte, objektrelasjonelle) kan man definere operasjoner på dataen som en del av databasedefinisjonen. En operasjon består av to deler: 1) Interface (grensesnitt, signatur) av operasjonen består av navnet og argumentene. 2) Implementasjonen (metoden) av operasjonen er separat spesifisert og kan endres. Brukere kan kalle på operasjonene uavhengig av hvordan de er implementert, og dette er programoperasjonsuavhengighet. Egenskapene programdatauavhengighet og programoperasjonsuavhengighet heter dataabstraksjon. En DBMS gir brukere en konseptuell representasjon av data, som ikke inkluderer hvordan dataen er lagret eller operasjonene er implementert. En datamodell er en type abstraksjon Støtte for flere brukerutsnitt (view) av dataen Brukerutsnitt, views En database har mange forskjellige brukere som kan trenge forskjellige perspektiv av dataen. Et view kan være en delmengde av dataen, eller inneholde virtuell data som er avledet fra databasefilene, men ikke eksplisitt lagret Deling av data og flerbruker-transaksjonsprossessering Flerbruker-DBMS OLTP-applikasjoner Online Transaction Processing Transaksjon Isolasjon Atomitet Må la flere brukere få tilgang til databasen samtidig. Må inneholde samtidighetskontroll-programvare (concurrency control software), for å forsikre at resultatet blir korrekt når flere brukere prøver å oppdatere data samtidig. Applikasjoner der flere kan oppdatere data samtidig. En transaksjon er et kjørende program eller prosess som inkluderer en eller flere database-tilganger, som å lese eller oppdatere databasen. Hver transaksjon ser ut til å bli kjørt isolert fra andre transaksjoner, selv om flere hundre transaksjoner kan bli kjørt samtidig. Enten blir alle databaseoperasjoner kjørt i en transaksjon, ellers så blir ingen operasjoner kjørt (det gjøres ikke halvveis). 1.4 Skuespillere på en scene - De som bruker databasen fra dag til dag Databaseadministratorer DBA Databaseadministrator Ansvarlig for autorisasjon av tilgang til databasen, koordinering og overvåking av bruk, og anskaffelse av nødvendig programvare og maskinvare. DBA-en står ansvarlig for sikkerhetshull og dårlig responstid. I
4 Side 4 for Databaser store firmaer er DBA-en assistert av en stab Database-designere Database-designere Ansvarlig for - Å identifisere dataen som skal lagres i databasen. - Velge passende strukturer for å lagre og representere denne dataen. Database-designere kommuniserer med alle typer brukere av systemet for å forstå deres krav, og for å lage et design som møter disse. Det ferdige designet må møte kravet til alle brukere Sluttbrukere Sluttbrukere Casual end users "Uformelle sluttbrukere" Naive sluttbrukere Eller parametriske sluttbrukere Sofistikerte sluttbrukere De som trenger tilgang til databasen for spørringer, oppdateringer og generering av rapporter. Det er disse databasen primært eksisterer for. Bruker databasen en gang i blant, og trenger forskjellig informasjon hver gang. De bruker typisk et sofistikert databasespørringsgrensesnitt. Som regel mellomledere eller ledere. De utgjør en stor del av databasebrukerne. De oppdaterer og leser databasen ved å bruke standard spørringer og oppdateringer, kalt "canned transactions", som er nøye programmert og testet. Mange av disse oppgavene kan gjøres på mobilapper. Eksempler: Bankkunder og bankkasserere som sjekker saldo, gjør uttak og inntak. Sjekke ledighet av flybilletter, hotellrom, biler og lignende. Ingeniører, forskere, forretningsanalytikere og andre som gjør seg kjent med mulighetene til DBMS for å implementere egne applikasjoner som skal møte deres komplekse krav. Har sine egne personlige databaser, ved å bruke ferdiglagde programpakker som tilbyr enkle menybaserte eller grafikkbaserte grensesnitt Systemanalytikere og applikasjonsprogrammerere Systemanalytikere Frittstående sluttbrukere Applikasjonsprogrammerere 1.5 Arbeiderne bak scenen De bak scenen DBMS-systemdesignere og implementerere Setter kravene til sluttbrukerne, spesielt naive og parametriske sluttbrukere, og utvikler spesifikasjoner for standard "canned" transaksjoner som møter disse kravene. Implementerer spesifikasjonene som programmer. De tester, debugger, dokumenterer og opprettholder disse hermetiske transaksjonene. er typisk ikke interessert i selve innholde i databasen. Designer og implementerer DBMS-modulene og grensesnittene som en programvarepakke. Moduler kan være for eksempel katalogen, spørringsspråkprosessering, grensesnittprosessering. De må også sørge for at DBMS-en har grensesnitt mot annet
5 Side 5 for Databaser Tool developers Verktøy-uviklere Operatorer og systemvedlikeholds personale systemprogramvare som operativsystem og programmeringsspråk. Verktøy-utviklere designer og implementerer verktøy, programvarepakker som forenkler databasemodellering og design, databasesystem-design og forbedret ytelse. Disse verktøyene er ofte kjøpt separat. Disse er ansvarlige for den faktiske kjøringen og vedlikeholdet av maskinvaren og programvaren til databasen. 1.6 Fordeler med å bruke DBMS-fremgangsmåten Kontroll av redundans Kontroll av redundans (overflødighet) I databaser kan man lagre dataen få steder, slik at det ikke blir redundans. Man slipper dermed at data må oppdateres flere steder, man sparer lagringsplass og man kan unngå at filer blir inkonsistente. Normalisering går ut på at data bare skal lagres én plass. Noen ganger er man likevel interessert i å få enklere spørringer, slik at man bruker kontrollert redundans, og lagrer data flere steder. Denormalisering er når man setter all data sammen. Da er det viktig at dette er kontrollert for å unngå inkonsistens Begrense uautorisert tilgang En DBMS burde tilby en sikkerhets- og autorisasjondelsystem, som databaseadministratoren kan bruke til å opprette kontoer og spesifisere kontobegrensninger. Så skal DBMS-en kunne håndheve disse restriksjonene automatisk, slik at ikke alle har tilgang til all data. Dette kan også gjøres med DBMS-programvaren. For eksempel kan det være at bare dataadministrasjonsstabben har tilgang til visse program, som den man bruker til å lage nye kontoer med Tilby persistent lagring for programobjekter Objektorienterte databasesystem Siden et objekt forsvinner når man avslutter programmet, må man ofte konvertere dem til et passende format og eksplisitt lagre dem. Tradisjonelle databasesystem Et objektorientert databasesystem er kompatibelt med objektorienterte programmeringsspråk som java og c++, og gjør de nødvendig konverteringene som må til for lagring av objekter. Et objekt som "overlever" avslutningen av et program er persistent. Slet ofte med "impedance mismatch"-problem, siden datastrukturen til DBMS-en ikke var kompatibel med programmeringsspråkstrukturene Tilby lagringsstrukturer og søketeknikker for effektiv spørringsprosessering Spørringer og oppdatering Indekser Hurtigbuffer-modul Databasesystemer må tilby muligheter for å effektivt utføre spørringer og oppdateringer, altså må man kunne kjapt søke opp i på harddisken etter ønsket data. Blir ofte brukt til dette. Man lagrer ting i trestruktur eller ved hjelp av hashing, som er utviklet for å passe til søk på disker. En DBMS har ofte en hurtigbuffer-modul som har deler av
6 Side 6 for Databaser Hvorfor ikke i operativsystemet? Query processing and optimization-modul databasen i hovedminnet. Siden databufring er vesentlig for DBMS-ytelsen, gjør DBMS-er ofte sin egen databufring, i stedet for at dette gjøres i operativsystemet. Ansvarlig for å velge en effektiv spørringsutføringsplan for hver spørring, basert på eksisterende lagringsstrukturer Backup og gjenoppretting En DBMS må ha tjenester for gjenoppretting fra maskinvare og programvarefeil. Backup and recovery subsystem-delen av DBMS-en er ansvarlig for dette. Hvis systemet for eksempel skulle krasje midt i en kompleks oppdateringstransaksjon, må systemet gjenopprettes til den tilstanden det var i før krasjen Tilby flere brukergrensesnitt Forskjellig kunnskap Siden et databasesystem har mange forskjellige brukere med varierende teknisk kunnskap, må en DBMS tilby flere forskjellige brukergrensesnitt Representasjon av komplekse relasjoner mellom data En DBMS må ha muligheten til å representere mange forskjellige komplekse forhold i blant dataene. definere nye forhold når de dukker opp. kunne hente og oppdatere relaterte data enkelt og effektivt Håndheve integritetsbegrensninger Backup og gjenoppretting Integritetsbegrensninger Integrity Constraints De fleste databaseapplikasjoner har visse integritetsbegrensninger som må gjelde for dataene. En DBMS skal kunne tilby muligheter for å definere og håndheve disse begrensningene. Noen begrensninger kan bli spesifisert i DBMS-en og automatisk bli håndhevet. Andre begrensninger må typisk bli sjekket når man oppdaterer eller legger inn data. Referanseintegritet Nøkkelintegritet Inherent rules For svære applikasjoner er det vanlig å kalle slike begrensninger for business rules. Når for eksempel alle hunder må ha en eier. Når for eksempel alle hunder må ha et unikt registreringsnummer. Regler som gjelder for visse datamodeller. For eksempel, i ERmodeller må en relasjon være koblet til minst to entitetsklasser Tillate inferencing og handlinger, med regler og triggere. Deduktive databasesystem Triggere Lagrede prosedyrer Databasesystem som gir mulighet for å definere deduksjonsregler for å trekke konklusjoner fra ny informasjon i databasen. Triggere kan assosieres med tabeller. En trigger er en slags regel som blir aktivert når tabellen oppdateres, og kan resultere i ytterligere operasjoner gjort på andre tabeller, sending av meldinger osv. Kan også brukes til å håndheve regler i databasen, og er mer
7 Side 7 for Databaser Aktive databasesystem "involverte", altså ikke nødvendigvis knyttet til én tabell, men blir kalt når visse betingelser er oppfylt. Tilbyr aktive regler som automatisk initierer handlinger ved visse hendelser eller betingelser. Mer lesing Deduktive databasesystem: Kapittel 26.5 Aktive databasesystem: Kapittel Ytterligere implikasjoner ved å bruke databasetilnærmingen Potensiale for å bruke standarder Redusert applikasjonsutviklingstid Fleksibilitet Tilgjengelig up-to-date informasjon Økonomisk skalering 1.7 Historie - ikke notert Ved å bruke databaser, får databaseadministratoren muligheten til å definere og håndheve standarder blant databasebrukere i en stor organisasjon. Dette kan gi bedre kommunikasjon og samarbeid mellom avdelinger, prosjekter og brukere i organisasjonen. Med en database tar det mye mindre tid å utvikle en ny applikasjon. Moderne DBMS-er gir mulighet for visse endringer av strukturen til databasen, uten at gammel data eller gamle applikasjoner blir påvirket. En DMBS gjør databasen tilgjengelig for alle brukere - så fort én brukers endringer er gjort på databasen, vil denne være tilgjengelig hos alle andre brukere. En DBMS-tilnærming gir mulighet for komprimering av data og applikasjoner, slik at overlapp mellom aktiviteter og dataprosessering i forskjellige prosjekter og avdelinger blir redusert. Redundans i applikasjoner blir også redusert. 1.8 Når skal man ikke bruke et databasehåndteringssystem? Grunner til unødvendige kostnader Grunner til å utvikle tilpassede databaseapplikasjoner 1.9 Sammendrag - ikke notert Store investeringer i maskinvare, programvare og trening i begynnelsen. Generaliteten en DBMS tilbyr for definering og prosessering av data. Overhead for sikkerhet, samtidighetskontroll, gjenoppretting og integritetsfunksjoner. Enkle, veldefinerte databaseapplikasjoner som ikke er forventet å endres i det hele tatt Strenge, sanntidskrav for visse applikasjoner som ikke blir møtt på grunn av DBMS overhead. Embeddede (innesluttede) systemer med begrenset lagringskapasitet, der en generell DBMS ikke ville passet. Ingen behov for flerbrukertilgang.
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
DetaljerINF1300 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,
DetaljerGenerelt 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
DetaljerApplikasjonsutvikling 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
DetaljerGJENNOMGANG UKESOPPGAVER 9 TESTING
GJENNOMGANG UKESOPPGAVER 9 TESTING INF1050 V16 KRISTIN BRÆNDEN 1 A) Testing viser feil som du oppdager under kjøring av testen. Forklar hvorfor testing ikke kan vise at det ikke er flere gjenstående feil.
DetaljerSolidPlant er perfekt for deg som jobber med design av rørsystemer og anlegg, og er kjent med SolidWorks.
SolidPlant, det eneste virkelig spesifikasjonsstyrte anleggsdesign programmet for SolidWorks. Ved å kombinere intuitive parametrisk styrte SolidWorks med en sofistikert database for å generere alle komponenter
DetaljerINF1300 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
DetaljerGenerelt 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
DetaljerGenerelt 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
DetaljerINF1300 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
Detaljer1. 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
DetaljerInnhold Forord Innledning Kapittel 1 Introduksjon til databaser og databasesystem
Innhold Forord....................................................... 5 Innledning.................................................... 15 Databaser som basis i grunnopplæringen....................... 15
Detaljer1. 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
DetaljerEt større programeksempel. Hvordan løse et reelt problem med en objektorientert fremgangsmåte
Et større programeksempel Hvordan løse et reelt problem med en objektorientert fremgangsmåte Plan for forelesingen Beskrive en større problemstilling Planlegge programmet Skrive koden, én klasse om gangen
DetaljerParallelle og distribuerte databaser del III
UNIVERSITETET I OSLO Parallelle og distribuerte databaser del III NoSQL og alternative datamodeller Institutt for Informatikk INF3100 20.4.2015 Ellen Munthe-Kaas 1 NoSQL NoSQL er et paraplybegrep som omfatter
DetaljerITGK - 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
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: ORM og normalisering Denormalisering og splitting Transaksjonshåndtering INF1300 17.11.2010 Ellen Munthe-Kaas 1 ORM og normalisering
DetaljerINF1300 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
DetaljerProsjektoppgave: Bildedatabase. TDT4145 Datamodellering og Databasesystemer. Våren 2007
Prosjektoppgave: Bildedatabase TDT4145 Datamodellering og Databasesystemer Våren 2007 NB! Kun for de som ikke tar fellesprosjektet. Innledning I løpet av de siste årene har det blitt stadig mer vanlig
DetaljerFunksjonalitet og oppbygning av et OS (og litt mer om Linux)
Funksjonalitet og oppbygning av et OS (og litt mer om Linux) Hovedfunksjoner i et OS OS skal sørge for: Styring av maskinvaren Deling av maskinens ressurser Abstraksjon vekk fra detaljer om maskinvaren
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: SQL: Outer join Denormalisering og splitting Transaksjoner og ACID-reglene DBMSer en introduksjon til INF3100 INF1300 19.11.2007 Ragnar
DetaljerINSTALLASJONSVEILEDNING
INSTALLASJONSVEILEDNING Oppdatering av ditt Mamut-system DETALJERT STEG-FOR-STEG VEILEDNING I HVORDAN OPPDATERE DIN VERSJON AV MAMUT BUSINESS SOFTWARE FRA VERSJON 9.0 ELLER NYERE Mamut Kunnskapsserie,
Detaljerprogrameksempel Et større En større problemstilling Plan for forelesingen Problemstillingen (en tekstfil) inneholdt ordet "TGA"
Et større programeksempel Hvordan løse et reelt problem med en objektorientert fremgangsmåte En større problemstilling I uke 4 skrev vi et program for å sjekke om et gen (en tekstfil) inneholdt ordet "TGA"
DetaljerCORBA Component Model (CCM)
CORBA Component Model (CCM) INF5040 Høst 2005 Erlend Birkedal Jan Erik Johnsen Tore Ottersen Løkkeberg Denne presentasjonen CORBA Svakheter ved CORBA Object Model Komponenter CORBA Component Model Hva
DetaljerDatabasesystemer, 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).
DetaljerOM 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
DetaljerTDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum
1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum 2 Læringsmål Mål Introduksjon til filer (som inndata og utdata) Å bruke
DetaljerInnhold uke 7. Objektorientert programmering i Python: Introduksjon. Lite tilbakeblikk: Programflyt og skop. Lite tilbakeblikk: Funksjoner er uttrykk
Innhold uke 7 Objektorientert programmering i Python: Introduksjon IN1000 Høst 2017 uke 7 Siri Moe Jensen Lite tilbakeblikk: Prosedyrer og funksjoner Objektorientert programmering Introduksjon: Hvorfor,
DetaljerScan 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
DetaljerPlan for dagen. Vprg 4. Dagens tema - filbehandling! Strømmer. Klassen FilLeser.java. Tekstfiler
Plan for dagen Vprg 4 LC191D Videregående programmering Høgskolen i Sør-Trøndelag Avdeling for informatikk og e-læring Anette Wrålsen Del: Intro til tekstfiler Del II: Mer om tekstfiler, Scanner-klassen
DetaljerTirsdag 21/11. Onsdag 24/11. Tirsdag 12/12. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case Terje Rydland - IDI/NTNU 2 Fram mot eksamen Tirsdag 21/11 Repetisjon. Send inn behov/ønsker til : terjery@idi.ntnu.no
DetaljerAlgDat 10. Forelesning 2. Gunnar Misund
AlgDat 10 Forelesning 2 Oversikt Java repetisjon IDE eller teksteditor + kommandolinje? Java Collections and Generics Programvareutvikling En mengde mer eller mindre veldefinerte metoder (software engineering):
DetaljerOblig 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
DetaljerDemo for første sprint
Demo for første sprint Første sprint for einnsyn PoC Dette dokumentet beskriver det som er utviklet og testet i den første sprinten fra 8. til 19.februar (to uker). Leveransen i forhold til arkitekturforslaget
DetaljerCharacteristics of a good design
Characteristics of a good design (PPT. side 1) Innledning Høykvalitetsdesign bør ha visse karakteristikker for å oppnå kvalitetsprodukter, dvs.: enkelt å forstå enkelt å implementere enkelt å teste enkelt
DetaljerLæringsmål og pensum. Oversikt. Systemprogramvare Operativsystemer Drivere og hjelpeprogrammer. To hovedtyper programvare
1 2 Læringsmål og pensum TDT4105 Informasjonsteknologi grunnkurs: Uke 36 programvare Førsteamanuensis Alf Inge Wang Læringsmål Forstå hva systemprogramvare og applikasjonsprogramvare er Forstå hvordan
DetaljerProsjektoppgave: Bildedatabase. TDT4145 Datamodellering og Databasesystemer. Våren 2008
Prosjektoppgave: Bildedatabase TDT4145 Datamodellering og Databasesystemer Våren 2008 NB! Kun for de som ikke tar fellesprosjektet. Innledning I løpet av de siste årene har det blitt stadig mer vanlig
DetaljerOperativsystemer 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
DetaljerOptimalJ-kurs UIO Oppsummering av kurset. De ulike modellene egenskaper og formål
OptimalJ-kurs UIO 2004 Agenda Time 1: Oppsummering av kurset Time 2: De ulike modellene egenskaper og formål Team Development med OptimalJ Domain Patterns Egenutviklede transformasjoner (krever Architect
DetaljerEtter uke 6 skal du. Introduksjon til objektorientert programmering. Hva skjedde ~1967? INF1001. Grunnkurs i objektorientert programmering
Etter uke 6 skal du Kjenne til motivasjonen for objektorientert programmering Introduksjon til objektorientert programmering INF1001 Høst 2016 Forstå hva en klasse er, og forskjellen på klasse og objekt
DetaljerMamut Business Software
Mamut Business Software Enkel installasjonsveiledning Innhold Før installasjon 3 Om programmet 3 Om installasjon 4 Under installasjon 5 Betingelser for installasjon 5 Slik installerer du: Enbruker 6 Etter
DetaljerLæ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-
DetaljerIntroduksjon til kurset og dets innhold
til kurset og dets innhold Lars Vidar Magnusson September 4, 2011 Oversikt Forelesninger Kursets fagsider Øvingstimer Kunnskap Ferdigheter 1 Forelesninger Kursets fagsider Øvingstimer Kunnskap Ferdigheter
DetaljerDBS22 Databasegjenopprettingsteknikker
Side 1 for Databaser DBS22 Databasegjenopprettingsteknikker onsdag 1. juni 2016 21.49 Pensum: 22.1-22.5, side 813-831 22.1 Gjenopprettingskonsepter 22.1.1 Recovery outline and categorization of recovery
DetaljerSikkerhet 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
DetaljerIntroduksjon til programmering og programmeringsspråk. Henrik Lieng Høgskolen i Oslo og Akershus
Introduksjon til programmering og programmeringsspråk Henrik Lieng Høgskolen i Oslo og Akershus Kategorisering av programmeringsspråk? Deklarativ vs. imperativ Lav nivå vs. høy nivå Kompilert vs. tolket
DetaljerTechnical Integration Architecture Teknisk integrasjonsarkitektur
Kap. 6 Technical Integration Architecture Studentpresentasjon av Cato Haukeland Oversikt Introduksjon -spesifikasjon Krav Beskrivelse Servicenivå Sikkerhet Plan Best practices Introduksjon Masterdokument
Detaljeroppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO
oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO oppgave 1 Hvorfor har vi operativsystemer? Portable programmer Enklere å programmere
DetaljerGuide. Valg av regnskapsprogram
Guide Valg av regnskapsprogram Trenger du et regnskapsprogram for din bedrift? Det er mye å tenke på når man sammenligner ulike tilbud. Hva er dine faktiske behov, hva er sluttprisen for en løsning, og
DetaljerRequest for information (RFI) Integrasjonsplattform
Request for information (RFI) Integrasjonsplattform Trondheim kommune Trondheim kommune har initiert et prosjekt for å etablere en ny integrasjonsplattform TIP (Trondheim kommune Integrasjons Plattform).
DetaljerEGA Svar på spørsmål, oppdatert pr
EGA-12132 Svar på spørsmål, oppdatert pr 17.10.12 Spørsmål 1: Dere har i Bilag 3 skrevet at dere har bl.a et EVA disksubsystem. Er det riktig å forstå at dere har 7TB data på EVAen i dag som skal tas backup
DetaljerAdministratorveiledning
Administratorveiledning Medtronic MiniMed Northridge, CA 91325 USA 800-646-4633 (800-MiniMed) 818.576.5555 www.minimed.com Representant i EF-området Medtronic B.V. Earl Bakkenstraat 10 6422 PJ Heerlen
DetaljerEn bedre måte å håndtere prosjekt, team, oppgaver og innhold
En bedre måte å håndtere prosjekt, team, oppgaver og innhold Bedre prosjekthå ndtering med metådåtå M-Files går langt utover bare enkel dokumenthåndtering. Den unike arkitekturen drevet av metadata lar
DetaljerADDML. Archival Data Description Markup Language. Generell del. Versjon PA 0.07 Sist oppdatert: TPD. ADDML_8_2.doc 03/03/2011 1(12)
ADDML Archival Data Description Markup Language Generell del Versjon PA 0.07 Sist oppdatert: 2010-09-16 TPD ADDML_8_2.doc 03/03/2011 1(12) Innledning... 4 Mål... 4 Historie... 4 Hvordan benytte ADDML...
Detaljer1. 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
DetaljerINSTALLASJONSVEILEDNING OPPDATERING TIL VERSJON 5. Mamut Installasjonsveiledning DETALJERT STEG-FOR-STEG VEILEDNING I HVORDAN
Mamut Installasjonsveiledning INSTALLASJONSVEILEDNING OPPDATERING TIL VERSJON 5 DETALJERT STEG-FOR-STEG VEILEDNING I HVORDAN OPPDATERE DITT DATAX-PROGRAM Mamut Kunnskapsserie, nr. 9-2005 2 SJEKKLISTE SJEKKLISTE
DetaljerFullstendig ytelsesbehandling
Fullstendig ytelsesbehandling Fungerer også med Windows XP og Windows Vista 2013 Oppgrader og ta ansvar for datamaskinens ytelse med et kraftig og raskt program. Nedlasting og installasjon av Powersuite
DetaljerLæringsmål og pensum. Utvikling av informasjonssystemer. Oversikt. Systemutvikling Systemutvikling i seks faser Femstegs prosedyre for programmering
1 2 Læringsmål og pensum TDT4110 Informasjonsteknologi grunnkurs: Uke 38 Utvikling av informasjonssystemer Læringsmål Kunne seks faser for systemanalyse og design Kunne femstegs prosedyre for programmering
DetaljerINF Obligatorisk innlevering 7
INF1000 - Obligatorisk innlevering 7 Høsten 2016, IFI UiO Frist: 6. November 2016 kl 22:00 Tema denne uka: Et større objektorientert program. Administrasjon av eierskap og utlån av DVD-er I denne oppgaven
DetaljerMinnehåndtering i operativsystemer
Minnehåndtering i operativsystemer Minnehåndtering? Minne er en begrenset ressurs i datamaskinen Tilgjengelig minne må fordeles til prosessene som OS-et håndterer, på en korrekt og rettferdig måte Minnet
DetaljerUse Case-modell. Vurdering av oppdragsgivers krav
Use Case-modell Vurdering av oppdragsgivers krav Kravspesifikasjonen presiserer at brukergrensesnittet skal være grafisk, menybasert, ha støtte for bruk av mus og ha et intuitivt utseende, slik at enhver
DetaljerSpesifikasjon av Lag emne
Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Fra krav til objekter Hva skal systemet gjøre? UML: Bruksmønstermodeller (Use Cases) o Objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer
DetaljerSOLICARD ARX. Adgangssystemet som gir deg ubegrenset frihet. An ASSA ABLOY Group company
SOLICARD ARX Adgangssystemet som gir deg ubegrenset frihet An ASSA ABLOY Group company SOLICARD ARX arkitektur SOLICARD ARX LCU oppkoblet via Internet Eksisterende nettverk SOLICARD ARX AC SOLICARD ARX
DetaljerAlgDat 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
DetaljerOverordnet 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
DetaljerDBS18 - Strategier for Query-prosessering
Side 1 for Databaser DBS18 - Strategier for Query-prosessering søndag 22. mai 2016 13.03 Pensum 18.1-18.4, side 655-674, unntatt 18.4.4 og 18.4.5 En spørring som blir skrevet i et høynivå-språk, må bli
DetaljerUtvikling 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
DetaljerHistorisk tidslinje. Resource Description Framework (RDF) Web Ontology Language (OWL) Object-Role Modeling (ORM) Entity Relationship Model (ER)
Historisk tidslinje Natural Language Information Analysis Method (NIAM) 1960 1970 Object-Role Modeling (ORM) Entity Relationship Model (ER) 1980 Unified Modeling Language (UML) 1990 Resource Description
DetaljerIntroduksjon til programmering og programmeringsspråk
Introduksjon til programmering og programmeringsspråk Henrik Lieng Høgskolen i Oslo og Akershus https://code.org/ Veldig høy-nivå programmering med Scratch End-user programming Overtone, Tidal, etc., bygger
DetaljerTabeller og enkle spørringer
Tabeller og enkle spørringer Database, relasjonsdatabase Databasehåndteringssystem (DBHS) Databasesystem Tabell, kolonne, rad, datatype, verdi, primærnøkkel Utvalgsspørringer i SQL Velge ut rader Velge
DetaljerTom Røise 9. Februar 2010
Forelesning IMT2243 9. Februar 2010 Tema : Kravspesifisering : prosessen og produktet Viewpoint en myk tilnærming Pensum : Kap. 6 og 7 i Sommerville, Kravspesifisering Kravspesifisering = arbeidet med
DetaljerHeggset Engineering er et kreativt og uavhengig kompetansemiljø med ti ingeniører/tekniske tegnere lokalisert i moderne lokaler i Dale Industripark i
Heggset Engineering er et kreativt og uavhengig kompetansemiljø med ti ingeniører/tekniske tegnere lokalisert i moderne lokaler i Dale Industripark i Kristiansund. Bedriften tilbyr engineering og maskintekniske
DetaljerINSTALLASJONSVEILEDNING OPPDATERING TIL VERSJON Mamut datax Software DETALJERT STEG-FOR-STEG VEILEDNING FOR HVORDAN
Mamut datax Software INSTALLASJONSVEILEDNING OPPDATERING TIL VERSJON 4.1.1300 DETALJERT STEG-FOR-STEG VEILEDNING FOR HVORDAN OPPDATERE DIN VERSJON AV MAMUT DATAX SOFTWARE Mamut Kunnskapsserie, nr. 2-2004
DetaljerDRI 2001 Systemutviklingsarbeidet et overblikk Forelesning
Systemutviklingsarbeidet et overblikk DRI2001 forelesning 21. sept. 05 Informasjonssystem og datasystem Hva er systemutvikling (SU) Et enkelt eksempel å bygge et hus Rammer og perspektiver for SU-arbeidet
DetaljerIntroduksjon...5. Systemkrav...7. For Windows...9
Innholdfortegnelse Introduksjon...................................5 Systemkrav...................................7 For Windows...................................9 Installere programvare for bildeutskrift
DetaljerEvaluering av It-systemer i et forvaltningsperspektiv. Drift, vedlikehold og videreutvikling av IT-systemet
Evaluering av It-systemer i et forvaltningsperspektiv Drift, vedlikehold og videreutvikling av IT-systemet Bakgrunnen IT-systemer har ofte lenger levetid enn forventet er ofte forretningskritiske utvikler
DetaljerMål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case. Terje Rydland - IDI/NTNU. Lære å lage større og sammensatte programmer
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære å lage større og sammensatte programmer Pensum Kapitlene
DetaljerFORORD... III KAPITTELOVERSIKT... VI INNHOLDSFORTEGNELSE... VII DEL I SQL OG RELASJONSDATABASER... 1 11 INTRODUKSJON...
Innholdsfortegnelse FORORD... III KAPITTELOVERSIKT... VI INNHOLDSFORTEGNELSE... VII DEL I SQL OG RELASJONSDATABASER... 1 1 INTRODUKSJON... 3 1.1 DATABASESYSTEMER... 3 1.1.1 Anvendelser... 3 1.1.2 Oppgaver
DetaljerAnsvarsdrevet OO: CRC og UML Sekvensdiagrammer
Fra krav til objekter Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer INF1050--1 Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Hva skal systemet gjøre? UML: Bruksmønstermodeller (Use
DetaljerMinnehåndtering i operativsystemer
Minnehåndtering i operativsystemer Minnehåndtering? Minne er en begrenset ressurs i datamaskinen Tilgjengelig minne må fordeles til prosessene som OS-et håndterer, på en korrekt og rettferdig måte Minnet
DetaljerTilkobling og Triggere
Tilkobling og Triggere Lars Vidar Magnusson October 12, 2011 Lars Vidar Magnusson () Forelesning i DAS 11.10.2011 October 12, 2011 1 / 25 Tilkobling med PHP PHP bruker databasespesifike moduler til å koble
DetaljerSikkerhetskopiering og gjenoppretting
Sikkerhetskopiering og gjenoppretting Brukerhåndbok Copyright 2007 Hewlett-Packard Development Company, L.P. Windows er et registrert varemerke for Microsoft Corporation i USA. Informasjonen i dette dokumentet
DetaljerKunnskapsorganisasjon 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
DetaljerHvordan databasesystemene kan hjelpe RAM-produsentene
Hvordan databasesystemene kan hjelpe RAM-produsentene Kreativ bruk av RAM i DBMSer Ragnar Normann Innhold Litt databasehistorie Litt UiO datahistorie Hvorfor (manglende) minnebruk i DBMSer er blitt et
DetaljerForslag til ny læreplan for informatikk studieretningsfag
Forslag til ny læreplan for informatikk studieretningsfag Jens Kaasbøll, undervisningsleder, Institutt for Informatikk Foredrag på Faglig-pedagogisk dag Universitetet i Oslo, 4. januar 2000 1 Behov for
DetaljerLivsløpstesting av IT-systemer
Livsløpstesting av IT-systemer Testing, validering og evaluering Teste Undersøke ved hjelp av tester om systemet fungerer slik det er beskrevet Validere Bekrefte hvordan systemet virkelig fungerer, om
DetaljerLæringsmål uke 7. Objektorientert programmering i Python: Introduksjon. Innhold uke 7. Lite tilbakeblikk: Programflyt og skop
Læringsmål uke 7 Objektorientert programmering i Python: Introduksjon IN1000 Høst 2018 uke 7 Siri Moe Jensen Kjenne til motivasjon og bakgrunn for objektorientert programmering Kunne definere en klasse,
DetaljerFra krav til objektdesign
Fra krav til objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer INF1050-ansvar-1 Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Hva skal systemet gjøre? UML: Bruksmønstermodeller
DetaljerTildeling av minne til prosesser
Tildeling av minne til prosesser Tildeling av minne til en prosess Når en ny prosess opprettes har den et krav til hvor mye minne som skal reserveres for prosessen Memory Management System (MMS) i OS må
DetaljerDRI2001 Offentlige nettsteder. Litt om systemutvikling Torsdag 24 aug Arild Jansen, AFIN, UiO
DRI 2001 13.9 : Introduksjon til systemutvikling. Introduksjon til systemutvikling Systemutvikling og nettstedsutvikling Om ulike typer offentlige nettsteder Kvalitetskrav til offentlige nettsteder Litt
DetaljerKjennetegn. Enhetlig skriveradministrasjon Utskriftspolicy Produktbasert jobbehandling Administrasjon av utskriftskø APPLIKASJONER.
Utskriftsstyring Kjennetegn Enhetlig skriveradministrasjon Utskriftspolicy Produktbasert jobbehandling Administrasjon av utskriftskø APPLIKASJONER Utskriftsstyring Fargestyring Web til utskrift Variabel
DetaljerSikkerhetskopiering og gjenoppretting Brukerhåndbok
Sikkerhetskopiering og gjenoppretting Brukerhåndbok Copyright 2007-2009 Hewlett-Packard Development Company, L.P. Windows er et registrert varemerke for Microsoft Corporation i USA. Informasjonen i dette
DetaljerDatabaseadministrasjon
Databaseadministrasjon Oppgavene til DBA gjennom livsløpet til databasen Systemarkitekturer Systemkatalogen Oppbygging av DBHS Verktøy for DBA Sikkerhetstrusler og virkemidler Sikkerhetskopiering og gjenoppbygging
DetaljerFakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4190 Distribuerte systemer Onsdag 4. august 2004, 0900 1300
Side 1 av 9 NTNU Norges teknisk naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på kontinuasjon
Detaljer1. 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
DetaljerDatabaser & objektorientering.
Databaser & objektorientering. Noen grunnbegreper innen objektorientering. Klasser og forekomster klasser beskriver strukturen for noe. Beskrivelsen inneholder: et navn attributter /egenskaper / tilstander
DetaljerGrunnleggende testteori
1 Grunnleggende testteori Industri - og software produkt Industriprodukt: Fysisk produkt Testes under produksjon og til slutt om produktet oppfyller kravene Tilpasses, endres, redesignes, og justeres så
DetaljerSpesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign
Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Fra krav til objektdesign Hva skal systemet gjøre? UML: Bruksmønstermodeller o Objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer
Detaljer8 myter om datasikkerhet. du kan pensjonere i
8 myter om datasikkerhet du kan pensjonere i 2018 Introduksjon Å si at IT-landskapet og trusselbildet for små bedrifter har endret seg de siste årene er tiårets underdrivelse. Med inntog av skyløsninger,
DetaljerFiler 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