Begrepsforvirring i databaseverdenen?

Størrelse: px
Begynne med side:

Download "Begrepsforvirring i databaseverdenen?"

Transkript

1 UNIVERSITETET I OSLO Begrepsforvirring i databaseverdenen? Om arkitektur og taksonomi for databasesystemer OMS-seminar Ragnar Normann 1

2 Disposisjon DBMS-arkitekturer Hvilke typer databasehåndteringssystemer har vi? DB-arkitekturer 2- og 3-skjemaarkitektur for (sentraliserte) databaser DDB-arkitekturer Hvordan klassifiserer vi de utallige variantene av distribuerte databaser? Klassifisering og håndtering av pålitelighet OMS-seminar Ragnar Normann 2

3 DBMS-arkitekturer En ufullstendig oversikt OMS-seminar Ragnar Normann 3

4 Begynnelsen Bachman & Williams: A General Purpose Programming System for Random Access Memories [1964] beskrev IDS IDS (Integrated Data Store fra General Electric) var det første kommersielle DBMS Dette var første gang to programmer kunne ha aksess til de samme dataene samtidig (kvasiparallell aksess) IDS ble videreutviklet og solgt til John Cullinane som markedsførte produktet under navnet IDMS (firmanavnet skiftet fra Cullinane til Cullinet) OMS-seminar Ragnar Normann 4

5 Nettverksdatabaser IDS var en nettverksdatabase, dvs at skjemaet besto av to typer datastrukturer: Posttyper (COBOL record type) Sett-typer (1:n relasjon mellom to posttyper kalt hhv eier- og medlemstype) Hver enkelt post kunne delta i vilkårlig mange sett, som eier i noen og medlem i andre, men bare en gang i hver sett-type Nettverksdatabaser ble standardisert av CODASYL i 1972 med en revisjon i 1978 OMS-seminar Ragnar Normann 5

6 Hierarkiske databaser Et hierarkisk databaseskjema har to datastrukturer: Posttyper 1:n relasjoner, kalt foreldre barn-relasjoner, mellom to posttyper Foreldre barn-relasjonene danner et hierarki (tre) Rotposter er ikke barn i noen foreldre barn-relasjon Andre poster er barn i eksakt én foreldre barn-relasjon I realiteten finnes bare ett kommersielt hierarkisk DBMS, IMS, som ble utviklet av IBM og Rockwell International (North American Aviation) og lansert av IBM i % av Fortune-1000-firmaene bruker fortsatt IMS OMS-seminar Ragnar Normann 6

7 Relasjonsdatabaser Relasjonsdatabaser har én type datastruktur, relasjoner (tabeller), som tilsvarer posttyper Kolonnene har navn og kalles attributter Linjene er navnløse og kalles tupler (forekomster) Tuplenes attributtverdier er atomiske COBOLs repeterende grupper er ikke tillatt Alle logiske sammenhenger mellom relasjoner er basert på verdilikhet (fremmednøkler, join) SQL er ISO-standard for definisjon og bruk av relasjonsdatabaser OMS-seminar Ragnar Normann 7

8 Objektrelasjonelle databaser SQL:1999 tillater lob-attributter (lob=large object) Det er tre typer lob-er: Blob (Binary), bilder, lyd, video Clob (Character), fri tekst Row type (Attributter med indre struktur) Lob-er kan ikke indekseres og kan ikke inngå i nøkler eller fremmednøkler For databasen er en lob en atomisk verdi, så all indre struktur må håndteres av applikasjonen Objektrelasjonelle databaser er en generalisering (videreutvikling) av relasjonsdatabaser OMS-seminar Ragnar Normann 8

9 Objektdatabaser Dataelementene er objekter Objektene kan stå i relasjon (relationship) til hverandre; slike relasjoner er alltid toveis Applikasjonsgenererte objekter er i utgangspunktet transiente De kan gjøres persistente enten ved eksplisitt lagring eller ved å settes i relasjon med et persistent objekt Gjeldende standard er ODMG 3.0, men ingen har til nå laget en full implementasjon av denne Implementasjonsmessig er objektdatabaser en generalisering av nettverksdatabaser, mens spørrespråket OQL er en beregningskomplett SQL-etterligning (OQL returnerer et objekt; SQL returnerer en relasjon) OMS-seminar Ragnar Normann 9

10 Objektdatabaser vs objektlagre Tidligere ( ) var persistente objektorienterte programmeringsspråk et hett forskningstema Fra dette miljøet ble det foreslått en databasearkitektur som vi i dag kaller objektlagre Her ble objektenes tilstand lagret, og ved lesing ble objektet bygget opp i applikasjonens adresserom I en (ekte) objektdatabase er objektene aktive det vil si at applikasjonene kommuniserer med objektene i databasen med meldinger, og at objektenes metoder (i det minste logisk) utføres i databasens adresserom OMS-seminar Ragnar Normann 10

11 Semistrukturerte databaser Semistrukturerte data er skjemaløse og selvbeskrivende data Desidert største bruk er XML-dokumenter tilgjengelig på internett (eller intranett) XML 1.0 (Extensible Markup Language) er en W3C-standard fra 1998 I XML definerer «tag»-er semantikken (i HTML definerer de formatering) Strengt tatt er det bare skjemafri («standalone») XML som er semistrukturert OMS-seminar Ragnar Normann 11

12 XML-skjemaer XML-dokumenter kan ha et skjema (angis med «standalone = no») Et slikt skjema kalles en DTD (Document Type Definition) En DTD beskriver hva som er en lovlig nøsting av «tag»-er Det legges for tiden ned et betydelig arbeid for å få definert DTD-er som kan fungere som internasjonale bransjestandarder for informasjonsutveksling OMS-seminar Ragnar Normann 12

