Systemfeil og logging
|
|
|
- Rune Simonsen
- 9 år siden
- Visninger:
Transkript
1 INF3100 Databasesystemer Systemfeil og logging Basert på lysark laget av Hector Garcia-Molina Oversatt og bearbeidet av Ragnar Normann
2 Integritet eller korrekthet av data Vi ønsker at data alltid skal være riktige og nøyaktige Ansatt Navn Alder Hansen Lie Olsen Ragnar Normann, Ifi, UiO Ark 2 av 47
3 Integritets- eller konsistensregler Predikater som data må tilfredsstille Eksempler X er nøkkel i relasjonen R X Y holder i R Domain(farge) = {R(ød),G(rønn),B(lå)} Ingen ansatt får tjene mer enn det dobbelte av gjennomsnittslønnen Ragnar Normann, Ifi, UiO Ark 3 av 47
4 Definisjoner: Konsistent tilstand: Tilfredsstiller alle integritetsregler Konsistent database: Databasen er i en konsistent tilstand Ragnar Normann, Ifi, UiO Ark 4 av 47
5 Integritetsreglene (som vi virkelig håndhever) trenger ikke å uttrykke den fulle sannhet Eksempel 1 Transaksjonsregler Hver gang lønnen oppdateres, gjelder at ny lønn > gammel lønn Hver gang en konto-forekomst fjernes, gjelder at kontoens saldo = 0 Ragnar Normann, Ifi, UiO Ark 5 av 47
6 Merk: Det siste eksemplet kan vi fikse med enkle midler som å legge til et boolsk attributt: Konto Kto# saldo fjernet? Ragnar Normann, Ifi, UiO Ark 6 av 47
7 Integritetsreglene (som vi virkelig håndhever) trenger ikke å uttrykke den fulle sannhet Eksempel 2 Databasen bør gjenspeile den virkelige verden DB Virkeligheten Ragnar Normann, Ifi, UiO Ark 7 av 47
8 uansett, fortsett å bruke integritetsregler Observasjon: Databaser kan ikke alltid være konsistente Eksempel: a 1 + a a n = total (integritetsregel) Sett inn 1000 kroner på konto a 2 : a 2 a total total Integritetsregelen er midlertidig brutt Ragnar Normann, Ifi, UiO Ark 8 av 47
9 Eksempel: a 1 + a a n = total (integritetsregel) Sett inn 1000 kroner på a 2 : a 2 a total total a2 total : 500 : : 1500 : : 1500 : Ragnar Normann, Ifi, UiO Ark 9 av 47
10 Transaksjoner En transaksjon er en samling aksjoner som bevarer konsistens Konsistent DB T Konsistent DB Ragnar Normann, Ifi, UiO Ark 10 av 47
11 Viktig antagelse Hvis T starter i en konsistent tilstand, og T eksekverer alene, så vil T avslutte med å etterlate databasen i en konsistent tilstand Korrekthet (uformelt): Hvis vi stopper å utføre transaksjoner, etterlater vi DB i en konsistent tilstand Alle transaksjoner opplever en konsistent DB Ragnar Normann, Ifi, UiO Ark 11 av 47
12 Årsaker til inkonsistens og brudd på integritetsreglene Feil i en transaksjon Feil i DBMS Hardware-feil F.eks.: Et diskkræsj endrer saldo på en konto Deling av data F.eks.: T1: Øk lønnen til alle med tittel programmerer med 4,5% T2: Forandre Tove Hansens tittel fra programmerer til systemerer Ragnar Normann, Ifi, UiO Ark 12 av 47
13 Viktige ting INF3100 ikke omfatter Hvordan å skrive/programmere feilfrie transaksjoner Hvordan å skrive/programmere et feilfritt DBMS Hvordan å kontrollere integritetsreglene i databaseskjemaet og rette opp brudd på dem (Det betyr at de løsningene vi gir på håndtering av feilsituasjoner, ikke trenger å ta hensyn til hvilke integritetsregler som er definert i databaseskjemaet) Ragnar Normann, Ifi, UiO Ark 13 av 47
14 Gjenoppretting (Recovery) Første punkt på agendaen: En modell for beskrivelse av feil Del 1: Konfigurasjonsmodellen: CPU prosessor hukommelse M D disk Ragnar Normann, Ifi, UiO Ark 14 av 47
15 Klassifikasjon av hendelser Hendelser Ønskede Uønskede Forventede Uventede Ønskede hendelser: Se produkthåndbøkene Forventede uønskede hendelser: Systemkræsj: tap av hukommelsen CPUen stopper eller må resettes det er det hele! Uventede uønskede hendelser: Alt annet! Ragnar Normann, Ifi, UiO Ark 15 av 47
16 Uventede uønskede hendelser: Alt annet! Eksempler: Diskdata går tapt Hukommelsen går tapt uten at CPUen stopper CPUen tar kontroll over alle datamaskiner hos Viken Energinett, setter opp spenningen og brenner av alle strømledninger i Oslo og Akershus Kapittel 1 i The Hitch Hiker s Guide to the Galaxy viser seg å ikke være Science Fiction likevel. Ragnar Normann, Ifi, UiO Ark 16 av 47
17 Et forslag til løsningl Strategi: Adder lavnivå kontroller og redundans for å øke sannsynligheten for at modellen holder Eksempler: Replikert disk (stable store) Paritetssjekk av hukommelsen CPU-sjekker Ragnar Normann, Ifi, UiO Ark 17 av 47
18 Andre punkt på agendaen Lagringshierarkiet: X X Hukommelse Disk Ragnar Normann, Ifi, UiO Ark 18 av 47
19 Operasjoner Input(x): Read(x,v): diskblokk med x hukommelsen utfør, om nødvendig, input(x) v verdien av x i blokken Write(x,v): utfør, om nødvendig, input(x) verdien av x i blokken v Output(x): hukommelsesblokk med x disk Ragnar Normann, Ifi, UiO Ark 19 av 47
20 Ufullførte transaksjoner Dette er hovedproblemet i transaksjonshåndtering Eksempel: Integritetsregel: A = B T1: A A 2 B B 2 Ragnar Normann, Ifi, UiO Ark 20 av 47
21 Ufullførte transaksjoner (forts.) T1: Read(A,t); t t 2; Write(A,T); Read(A,t); t t 2; Write(A,T); Output(A); feil! Output(B); A: 8 B: A: 8 B: 8 16 hukommelse disk Ragnar Normann, Ifi, UiO Ark 21 av 47
22 Atomisitet Transaksjoner må være atomære Dette gir oss bare to muligheter: 1) Å utføre alle operasjonene i transaksjonen eller 2) Å ikke utføre noen av operasjonene i transaksjonen Ragnar Normann, Ifi, UiO Ark 22 av 47
23 Undo-logging T1: Read(A,t); t t 2; Invariant: A = B Write(A,t); Read(B,t); t t 2; Write(B,t); Output(A); Output(B); <T1,start> <T1,A,8> A:8 B: hukommelse A:8 B: disk <T1,B,8> <T1,commit> logg Ragnar Normann, Ifi, UiO Ark 23 av 47
24 En kompliserende faktor: Undo-logging (forts.) Loggen skrives i hukommelsen før den skrives til disk Loggen skrives ikke til disk for hver enkeltoperasjon hukommelse Buffer: A: 8 16 B: 8 16 Logg: <T1,start> <T1,A,8> <T1,B,8> database logg A: 8 B: 8 16 ULOVLIG TILSTAND # 1 Ragnar Normann, Ifi, UiO Ark 24 av 47
25 En kompliserende faktor: Undo-logging (forts.) Loggen skrives i hukommelsen før den skrives til disk Loggen skrives ikke til disk for hver enkeltoperasjon hukommelse Buffer: A: 8 16 B: 8 16 Logg: <T1,start> <T1,A,8> <T1,B,8> <T1,commit> database logg A: 8 B: 8 <T1,B,8> <T1,commit> 16 ULOVLIG TILSTAND # 2 Ragnar Normann, Ifi, UiO Ark 25 av 47
26 Undo-logging (forts.) Regler for undo-logging: 1) For hver skriveoperasjon write(x,v): Skriv en linje i loggen som inneholder den gamle verdien av X 2) Før X endres på disken, må alle logglinjer som gjelder X, være skrevet til disk (Strategi: Skriv først til logg, så til disk) 3) Før commit kan skrives i loggen, må alle skriveoperasjonene i transaksjonen være overført til disken Strategi: Alt må oppdateres før commit Ragnar Normann, Ifi, UiO Ark 26 av 47
27 Undo-logging (forts.) Algoritme for gjenoppretting : 1) Sett S = mengden av transaksjoner T i hvor <T i, start>, men hverken <T i, commit> eller <T i, abort> finnes i loggen 2) Les loggen i bakvendt orden (fra sist til først). For hver <T i, X, v> i loggen: Hvis T i S så write(x,v) output(x) 3) For hver T i S: Skriv <T i, abort> i loggen Ragnar Normann, Ifi, UiO Ark 27 av 47
28 Undo-logging (forts.) Hva hvis det skjer en feil under gjenoppretting? Ikke noe problem! Undo er idempotent (Det betyr at å gjøre undo mange ganger gir samme resultat som å gjøre undo én gang) Ragnar Normann, Ifi, UiO Ark 28 av 47
29 Redo-logging T1: Read(A,t); t t 2; Invariant: A = B Write(A,t); Read(B,t); t t 2; Write(B,t); Output(A); Output(B); A:8 B: hukommelse output A:8 B:8 16 disk <T1, start> <T1,A,16> <T1,B,16> <T1,commit> logg Ragnar Normann, Ifi, UiO Ark 29 av 47
30 Redo-logging (forts.) Regler for redo-logging: 1) For hver skriveoperasjon write(x,v): Skriv en linje i loggen som inneholder den nye verdien av X 2) Flush loggen (dvs. skriv loggen til disk) ved commit 3) Før X endres på disken, må alle logglinjer som gjelder X (inklusiv commit), være skrevet til disk Strategi: Skriv ikke til disk før loggen er ferdigskrevet Ragnar Normann, Ifi, UiO Ark 30 av 47
31 Redo-logging (forts.) Algoritme for gjenoppretting : 1) Sett S = mengden av transaksjoner T i hvor <T i, commit> finnes i loggen 2) Les loggen forlengs (fra først til sist). For hver <T i, X, v> i loggen: Hvis T i S så write(x,v) output(x) ikke nødvendig Ragnar Normann, Ifi, UiO Ark 31 av 47
32 Redo-logging (forts.) Med tiden blir gjenoppretting en TREG prosess Redo-logg: Første T1 skrev A,B Siste loggpost Committed for et år siden loggpost (1 år gammel) --> LIKEVEL, må gjøre redo etter kræsj!! Kræsj Ragnar Normann, Ifi, UiO Ark 32 av 47
33 Redo-logging (forts.) Løsning: Sjekkpunkt (enkel versjon) Utfør regelmessig: 1) Stans start av nye transaksjoner 2) Vent til alle transaksjoner har avsluttet 3) Skriv alle loggposter til disk (flush loggen) 4) Skriv alle buffere til disk (DB) (behold dem i hukommelsen) 5) Skriv en sjekkpunkt-post til disk (i loggen) 6) Gjenoppta transaksjonsbehandlingen Ragnar Normann, Ifi, UiO Ark 33 av 47
34 Redo-logging (forts.) Eksempel: Hva må gjøres ved gjenoppretting? Redo-logg (disk): <T1,A,16> <T1,commit> Checkpoint <T2,B,17> <T2,commit> <T3,C,21> Kræsj Ragnar Normann, Ifi, UiO Ark 34 av 47
35 Undo- vs redo-logging Hovedproblemene med de to strategiene er: Undo-logging: Redo-logging: Vi kan ikke holde en backup-db oppdatert til enhver tid Vi må holde alle oppdaterte blokker i hukommelsen helt til commit (og litt til) Ragnar Normann, Ifi, UiO Ark 35 av 47
36 Undo- vs redo-logging (forts.) Løsningen er: Undo/redo-logging For alle skriveoperasjoner skriver vi i loggen: <T i, X, ny X-verdi, gammel X-verdi> I en undo/redo-logg er X alltid en hel blokk (page) (Det er for å unngå problemer som at A og B ligger i samme blokk og blir oppdatert av hver sin transaksjon, og så comitter den ene av transaksjonene. Da både skal og skal ikke blokken skrives til disk.) Ragnar Normann, Ifi, UiO Ark 36 av 47
37 Undo/redo-logging Regler for undo/redo-logging: 1) Ingen skriveoperasjon write(x,v) får utføres før transaksjonen vet at den ikke må abortere 2) For hver write(x,v) (der X er en blokk): Skriv en linje (post) i loggen som inneholder både den gamle og den nye verdien av X 3) Skriv loggposten til disk før X oppdateres i DB 4) Flush loggen ved commit Merk: Blokken X kan skrives til disk både før og etter at transaksjonen committer. De eneste kravene som må oppfylles før X skrives, er punkt 1 og 3 ovenfor Ragnar Normann, Ifi, UiO Ark 37 av 47
38 L O G G Ikke-passiviserende sjekkpunkt Sjekkpunkt som ikke hindrer start av nye transaksjoner: for undo Start-sjkpt aktive T-er: T 1,T 2, slutt sjkpt alle endrede bufferblokker flushes Sjekkpunktet er slutt når alle endrede bufferblokker er skrevet til disk. Loggen flushes både ved start og stopp... Ragnar Normann, Ifi, UiO Ark 38 av 47
39 Ikke-passiviserende sjekkpunkt (forts.) Eksempel: Hva gjøres ved gjenoppretting? L O G G T 1,- sjkpt sjkpt T kræsj a T 1 slutt b T 1 har ikke gjort commit Undo T 1 (undo a,b) Husk: Undo tas bakfra frem til starten av eldste ikke-comittede transaksjon Ragnar Normann, Ifi, UiO Ark 39 av 47
40 Ikke-passiviserende sjekkpunkt (forts.) Eksempel: Hva gjøres ved gjenoppretting? (forts.) L O G G... T 1 a... sjkpt-s... T 1 b... sjkptslutt... T 1... c T 1 T 1 cmt... kræsj T 1 har gjort commit Redo T 1 (redo b,c) Husk: Redo tas forfra fra siste sjekkpunkt-start Ragnar Normann, Ifi, UiO Ark 40 av 47
41 Undo/redo-gjenopprettingsprosessen Bakoverløp (fra loggslutt til siste start sjekkpunkt): bygg opp en mengde S av committede transaksjoner gjør Undo på alle operasjoner gjort av transaksjoner som ikke er i S Oppryddingsfase (foran siste start sjekkpunkt): gjør Undo på resten av operasjonene gjort av de transaksjonene i sjekkpunktets aktiv-liste som ikke er i S Fremoverløp (fra siste start sjekkpunkt til loggslutt): gjør Redo på operasjonene gjort av transaksjonene i S start sjekkpunkt bakoverløp fremoverløp Ragnar Normann, Ifi, UiO Ark 41 av 47
42 Fysiske hendelser Eksempel: Uttak av penger i en bankautomat T i = a 1 a 2 a j a n kontantuttak Løsning: 1) utfør fysiske operasjoner etter commit 2) prøv å gjøre fysiske operasjoner idempotente Ragnar Normann, Ifi, UiO Ark 42 av 47
43 Håndtering av fysiske feil Eksempel: Diskkræsj eller lignende ødeleggelse av et permanent datalagringsmedium A: 17 Løsning: Lag kopier av data! Ragnar Normann, Ifi, UiO Ark 43 av 47
44 Håndtering av fysiske feil (forts.) Forslag 1: Fysisk trippel-lagring av alle data Ha tre kopier på hver sin disk Output(X) tre fysiske output(x) Input(X) tre fysiske input(x) + votering X1 X2 X3 Ragnar Normann, Ifi, UiO Ark 44 av 47
45 Håndtering av fysiske feil (forts.) Forslag 2: Redundant skriving, enkel lesning Ha N kopier på hver sin disk Output(X) N fysiske output(x) Input(X) en fysisk input(x) hvis OK, ferdig ellers, prøv en annen Strategien forutsetter at korrupte data kan oppdages Ragnar Normann, Ifi, UiO Ark 45 av 47
46 Håndtering av fysiske feil (forts.) Forslag 3: Dump av DB + logg backupdatabase logg aktiv database Hvis den aktive databasen går tapt, så kopier backupdatabasen til en ny aktiv database bruk redo-dataene i loggen til å gjøre databasen up-to-date Ragnar Normann, Ifi, UiO Ark 46 av 47
47 Sletting av loggfilen logg db dump siste behov for undo sjekkpunkt trengs ikke for gjenoppretting av media tidsakse trengs ikke for undo etter systemfeil trengs ikke for redo etter systemfeil Ragnar Normann, Ifi, UiO Ark 47 av 47
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
Systemfeil og logging
UNIVERSITETET I OSLO Systemfeil og logging Institutt for Informatikk INF3100 7.3.2014 Ellen Munthe-Kaas 1 Integritetsregler Vi ønsker at data alltid skal være korrekte: Integritetsregler er predikater
DBS22 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
Transaksjonsmodell. Samtidighet (1) ACID-transaksjoner. Samtidighet (2) Systemkræsj (1) Kapittel 17, Coping With System Failure
SIF8020 Datamodellering og databasesystemer: Transaksjonsmodell Kapittel 17, Coping With System Failure 20. april 2004, Roger Midtstraum, IDI/ ACID-transaksjoner Atomicity Alt eller ingenting Consistency
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
Øving 5: Transaksjonshåndtering, logging og normalisering
Øving 5: Transaksjonshåndtering, logging og normalisering Lars Kirkholt Melhus Oppgave 1 a) ACID Atomic En transaksjon er en minste enhet. Alle ledd i transaksjonen må gå feilfritt for at transaksjonen
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
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
Transaksjonshåndtering Del 2
UNIVERSITETET I OSLO Transaksjonshåndtering Del 2 Institutt for Informatikk INF3100 14.3.2014 Ellen Munthe-Kaas 1 En ny type serialiseringsprotokoll Hittil har vi bare sett på 2PL-baserte protokoller Alle
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
Transaksjonshåndtering og samtidighetskontroll
UNIVERSITETET I OSLO Transaksjonshåndtering og samtidighetskontroll Ragnar Normann Mange lysark er basert på en original laget av Hector Garcia-Molina INF3100 26.4.2005 Ragnar Normann 1 Transaksjoner En
INF3100 V2018 Obligatorisk oppgave nr. 2
INF3100 V2018 Obligatorisk oppgave nr. 2 Oppgavesettet skal løses og leveres individuelt. Gjennomføring og innlevering av oppgaven skal skje i henhold til gjeldende retningslinjer ved Institutt for informatikk,
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
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
DBS20 - Introduksjon til transaksjonsprosessering og teori
Side 1 for Databaser DBS20 - Introduksjon til transaksjonsprosessering og teori søndag 29. mai 2016 21.15 Pensum: 20.1-20-6, side 745-776, untatt 2.5.4 og 2.5.5 20.1 Introduksjon til transaksjonsprosessering
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:
Transaksjonshåndtering og samtidighetskontroll
UNIVERSITETET I OSLO Transaksjonshåndtering og samtidighetskontroll Institutt for Informatikk INF3100 7.3.2016 Ellen Munthe-Kaas 1 Transaksjoner En transaksjon er en sekvens av operasjoner som bevarer
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
Oppgave 1 Datamodellering 25 %
Side 1 av 6 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG TIL EKSAMENSOPPGAVE I FAG TDT4145 DATAMODELLERING OG DATABASESYSTEMER Eksamensdato:
Andre sett obligatoriske oppgaver i INF3100 V2013
Andre sett obligatoriske oppgaver i INF3100 V2013 Oppgavesettet skal i utgangspunktet løses av grupper på to og to studenter som leverer felles besvarelse. Vi godkjenner også individuelle besvarelser,
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
Relasjonsdatabasedesign. Ekstramateriale: Normalformer utover 4NF (ikke pensum)
UNIVERSITETET I OSLO Relasjonsdatabasedesign Ekstramateriale: Normalformer utover 4NF (ikke pensum) Institutt for Informatikk INF3100-26.1.2012 Ellen Munthe-Kaas 1 Høyere normalformer, oversikt 1NF BCNF
Normalformer utover 4NF (ikke pensum)
UNIVERSITETET I OSLO Normalformer utover 4NF (ikke pensum) Institutt for Informatikk INF3100 - Ellen Munthe-Kaas 1 Høyere normalformer, oversikt 1NF BCNF 4NF ETNF RFNF = KCNF SKNF 5NF INF3100 - Ellen Munthe-Kaas
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.
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
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
Normalisering. ER-modell
Normalisering Hensikten med normalisering: En informasjonsenhet ett sted. Forhindrer anomalier Anomalier: Innsettingsanomalier. F.eks være avhengig av å sette inn flere verdi, selv om det er det er bare
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,
Minikompendium TDT4145 databasemod og dbsys
Minikompendium TDT4145 databasemod og dbsys Pages og records Her er det viktig å holde tunga rett i munnen så man ikke blander begrepene. Page Den minste dataenheten databasesystemet leser og skriver til
Dagens tema: Oppdateringsanomalier Normalformer
UNIVERSITETET I OSLO INF300 Introduksjon til databaser Dagens tema: Oppdateringsanomalier Normalformer Institutt for informatikk INF300 08..0 [email protected] Hva kjennetegner god relasjonsdatabasedesign?
Samtidighetsfenomener og anomalier i eksekveringsplaner. INF Ellen Munthe-Kaas 1
Samtidighetsfenomener og anomalier i eksekveringsplaner INF3100 15.3.2012 Ellen Munthe-Kaas 1 Liste over fenomener og anomalier P0 Skitten skriv w 1 (x)..w 2 (x)..(c 1 eller a 1 ) P1 Skitten les w 1 (x)..r
Transaksjoner og flerbrukerproblematikk. Transaksjoner
LC238D http://www.aitel.hist.no/fag/_dmdb/ Transaksjoner og flerbrukerproblematikk Transaksjoner side 2-4 Låseteknikker side 5 Isolasjonsnivåer side 6-7 Flerbrukerproblemer i fbm utførelse av transaksjoner
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
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
UNIVERSITETET. Relasjonsdatabasedesign
UNIVERSITETET IOSLO Relasjonsdatabasedesign Normalformer Institutt for Informatikk INF3100-31.1.2011 Ellen Munthe-Kaas 1 Hvordan dekomponere tapsfritt Fagins teorem Gitt et relasjonsskjema R(XYZ) med FDer
Relasjonsdatabasedesign
UNIVERSITETET I OSLO Relasjonsdatabasedesign Normalformer Institutt for Informatikk INF3100-22.1.2013 Ellen Munthe-Kaas 1 Hvordan dekomponere tapsfritt Fagins teorem Gitt en relasjon R(XYZ) med FDer F.
Oppgaver INF3100. Oversikt over innholdet
Oppgaver INF3100 Dette heftet inneholder først og fremst løsningsforslag til oppgaver fra læreboken, men også noen ekstraoppgaver. Ekstraoppgavene er gitt navn etter hvilket kapittel de tilhører, og løsningsforslag
Dagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache
Dagens temaer Dagens emner er hentet fra Englander kapittel side 338-35 (gammel utgave). Mer om design av cache. Kort repetisjon er en spesiell type rask hukommelse som inneholder et subsett av det som
Relasjonsdatabasedesign
UNIVERSITETET I OSLO Relasjonsdatabasedesign Normalformer Institutt for Informatikk INF3100-25.1.2016 Ellen Munthe-Kaas 1 Normalformer Normalformer er et uttrykk for hvor godt vi har lykkes i en dekomposisjon
Relasjonsdatabasedesign
UNIVERSITETET I OSLO Relasjonsdatabasedesign Funksjonelle avhengigheter Oppdateringsanomalier Dekomponering Institutt for Informatikk INF3100-17.1.2014 Ellen Munthe-Kaas 1 Definisjon av nøkler Gitt en
Andre sett obligatoriske oppgaver i INF3100 V2012
Andre sett obligatoriske oppgaver i INF3100 V2012 Oppgavesettet skal i utgangspunktet løses av grupper på to og to studenter som leverer felles besvarelse. Vi godkjenner også individuelle besvarelser,
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
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
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
! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:
Dagens temaer! Ulike kategorier input/output! Programmert! Avbruddstyrt! med polling.! Direct Memory Access (DMA)! Asynkrone vs synkrone busser! Med! Fordi! -enheter menes de enheter og mekanismer som
Transaksjonshåndtering og samtidighetskontroll
UNIVERSITETET IOSLO Transaksjonshåndtering og samtidighetskontroll Institutt for Informatikk INF3100 1.3.2011 Ellen Munthe-Kaas 1 Transaksjoner En transaksjon er en sekvensens av operasjoner som bevarer
Normalformer or Normalisering 1NF, 2NF, 3NF, BCNF
Normalformer or Normalisering 1NF, 2NF, 3NF, BCNF Martin Giese 7. november 2018 1 Agenda Nytt eksempel Med funksjonelle avhengigheter 1NF (veldig kort) 2NF, Grundig Hva er vitsen? anomalier Få eksemplet
D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.
Side 1 av 7 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG TIL KONTINUASJONSEKSAMEN I FAG TDT4145 DATAMODELLERING OG DATABASESYSTEMER
D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.
Side 1 av 6 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG TIL EKSAMENSOPPGAVE I FAG TDT4145 DATAMODELLERING OG DATABASESYSTEMER, ver
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
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
Dagens temaer. Cache (repetisjon) Cache (repetisjon) Cache (repetisjon)
Dagens temaer Cache (repetisjon) Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) Typer, bruksområder og oppbygging ROM Typer, bruksområder og oppbygging Hukommelsesbusser
Integritetsregler i SQL. Primærnøkler
Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet - fremmednøkler Domenebegrensende integritetsregler skranker på attributter og tupler Interrelasjonsskranker assertions Triggere INF212
Forelesning 3 DAS - Systemtabeller, indekser, distribuerte systemer m.m. - Tom Heine Nätt/Edgar Bostrøm
Forelesning 3 DAS - Systemtabeller, indekser, distribuerte systemer m.m. - Tom Heine Nätt/Edgar Bostrøm Systemtabeller Alt er tabeller og SQL I MySQL: Databasen mysql F.eks SET SQL_LOG_BIN=0; SELECT @@SQL_LOG_BIN
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
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?
Hva har vi gjort? SQL og Databasedesign
Hva har vi gjort? SQL og Databasedesign HVA? Begrepsmessig databasedesign E/R diagram Logisk databasedesign Tabeller HVORDAN? Fysisk databasedesign Filer Indekser Etter vi har behandlet de mer statiske
Dagens temaer. Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM ROM. Hukommelsesbusser
Dagens temaer Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM Typer, bruksområder og oppbygging ROM Typer, bruksområder og oppbygging Hukommelsesbusser 1 Cache (repetisjon)
Effektiv eksekvering av spørsmål
UNIVERSITETET I OSLO Effektiv eksekvering av spørsmål Spørsmålshåndtering Modell for kostnadsberegning Kostnad for basisoperasjoner Implementasjonsalgoritmer Institutt for Informatikk INF3100 6.4.2016
Minnehå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
Dagens tema. Flere teknikker for å øke hastigheten
Dagens tema Flere teknikker for å øke hastigheten Cache-hukommelse del 1 (fra kapittel 6.5 i Computer Organisation and Architecture ) Hvorfor cache Grunnleggende virkemåte Direkte-avbildet cache Cache-arkitekturer
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
Relasjonsdatabasedesign
UNIVERSITETET I OSLO Relasjonsdatabasedesign Funksjonelle avhengigheter Oppdateringsanomalier Dekomponering Institutt for Informatikk INF3100-20.1.2016 Ellen Munthe-Kaas 1 Definisjon av nøkler Gitt en
EKSAMENSOPPGAVE I TDT4145 DATAMODELLERING OG DATABASESYSTEMER. Faglig kontakt under eksamen: Svein Erik Bratsberg og Roger Midtstraum
Side 1 av 5 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap EKSAMENSOPPGAVE I TDT4145 DATAMODELLERING OG DATABASESYSTEMER Faglig kontakt under eksamen:
Relasjonsdatabasedesign
UNIVERSITETET I OSLO Relasjonsdatabasedesign Flerverdiavhengigheter Høyere normalformer Institutt for Informatikk INF3100-27.1.2015 Ellen Munthe-Kaas 1 Flerverdiavhengigheter Flerverdiavhengigheter brukes
Oppgave 1 Datamodellering 22 %
Side 1 av 8 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG TIL EKSAMENSOPPGAVE I FAG TDT4145 DATAMODELLERING OG DATABASESYSTEMER Eksamensdato:
Relasjonsdatabaseteori
Relasjonsdatabaseteori Nøkler, funksjonelle avhengigheter og normalformer Arash Khorram [email protected] Lana Vu [email protected] Hva kjennetegner god relasjonsdatabasedesign? Relasjonene samler beslektet