13 Databasearkitektur Skjemaer og datauavhengighet OMS-seminar Ragnar Normann 13

14 2-skjemaarkitektur IDS var en 2-skjemaarkitektur database Ettskjema ga en fullstendig beskrivelse av databasen Ettsubskjema tilpasset applikasjonen fungerte som applikasjonens vindu mot databasen Hver database hadde bare ett skjema, men kunne ha vilkårlig mange subskjemaer OMS-seminar Ragnar Normann 14

15 Datauavhengighet 2-skjemaarkitekturen tilbød datauavhengighet: Skjemaet definerte både struktur og lagringsformat for dataene Subskjemaet definerte navn og format på de dataene applikasjonen brukte Det ble dermed mulig å forandre lagringsformatet uten å forandre programmene OMS-seminar Ragnar Normann 15

16 Litt mer databasehistorie Det ble fort klart at 2-skjemaarkitektur ikke var bra nok I 1971 foreslo CODASYL DBTG (Committee on Data Systems Languages, Data Base Task Group) å splitte det sentrale skjema i to: Et logisk (begrepsmessig) skjema Et fysisk (internt) skjema ANSI/SPARC (ANSI Standards Planning And Requirement Committee) foreslo dette som standard i 1978 Det begrepsmessige skjema ble ISO-standard i 1982 (sub-skjemaene ble her kalt eksterne skjemaer) Vi fikk dermed to former for datauavhengighet: Fysisk mellom internt og begrepsmesig skjema Logisk mellom begrepsmessig og eksternt skjema OMS-seminar Ragnar Normann 16

17 3-skjemaarkitekturen OMS-seminar Ragnar Normann 17

18 Distribuerte databaser OMS-seminar Ragnar Normann 18

19 Litteratur Den følgende fremstilling er basert på boken M. Tamer Özsu & Patrick Valduriez: Principles of Distributed Database Systems Second Edition Prentice Hall 1999 OMS-seminar Ragnar Normann 19

20 Distribuerte databaser (DDBer) (Snever definisjon) En distribuert database er en samling av flere logisk relaterte databaser som er forbundet med et datanettverk «Logisk relatert» betyr at det skal finnes et overordnet (globalt) skjema som definerer (den semantiske) sammenhengen mellom de ulike databasene Merk at multiprosessorsystemer med felles hukommelse ikke regnes som DDBer OMS-seminar Ragnar Normann 20

21 DDBMSer Et DDBMS er et program med to hovedoppgaver: Det skal håndheve de semantiske reglene gitt av det globale skjemaet Det skal gjøre distribusjonen av data transparent for brukerne OMS-seminar Ragnar Normann 21

22 Fordeler med DDBSer Transparent håndtering av distribuerte og replikerte (kopierte) data Økt pålitelighet og tilgjengelighet med bruk av distribuerte transaksjoner replikater horisontal fragmentering Økt ytelse pga mindre nettverkstrafikk Forenklet håndtering av systemvekst OMS-seminar Ragnar Normann 22

23 Problemer og forskningsområder OMS-seminar Ragnar Normann 23

24 Taksonomi for DBMS-arkitekturer For å beskrive ulike DBMS-arkitekturer er det vanlig å bruke tre uavhengige (ortogonale) egenskaper: Autonomi Distribusjon Heterogenitet Arkitekturene klassifiseres altså som punkter i et tredimensjonalt ADH-rom OMS-seminar Ragnar Normann 24

25 Autonomi Autonomi handler ikke om distribusjon av data, men om distribusjon av kontroll Vi opererer med tre klasser av autonomi: A0: Tett integrasjon (ingen autonomi) A1: Semiautonomi (delvis autonomi) A2: Total isolasjon (full autonomi) Det finnes andre inndelinger, men denne er den mest brukte i faglitteraturen OMS-seminar Ragnar Normann 25

26 De tre autonomiklassene A0: Klassiske distribuerte databaser Alle brukere ser samme logiske database. Det finnes bare ett felles begrepsmessig skjema, men hver node har sitt eget interne skjema. A1: «Federated databases» Nodene har hvert sitt begrepsmessig skjema, men er enige om at visse data skal være felles. Disse fellesdataene distribueres via et felles eksternt skjema som gjerne kalles eksportskjemaet. A2: Multidatabaser De enkelte databasene vet ikke om hverandre, så all koordinering mellom nodene er applikasjonenes (eller mellomvarens) ansvar. OMS-seminar Ragnar Normann 26

27 Distribusjon Denne dimensjonen klassifiserer graden av fysisk distribusjon av dataene (Distribusjontransparens er en forutsetning, dvs at distribusjonen er usynlig for brukerne) Vi opererer med tre grader av distribusjon: D0: Ingen distribusjon De logiske nodene ligger på samme fysiske node D1: Delvis distribusjon Én sentral database, flere satelitter (client/server) D2: Full distribusjon Flere likeverdige databasenoder (peer-to-peer (P2P)) OMS-seminar Ragnar Normann 27

28 Heterogenitet Heterogenitet kommer i mange varianter (som hardware, nettverk, spørrespråk, transaksjonsprotokoller, datamodeller og DBMSer) Det er vanlig å forenkle til to klasser: H0: Homogene systemer Systemene har samme DBMS (og som oftest samme OS og hardware) H1: Heterogene systemer (alt annet enn H0) OMS-seminar Ragnar Normann 28

29 Arkitekturrommet Vi har definert 18 mulige arkitekturer, men ikke alle er like relevante Homogene systemer på samme node er forholdsvis sjeldne (A2,D0,H0) forekommer oftere, men er heller ikke særlig vanlig (A1,D0,H0) er (var i hvert fall tidligere) vanlig Eksempel: UiOs gamle lønns- og personalsystem gikk på samme maskin og DBMS som økonomisystemet med felles kontoplan, artskoder og kostnadsstedregister OMS-seminar Ragnar Normann 29

30 Bruk av multidatabaser (A2) Det er to måter å aksessere en multidatabase på: Brukerapplikasjonene håndterer selv all kontakt med (de autonome) databasenodene Brukerapplikasjonene kontakter databasenodene via et mellomvareprogram Et slikt mellomvareprogram forutsetter at det finnes et globalt begrepsmessig skjema som brukerne kan forholde seg til Mellomvaren vil tolke brukernes transaksjoner og generere subtransaksjoner til de berørte databasenodene OMS-seminar Ragnar Normann 30

31 Semijoin (en nødvendig digresjon) La R og S være to relasjoner. Kall Rs skjemaa og S skjema B. Semijoinen av R med S over et joinpredikat θ er de tuplene i R som ville ha deltatt i en θ-join med S. Formel: R θ S = π A R θ S ( )= R θ π A B S ( ) OMS-seminar Ragnar Normann 31

32 Fragmentering Det finnes algoritmer for å finne optimal fragmentering ut fra statistisk kunnskap om applikasjonene Merk at fragmentering innenfor samme node kan øke effektiviteten merkbart Eksempel: Anta at relasjonen R har en fremmednøkkel til relasjonen S med de horisontale fragmentene S 1,...,S m (fragmenter som ligger på ulike noder). Da vil en fragmentering R k = R S k kunne effektivisere en join av R med S betydelig. OMS-seminar Ragnar Normann 32

33 Allokering Problem: Gitt en mengde noder, en mengde partisjoner og en mengde applikasjoner. Hva er den optimale plasseringen av partisjonene på nodene? Litteraturen opererer med tre optimaliseringsmål: Minimale kostnader Minimale svartider Maksimal gjennomstrømning av transaksjoner Merk at samme partisjon kan havne på flere noder (replikering) OMS-seminar Ragnar Normann 33

34 UNIVERSITETET I OSLO Pålitelighet i distribuerte databasesystemer OMS-seminar Ragnar Normann 34

35 Pålitelighet (Reliability) Formelt er pålitelighet et statistisk mål for hvor sjelden et system (eller komponent) feiler: R(t) = Pr{0 feil i tidsrommet [0,t] feilfri ved t=0} Databaseverdenen bruker begrepet «pålitelighet» om et systems evne til å overleve feil Litteraturen omtaler fire feilkategorier: Transaksjonsfeil (abort) Mediefeil (disk-kræsj) Nodefeil (maskinstopp) Kommunikasjonsfeil OMS-seminar Ragnar Normann 35

36 Transaksjons- og mediefeil Vi deler transaksjonsfeil i to grupper: Transaksjonen aborterer av egen vilje Slike feil er irrelevante for et DDBMS Transaksjonen aborteres av DBMSet Dette må vi ta hensyn til i vår behandling av globale transaksjoner Det er ingen forskjell på håndtering av mediefeil i et sentralisert DBMS og i et DDBMS OMS-seminar Ragnar Normann 36

37 Node- og kommunikasjonsfeil Nodefeil må/bør DDBMSet ta hensyn til i håndteringen av globale transaksjoner Kommunikasjonsfeil deles i to grupper: Transmisjonsfeil som gjør at meldinger ikke kommer frem Dette håndteres av nettverksprogrammene og er DDBMSet uvedkommende Linjefeil som partisjonerer nettet DDBMSet behandler disse som nodefeil OMS-seminar Ragnar Normann 37

38 Distribuerte pålitelighetsprotokoller For å oppnå pålitelighet opererer et DDBMS med protokoller for å håndtere tre oppgaver: Commit Terminering Gjenoppretting Commit og gjenoppretting må håndteres annerledes enn i et sentralisert DBMS Terminering er bare relevant for DDBSer OMS-seminar Ragnar Normann 38

39 (Klassisk) To-fase commit (2PC) Initiator og koordinator Slaver Koordinator Slaver Koordinator Klar til commit? Vil abortere/ Vil committe Global abort/ Global commit Fase 1 Fase 2 Abortert/ Committed OMS-seminar Ragnar Normann 39

40 Lineær 2PC Fase 1 Klar? VA/VC VA/VC VA/VC Initiator Node2 Node NodeN GA/GC GA/GC GA/GC GA/GC Fase 2 VA/VC = Vil abortere/vil committe GA/GC = Global abort/global commit OMS-seminar Ragnar Normann 40

41 Distribuert 2PC Andre noder Alle noder Initiator Initiator Klar til commit? Vil abortere/committe Global abort/commit Fase 1 Fase 2 OMS-seminar Ragnar Normann 41

42 Tilstandsdiagram for 2PC INITIAL INITIAL WAIT READY ABORT COMMIT ABORT COMMIT Koordinator Slave OMS-seminar Ragnar Normann 42

43 2PC er en synkron protokoll En protokoll hvor alle kommuniserende noder enten er i samme tilstand eller i nabotilstander, kalles synkron 2PC er synkron fordi Koordinatoren er første node som går ut av INITIAL-tilstanden Koordinatoren blir i WAIT-tilstanden helt til alle andre noder har forlatt INITIAL-tilstanden OMS-seminar Ragnar Normann 43

44 Termineringsprotokoller for 2PC Vi skal begrense oss til klassisk 2PC Problem: Hva gjør vi når en eller flere noder feiler? Vi må skille mellom feil (timeout) oppdaget av koordinatoren og feil oppdaget av slaver Koordinatoren kan oppdage feil i WAITtilstanden og i ABORT- eller COMMIT-tilstanden Slaver kan oppdage feil i INITIAL-tilstanden og i READY-tilstanden OMS-seminar Ragnar Normann 44

45 Timeout hos koordinatoren Timeout i WAIT-tilstanden Minst en slave har ikke svart ennå Kan ikke gjøre global commit Kan velge å gjøre global abort Timeout i ABORT- eller COMMIT-tilstanden Vet ikke om abort/commit er utført i alle slaver Send purringer (global abort/commit) i fall forrige melding ikke kom frem OMS-seminar Ragnar Normann 45

46 Timeout hos en slave I Timeout i INITIAL-tilstanden: Koordinatoren har feilet i sin INITIAL-tilstand, og transaksjonen aborteres Hvis det senere kommer en «Klar til commit?», har noden to muligheter Svare «Vil abortere» Ikke svare, og la koordinator få en timeout OMS-seminar Ragnar Normann 46

47 Timeout hos en slave II Timeout i READY-tilstanden: Noden har sagt den vil committe, men kan ikke gjøre det uten mer informasjon Velg en ny koordinator Alternativt: Spør alle andre noder om deres tilstand (dette kan øke meldingsmengden) Hvis minst en node svarer ABORT eller COMMIT, vet noden hva den skal gjøre Hvis alle svarer READY, kan noden hverken abortere eller committe transaksjonen OMS-seminar Ragnar Normann 47

48 Blokkering I det siste tilfellet på forrige lysark vil transaksjonen «henge igjen» i serialiseringsgrafen og blokkere for andre transaksjoner Vi sier at 2PC er en blokkerende protokoll Som det fremgår av det følgende teoremet, er det bevist at 2PC ikke kan endres til å bli ikke-blokkerende uten å innføre flere tilstander OMS-seminar Ragnar Normann 48

49 Ikke-blokkerende protokoller En (lokal) tilstand kalles committbar hvis noder i denne tilstanden vet at alle andre noder vil committe Teorem (Skeen (og Stonebraker)): En synkron protokoll er ikke-blokkerende hvis, og bare hvis, følgende to betingelser er oppfylt: Ingen tilstand er «nabo» til både ABORT- og COMMIT-tilstanden Ingen ikke-committbar tilstand er «nabo» til COMMIT-tilstanden OMS-seminar Ragnar Normann 49

50 Tilstandsdiagram for 2PC INITIAL INITIAL WAIT READY ABORT COMMIT ABORT COMMIT Koordinator Slave OMS-seminar Ragnar Normann 50

51 Tre-fase commit (3PC) 2PC bryter begge kriteriene i Skeens teorem Den minste endringen vi kan gjøre for å oppfylle kriteriene, er å legge inn en ny tilstand mellom WAIT/READY og COMMIT Den nye tilstanden kalles PRECOMMIT Vi får da tre tilstandsskifter på veien fra INITIAL til COMMIT En slik protokoll kalles tre-fase commit (3PC) OMS-seminar Ragnar Normann 51

52 Tilstandsdiagram for 3PC INITIAL INITIAL WAIT READY ABORT PRE- COMMIT ABORT PRE- COMMIT Koordinator COMMIT Slave COMMIT OMS-seminar Ragnar Normann 52

53 3PC Koordinator timeout Timeout i WAIT-tilstanden Som i 2PC: Send «Global abort» til alle Timeout i PRECOMMIT-tilstanden (alle må minst ha kommet til READY-tilstanden) Send «Forbered commit» til alle (det flytter dem til PRECOMMIT-tilstanden) Commit og send «Global commit» til alle Timeout i COMMIT- (ABORT-) tilstanden (alle er minst i PRECOMMIT- (READY-) tilstanden) Bruk termineringsprotokollen (om to lysark) OMS-seminar Ragnar Normann 53

54 3PC Timeout i slaver Timeout i INITIAL-tilstanden Behandles som i 2PC Timeout i READY-tilstanden (Vil committe, men vet ikke hva koordinator vil) Velg en ny koordinator Følg termineringsprotokollen på neste lysark Timeout i PRECOMMIT-tilstanden (Meldingen «Forbered commit» er mottatt) Håndteres som forrige punkt OMS-seminar Ragnar Normann 54

55 3PC Termineringsprotokollen Hvis den nye koordinatoren er i WAIT-tilstanden, gjør en global abort NB I dette ene tilfellet er det lov for noder i PRECOMMIT-tilstanden å abortere Hvis den nye koordinatoren er i PRECOMMITtilstanden, gjør en global commit Hvis den nye koordinatoren er i ABORTtilstanden, vil de andre nodene automatisk komme i ABORT-tilstanden de også OMS-seminar Ragnar Normann 55

56 3PC varianter Avhengig av nettverkstopologien finnes det flere ikke-blokkerende 3PC-protokoller Distribuert 3PC er lett å få til Lineær 3PC lar seg også gjøre, men er ikke helt triviell å få til Det finnes også 3PC-varianter for å håndtere nettverkspartisjoner (behandles som om minst to noder er gått ned), men de er alle blokkerende OMS-seminar Ragnar Normann 56

DDBS. Distribuerte databasesystemer

DDBS. Distribuerte databasesystemer UNIVERSITETET I OSLO DDBS Distribuerte databasesystemer Ragnar Normann INF5030 8. og 15.9.2005 Ragnar Normann 1 Støttelitteratur Özsu & Valduriez: Principles of Distributed Database Systems Second Edition

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

Hvordan databasesystemene kan hjelpe RAM-produsentene

Hvordan 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

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

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

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

INF3100 Databasesystemer

INF3100 Databasesystemer UNIVERSITETET I OSLO INF3100 Databasesystemer Dagens tema: Databaser og informasjonssystemer; datamodeller, databasemodeller og informasjonsmodeller 100%-prinsippet Litt databasehistorie 3-skjemaarkitekturen

Detaljer

INF3100 Databasesystemer

INF3100 Databasesystemer UNIVERSITETET I OSLO INF3100 Databasesystemer Dagens tema: Databaser og informasjonssystemer; datamodeller, databasemodeller og informasjonsmodeller 100%-prinsippet Litt databasehistorie 3-skjemaarkitekturen

Detaljer

INF3100. Databasesystemer

INF3100. Databasesystemer UNIVERSITETET IOSLO INF3100 Dagens tema: Databasesystemer Databaser og informasjonssystemer; datamodeller, databasemodeller og informasjonsmodeller 100%-prinsippet Litt databasehistorie 3-skjemaarkitekturen

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

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

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

Fakultet for informasjonsteknologi, Løsning på kontinuasjonseksamen i TDT4190 Distribuerte systemer 19. august 2006,

Fakultet for informasjonsteknologi, Løsning på kontinuasjonseksamen i TDT4190 Distribuerte systemer 19. august 2006, Side 1 av 8 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på kontinuasjonseksamen

Detaljer

Parallelle og distribuerte databaser Del I

Parallelle og distribuerte databaser Del I UNIVERSITETET I OSLO Parallelle og distribuerte databaser Del I Institutt for Informatikk INF3100 7.4.2014 Ellen Munthe-Kaas 1 Parallellberegninger Database på én storskala parallellmaskin: Utnytter parallelliteten

Detaljer

Parallelle og distribuerte databaser del III

Parallelle 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

Detaljer

Fakultet for informasjonsteknologi,

Fakultet for informasjonsteknologi, Side 1 av 9 NTNU Norges teknisk naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på SIF8037 Distribuerte

Detaljer

Parallelle og distribuerte databaser

Parallelle og distribuerte databaser UNIVERSITETET I OSLO Parallelle og distribuerte databaser Institutt for Informatikk INF3100 11.4.2013 Ellen Munthe-Kaas 1 Parallellberegninger Database på én storskala parallellmaskin: Utnytter parallelliteten

Detaljer

Parallelle og distribuerte databaser del I

Parallelle og distribuerte databaser del I UNIVERSITETET I OSLO Parallelle og distribuerte databaser del I Databaser på parallellmaskiner; map-reduce Distribuerte databaser Distribusjonsmodeller (sharding, replikering) Distribuerte transaksjoner:

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

Fakultet for informasjonsteknologi,

Fakultet for informasjonsteknologi, Side 1 av 5 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Kontaktperson under eksamen:

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

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

Parallelle og distribuerte databaser

Parallelle og distribuerte databaser UNIVERSITETET IOSLO Parallelle og distribuerte databaser Institutt for Informatikk INF3100 28.3.2011 Ellen Munthe-Kaas 1 Parallellberegninger Database på én storskala parallellmaskin: Utnytter parallelliteten

Detaljer

Fakultet for informasjonsteknologi, Løsning på kontinuasjonseksamen i TDT4190 / SIF8042 Distribuerte systemer August 2005, 0900 1300

Fakultet for informasjonsteknologi, Løsning på kontinuasjonseksamen i TDT4190 / SIF8042 Distribuerte systemer August 2005, 0900 1300 Side 1 av 11 NTNU Norges teknisk naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på kontinuasjonseksamen

Detaljer

INF3100 Databasesystemer

INF3100 Databasesystemer INF3100 Databasesystemer Forelesere: Obligsjef: Naci Akkök, Ragnar Normann Norun Sanderson Mål: Kjennskap til databasesystemer Oppgaver og moduler Virkemåte Implementasjon Teoretiske og praktiske problemer

Detaljer

IN2090 Introduksjon til databaser

IN2090 Introduksjon til databaser UNIVERSITETET I OSLO IN2090 Introduksjon til databaser Dagens tema: Data, databaser og databasehåndteringssystemer Hva er data? Hva er informasjon? Fra idé til informasjonssystem Litt om modellering: Begreper

Detaljer

Det matematisk-naturvitenskapelige fakultet. Kontroller at oppgavesettet er komplett før du begynner å besvare det.

Det matematisk-naturvitenskapelige fakultet. Kontroller at oppgavesettet er komplett før du begynner å besvare det. UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : IN 212 - Databaseteori Eksamensdag : Onsdag 8. juni 1994 Tid for eksamen : 09.00-15.00 Oppgavesettet er på : 5 sider Vedlegg

Detaljer

INF3100 Databasesystemer

INF3100 Databasesystemer INF3100 Databasesystemer Forelesere: Naci Akkök Ragnar Normann Mål: Kjennskap til databasesystemer Oppgaver og moduler Virkemåte Implementasjon Teoretiske og praktiske problemer INF3100-19-20.1.2004 -

Detaljer

INF3100 Databasesystemer. Transaksjonshåndtering. ndtering Del 3. Ragnar Normann

INF3100 Databasesystemer. Transaksjonshåndtering. ndtering Del 3. Ragnar Normann INF3100 Databasesystemer Transaksjonshåndtering ndtering Del 3 Ragnar Normann View-serialiserbarhet Hittil har vi sett på eksekveringsplaner som har vært konfliktekvivalente med serielle eksekveringsplaner

Detaljer

INF1300 Introduksjon til databaser

INF1300 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

Detaljer

HVA ER XML? extensible Markup Language En standardisert måte å strukturere ulike typer data Åpent format Enkelt:

HVA ER XML? extensible Markup Language En standardisert måte å strukturere ulike typer data Åpent format Enkelt: HVA ER XML? extensible Markup Language En standardisert måte å strukturere ulike typer data Åpent format Enkelt: Tagger/Noder Attributter Mest kjente XML-versjon er XHTML En mengde datakilder er tilgjengelige

Detaljer

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) Institutt for Informatikk. INF Ragnar Normann 1

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) Institutt for Informatikk. INF Ragnar Normann 1 UNIVERSITETET I OSLO SQL Structured Query Language (The intergalactic dataspeak) Institutt for Informatikk INF3100 1.2.2005 Ragnar Normann 1 SQL SQL Structured Query Language er et deklarativt språk for

Detaljer

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4190 Distribuerte systemer Onsdag 4. august 2004, 0900 1300

Fakultet 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

Detaljer

Fakultet for informasjonsteknologi, Kontinuasjonsløsning på SIF8037 Distribuerte systemer og ytelsesvurdering (Distribuerte systemer kun)

Fakultet for informasjonsteknologi, Kontinuasjonsløsning på SIF8037 Distribuerte systemer og ytelsesvurdering (Distribuerte systemer kun) Side 1 av 5 NTNU Norges teknisk naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Kontinuasjonsløsning

Detaljer

Historisk tidslinje. Resource Description Framework (RDF) Web Ontology Language (OWL) Object-Role Modeling (ORM) Entity Relationship Model (ER)

Historisk 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

Detaljer

Transaksjonshåndtering Del 3

Transaksjonshåndtering Del 3 UNIVERSITETET I OSLO Transaksjonshåndtering Del 3 Ragnar Normann INF3100 24.3.2009 Ragnar Normann 1 Serialiserbarhet Vi har tidligere definert serialiserbarhet på denne måten: En eksekveringsplan kalles

Detaljer

Fakultet for informasjonsteknologi, Løsning på eksamen i TDT4190 Distribuerte systemer Torsdag 9. juni 2005, 0900 1300

Fakultet for informasjonsteknologi, Løsning på eksamen i TDT4190 Distribuerte systemer Torsdag 9. juni 2005, 0900 1300 Side 1 av 10 NTNU Norges teknisk naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på eksamen i

Detaljer

Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer

Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer Institutt for datateknikk og informasjonsvitenskap Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer Faglig kontakt under eksamen: Jon Olav Hauglid Tlf.: 93 80 58 51 Eksamensdato: Onsdag

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

Systemfeil og logging

Systemfeil og logging UNIVERSITETET I OSLO Systemfeil og logging Basert på lysark laget av Hector Garcia-Molina Oversatt og bearbeidet av Ragnar Normann INF3100 19.4.2005 Ragnar Normann 1 Integritet eller korrekthet av data

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

Systemfeil og logging

Systemfeil og logging INF3100 Databasesystemer Systemfeil og logging Basert på lysark laget av Hector Garcia-Molina Oversatt og bearbeidet av Ragnar Normann Integritet eller korrekthet av data Vi ønsker at data alltid skal

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Data, databaser og databasehåndteringssystemer Hva er data? Hva er informasjon? Fra idé til informasjonssystem Litt om modellering:

Detaljer

Parallelle og distribuerte databaser del II

Parallelle og distribuerte databaser del II UNIVERSITETET I OSLO Parallelle og distribuerte databaser del II Paxos consensus Paxos commit Databaser i peer-to-peer-systemer (P2P) Databaser i mobile ad-hoc-nettverk (MANET) Institutt for Informatikk

Detaljer

Prosjektoppgave: Bildedatabase. TDT4145 Datamodellering og Databasesystemer. Våren 2007

Prosjektoppgave: 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

Detaljer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Institutt for datateknikk og informasjonsvitenskap Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Eksamensdato: 23. mai 2013 Eksamenstid (fra-til): 09:00-13:00 Hjelpemiddelkode/Tillatte

Detaljer

Transaksjonshåndtering Del 3

Transaksjonshåndtering Del 3 UNIVERSITETET I OSLO Transaksjonshåndtering Del 3 Ragnar Normann INF3100 12.4.2010 Ragnar Normann 1 Samtidighetsfenomener og -anomalier Dette er uønskede «merkverdigheter» som kan inntreffe i eksekveringsplaner.

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 9. juni 2008 Tid for eksamen: 14.30 17.30 Oppgavesettet er på 5 sider. Vedlegg: Tillatte hjelpemidler: INF3100 Databasesystemer

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

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

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Informasjonsbærende referansemåter Resten av realiseringsalgoritmen Sterk realisering Realisering versus modellering INF1300-31.10.2016

Detaljer

Dagens tema: Oppdateringsanomalier Normalformer

Dagens tema: Oppdateringsanomalier Normalformer UNIVERSITETET I OSLO INF300 Introduksjon til databaser Dagens tema: Oppdateringsanomalier Normalformer Institutt for informatikk INF300 08..0 michael@ifi.uio.no Hva kjennetegner god relasjonsdatabasedesign?

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

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

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF3100 Databasesystemer Eksamensdag: 11. juni 2013 Tid for eksamen: 9.00 13.00 Oppgavesettet er på 6 sider. Vedlegg: ingen Tillatte

Detaljer

INF3100 Databasesystemer

INF3100 Databasesystemer INF3100 Databasesystemer Relasjonsmodellen INF3100-18.1.2005 - Ragnar Normann 1 Relasjonsdatabasemodellen Datamodell Mengde av begreper for å beskrive strukturen til en database Relasjonsmodellen Databasen

Detaljer

Repetisjonsforelesning, SQL og utover

Repetisjonsforelesning, SQL og utover Repetisjonsforelesning, SQL og utover Evgenij Thorstensen V18 Evgenij Thorstensen Repetisjon V18 1 / 23 Temaer SQL, semantikk Databasearkitektur Spørringskompilering og optimisering Indekser Transaksjonshåndtering

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF300 Introduksjon til databaser Dagens tema: Oppdateringsanomalier Normalformer INF300 7.0.008 Ellen Munthe-Kaas Hva kjennetegner god relasjonsdatabasedesign? Relasjonene samler

Detaljer

Relasjonsdatabasedesign

Relasjonsdatabasedesign UNIVERSITETET I OSLO Relasjonsdatabasedesign Oppdateringsanomalier Dekomponering Normalformer INF300-8..008 Ragnar Normann Institutt for Informatikk Hva kjennetegner god relasjonsdatabasedesign? Beslektet

Detaljer

Løsningsforslag Eksamen i TDT4190 Distribuerte systemer

Løsningsforslag Eksamen i TDT4190 Distribuerte systemer Institutt for datateknikk og informasjonsvitenskap Løsningsforslag Eksamen i TDT4190 Distribuerte systemer Faglig kontakt under eksamen: Norvald Ryeng Tlf.: 97 17 49 80 Eksamensdato: Fredag 6. juni 2014

Detaljer

Relasjonsdatabasedesign

Relasjonsdatabasedesign Relasjonsdatabasedesign Oppdateringsanomalier Dekomponering Normalformer INF300-4..005 - Ragnar Normann Hva kjennetegner god relasjonsdatabasedesign? Skjemaene samler beslektet informasjon: Tekstlig nærhet

Detaljer

Tildeling av minne til prosesser

Tildeling 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å

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 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

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

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas UNIVERSITETET I OSLO RELASJONSALGEBRA Regning med relasjoner Institutt for Informatikk 1 Relasjonsalgebraen definerer en mengde av operasjoner på relasjoner gir oss et språk til å beskrive spørsmål om

Detaljer

Informasjonsorganisering. Information Architecture Peter Morville & Jorge Arango Kapittel 4, 5 & 6

Informasjonsorganisering. Information Architecture Peter Morville & Jorge Arango Kapittel 4, 5 & 6 Informasjonsorganisering Information Architecture Peter Morville & Jorge Arango Kapittel 4, 5 & 6 Bevissthet om sted, omgivelser og tingenes plassering Ting er noe vi forstår i relasjon til noe annet Informasjonsomgivelsenes

Detaljer

Oppdateringsanomalier Normalformer

Oppdateringsanomalier Normalformer UNIVERSITETET I OSLO INF300 Introduksjon til databaser Dagens tema: Oppdateringsanomalier Normalformer Institutt for informatikk INF300 26.0.2009 Ellen Munthe-Kaas Hva kjennetegner god relasjonsdatabasedesign?

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

DBMS Database Management System (repetisjon) Programmeringsgrensesnitt. Serialiserbarhet

DBMS Database Management System (repetisjon) Programmeringsgrensesnitt. Serialiserbarhet DBMS Database Management System (repetisjon) Spesialisert SW Karakteristika: Persistens Transaksjonshåndtering A tomicity C onsistency I solation D urability Programmeringsgrensesnitt INF212 v2003 1 Serialiserbarhet

Detaljer

Hvordan kan en gjenbrukbar NOARK kjerne bidra til samhandling mellom forvaltningsnivåene?

Hvordan kan en gjenbrukbar NOARK kjerne bidra til samhandling mellom forvaltningsnivåene? Hvordan kan en gjenbrukbar NOARK kjerne bidra til samhandling mellom forvaltningsnivåene? Thomas Sødring Høyskolen i Oslo thomas.sodring@jbi.hio.no +47 99 57 04 72 NOKIOS Workshop NOARK 5 26. Oktober 2010

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

INF1300 Relasjonsalgebra. Et matematisk fundament for å forstå SQL-setninger

INF1300 Relasjonsalgebra. Et matematisk fundament for å forstå SQL-setninger INF1300 Relasjonsalgebra Et matematisk fundament for å forstå SQL-setninger Innhold Relasjonsalgebraen Operatorene i relasjonsalgebraen Relasjonsalgebratolkning av select-setningen Kostbare operasjoner

Detaljer

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ragnar Normann

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ragnar Normann UNIVERSITETET I OSLO RELASJONSALGEBRA Regning med relasjoner Institutt for Informatikk 1 Relasjonsalgebraen definerer en mengde av operasjoner på relasjoner gir oss et språk til å beskrive spørsmål om

Detaljer

Transaksjonshåndtering Del 2

Transaksjonshåndtering Del 2 UNIVERSITETET I OSLO Transaksjonshåndtering Del 2 Ragnar Normann Noen figurer er basert på en original laget av Hector Garcia-Molina INF3100 3.5.2005 Ragnar Normann 1 En ny type serialiseringsprotokoll

Detaljer

Skisse til løsning av eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Skisse til løsning av eksamensoppgave i TDT4145 Datamodellering og databasesystemer Skisse til løsning av eksamensoppgave i TDT4145 Datamodellering og databasesystemer Vers: 17.aug 2016 Faglig kontakt under eksamen: Roger Midtstraum: 995 72 420 Svein Erik Bratsberg: 995 39 963 Eksamensdato:

Detaljer

Parallelle og distribuerte databaser del II

Parallelle og distribuerte databaser del II UNIVERSITETET I OSLO Parallelle og distribuerte databaser del II Paxos consensus Paxos commit Databaser i peer-to-peer-systemer (P2P) Databaser i mobile ad-hoc-nettverk (MANET) Institutt for Informatikk

Detaljer

Tildeling av minne til prosesser

Tildeling av minne til prosesser Tildeling av minne til prosesser Tildeling av minne til prosesser OS må hele tiden holde rede på hvilke deler av RAM som er ledig/opptatt Når (asynkrone) prosesser/run-time system krever tildeling av en

Detaljer

Databaser fra et logikkperspektiv

Databaser fra et logikkperspektiv Databaser fra et logikkperspektiv Evgenij Thorstensen IFI, UiO Høst 2013 Evgenij Thorstensen (IFI, UiO) Databaser fra et logikkperspektiv Høst 2013 1 / 31 Outline 1 Logikk som verktøy 2 Relasjonsdatabaser

Detaljer

UNIVERSITETET I OSLO. Relasjonsmodellen. Relasjoner og funksjonelle avhengigheter. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET I OSLO. Relasjonsmodellen. Relasjoner og funksjonelle avhengigheter. Institutt for Informatikk. INF Ellen Munthe-Kaas 1 UNIVERSITETET I OSLO Relasjonsmodellen Relasjoner og funksjonelle avhengigheter Institutt for Informatikk INF3100-23.1.2007 Ellen Munthe-Kaas 1 Relasjonsdatabasemodellen Datamodell Mengde av begreper for

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

SOLICARD 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 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

Detaljer

Transaksjonshåndtering Del 3

Transaksjonshåndtering Del 3 UNIVERSITETET I OSLO Transaksjonshåndtering Del 3 Institutt for Informatikk INF3100 15.3.2012 Ellen Munthe-Kaas 1 Samtidighetsfenomener og -anomalier Dette er uønskede «merkverdigheter» som kan inntreffe

Detaljer

Integritetsregler i SQL

Integritetsregler i SQL UNIVERSITETET I OSLO Integritetsregler i SQL INF3100 8.2.2005 Ragnar Normann 1 Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet - fremmednøkler Domenebegrensende integritetsregler

Detaljer

DBS18 - Strategier for Query-prosessering

DBS18 - 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

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET IOSLO INF1300 Introduksjon til databaser Dagens tema: ORM og normalisering Denormalisering og splitting Triggere og databasefunksjoner Transaksjonshåndtering INF1300 2.11.2011 Ellen Munthe-Kaas

Detaljer

Relasjonsdatabasedesign (forts.)

Relasjonsdatabasedesign (forts.) UNIVERSITETET I OSLO Relasjonsdatabasedesign (forts.) Flerverdiavhengigheter Høyere normalformer INF3100-29.1.2008 Ragnar Normann Institutt for Informatikk 1 Flerverdiavhengigheter Generalisering av FDer

Detaljer

Det matematisk-naturvitenskapelige fakultet. Kontroller at oppgavesettet er komplett før du begynner å besvare det

Det matematisk-naturvitenskapelige fakultet. Kontroller at oppgavesettet er komplett før du begynner å besvare det UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : IN 212 Databaseteori Eksamensdag : Fredag 6. juni 1997 Tid for eksamen : 09.00-15.00 Oppgavesettet er på : 5 sider Vedlegg :

Detaljer

Semistrukturerte data og XML

Semistrukturerte data og XML UNIVERSITETET I OSLO Semistrukturerte data og XML Where is the Life we have lost in living? Where is the wisdom we have lost in knowledge? Where is the knowledge we have lost in information? -- T. S. Eliot

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Relasjonsalgebraen Oversettelse av select-from-where til relasjonsalgebra SQL: union, snitt, differanse, kartesisk produkt INF1300 22.10.2007

Detaljer

Intro til WWW, HTML5 og CSS

Intro til WWW, HTML5 og CSS Intro til WWW, HTML5 og CSS Håkon Tolsby 20.08.2015 Håkon Tolsby 1 World Wide Web Webserver: Programvare som distribuerer websider og/eller maskin hvor programmet kjører Webbrowser (nettleser): Program

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

Relasjonsdatabasedesign

Relasjonsdatabasedesign UNIVERSITETET I OSLO Relasjonsdatabasedesign Funksjonelle avhengigheter Oppdateringsanomalier Dekomponering Institutt for Informatikk INF300-6..00 Ellen Munthe-Kaas Definisjon av nøkler Gitt et relasjonsskjema

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF300 Introduksjon til databaser Dagens tema: Oppdateringsanomalier Normalformer INF300..007 Ellen Munthe-Kaas Hva kjennetegner god relasjonsdatabasedesign? Relasjonene samler beslektet

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

Systemfeil og logging

Systemfeil og logging UNIVERSITETET I OSLO Systemfeil og logging For en stor del basert på lysark laget av Hector Garcia-Molina Bearbeidet av Ragnar Normann INF3100 3.3.2008 Ragnar Normann Institutt for Informatikk 1 Korrekthet

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

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

Relasjonsalgebraen. Algebra

Relasjonsalgebraen. Algebra Relasjonsalgebraen Definerer en mengde av operasjoner på relasjoner Gir oss et språk til å beskrive spørsmål om innholdet i relasjonene Språket er prosedyralt: Vi sier hvordan svaret skal beregnes. Alternativet

Detaljer