Eksamensguide · Vår 2026

Zero to Database Hero

Det store bildet av hvordan du bruker denne siden — og pensum forøvrig — for å være klar til eksamen.

16
Forelesninger
Fordelt på 8 kapitler i to deler.
60/40
Vekting
Del 2 (Svein Erik) veier mer enn Del 1 (Theodoros).
100%
Flervalg
I år er det kun MCQ — ingen tegning eller langsvar.
Strategi

Tre prinsipper å lese etter

Før du dykker ned i et enkelt kapittel — fest disse tre i hodet. Resten av guiden er en utfoldelse av dem.

Prinsipp 1
Start med Del 2
Den veier mest (60 %) og er mest forutsigbar — Bratsberg gjenbruker mønstre fra år til år. Lagring, queries og transaksjoner er der du henter de sikre poengene.
Prinsipp 2
Gamle eksamener er gull
Spesielt for Del 2. I år er formatet endret til kun MCQ, men temaene og typespørsmålene er de samme. Bruk gamle oppgaver som diagnose: skjønner du hvorfor, ikke bare hva?
Prinsipp 3
MCQ ≠ overflate
Flervalg krever at du skiller riktig fra nesten riktig. Det betyr du må kjenne presise definisjoner og kantsaker — ikke bare ha en vag forståelse. Quiz aktivt mens du leser.
Format-endring i år

Tidligere år har eksamen hatt tegning (B+-trær, ER-diagram) og langsvar (relasjonsalgebra, normalisering). I år er det kun flervalg. Det gjør det lettere å bli ferdig i tide, men vanskeligere å gjette seg riktig — distraktorene er ofte plausible.

Anbefalt sekvens

Veien fra null til klar

En studieplan som er testet på maksimal effekt for minst tid. Hopp gjerne over steg du allerede er trygg på — men ikke hopp over steg 1.

  1. Bli kjent med kartet
    Les pensum-oversikten. Hvilke forelesninger som tilhører hva, og hvor i lærebok/notater hvert tema bor. Dette er kompasset ditt.
  2. Del 2 først — F11 til F16
    Lagring (kap 6 del 1B+-trær) → queries → transaksjoner (teorilåserrecovery). Dette er 60 % av eksamen — ta dem mens hodet er ferskt.
  3. Del 1 — F1 til F9
    Mye av dette har du sett på midtveiseksamen. Repeter relasjonsalgebra, SQL, ER og normalformer.
  4. Knytt det sammen — Reisen til query
    Reisen-siden binder Del 1 og Del 2 sammen ved å vise hvordan en SQL-spørring faktisk blir til disk-aksesser. Bruk den når du føler at temaene henger i løse tråder.
  5. Quiz aktivt på hver side
    Hver kapittelside har quiz-bokser. Svar før du leser fasit — gjettetreff teller ikke. Det du svarer feil på, er det du faktisk må lese om.
  6. Gamle eksamener under tidspress
    De siste dagene: gjør gamle eksamener på tid. Selv om årets format er MCQ, er innholdsrekkefølgen og dybden den samme. Sjekk hva du roter med — det er sannsynligvis det samme du roter med på den ekte.
Kapittel for kapittel

Hva sidene faktisk inneholder

For hvert kapittel: hva temaet er, hva som er viktig på MCQ, og hvor mye tid du bør sette av. Tidsestimatene er for én gjennomlesning med quiz — ikke for å mestre stoffet.

Del 1 · Theodoros · ~40 %
Kap 1~30 min
DBMS-arkitektur, hvorfor filsystemer ikke er nok, ACID som overordnet idé. Lett å skumme — men du skal kunne forklare ACID med egne ord.
MCQ-favoritt: «Hvilken egenskap brytes hvis…» — kjenn forskjellen på atomicity og durability.
Kap 2~1 t
To delsider: modellen (skjema, nøkler) og algebraen (σ π ⋈ ∪ −). Algebraen er språket bak SQL — ikke hopp over den.
MCQ-favoritt: Hvilket algebra-uttrykk svarer til hvilken SQL-spørring? Og: hva er forskjellen på primær- og kandidatnøkkel?
Kap 3~3 t
DDL og spørringsstrukturjoins og subqueriesviews, integritet, autorisasjonprosedyrer, triggere, rekursjon. På MCQ trenger du ikke skrive SQL — du må lese den og finne hva den returnerer eller hvor den feiler.
MCQ-favoritt: NULL-håndtering i aggregat. LEFT JOIN vs INNER JOIN. Korrelert vs ukorrelert subquery. Trigger-rekkefølge.
Kap 4~2 t
Tre delsider: ER-modellen, ER til skjema, normalformer. FD-er og BCNF er der MCQ-bygda er tett.
MCQ-favoritt: Er denne relasjonen i BCNF? 3NF? Hvilken FD bryter den? Lossless decomposition vs dependency-preservation.
Del 2 · Svein Erik · ~60 %
Kap 6~3 t
To delsider: lagring (poster, blokker, heapfiler, hashing) og B+-trær. Lær å regne ut antall blokk-aksesser og høyde i et B+-tre med gitt fanout.
MCQ-favoritt: Hvor mange blokker leses ved et søk i et B+-tre med fanout F og N nøkler? Hva skjer ved innsetting og splitting?
Kap 7~2 t
Aksessmetoder, ekstern sortering, join-algoritmer (nested loop, sort-merge, hash). Mengdetrening på kostnadsestimering — det er disse oppgavene som teller.
MCQ-favoritt: Hvilken algoritme er billigst for join når relasjon R og S har disse størrelsene? Hva er kostnaden i blokk-I/O for sort-merge join?
Kap 8~4 t
Tre delsider og sannsynligvis høyt vektet: intro og teori (ACID, schedules, serializability) → samtidighet (2PL, deadlocks, MVCC) → recovery (ARIES, log, checkpoints). Bruk reisen-siden hvis ARIES kjennes abstrakt.
MCQ-favoritt: Er denne schedulen serialiserbar? Konflikt- vs view-serialiserbar? Hva gjør ARIES under undo-fasen? Hva er en CLR?
Tidsplan

Tre planer etter hvor mye tid du har

Alt er bedre enn ingenting — men start med Del 2 uansett.

3 dager igjen
Krise-modus
  • Dag 1: F11–F12 (lagring, B+-trær)
  • Dag 2: F13–F16 (queries + transaksjoner)
  • Dag 3: Én gammel eksamen + raskt overblikk Del 1
14+ dager igjen
Komfortabel
  • Uke 1: Del 2 i dybde, ett tema om dagen
  • Uke 2 (start): Del 1 + alle quizene
  • Siste dager: 3+ gamle eksamener, ARIES på papir
Fallgruver

Vanlige feil på nesten riktig-distraktorer

Disse er de klassiske MCQ-fellene. Hvis du blander dem, mister du sikre poeng.

  • 2PL ≠ 2PC. Two-Phase Locking er samtidighetskontroll på én database. Two-Phase Commit er distribuert transaksjon-koordinering. Helt forskjellige ting.
  • Strict 2PL ≠ Rigorous 2PL. Strict slipper share-låser tidlig, rigorous holder alle til commit. Serializable + cascadeless er fellestrekk.
  • BCNF ≠ 3NF. Hver BCNF er 3NF, men ikke omvendt. 3NF tillater én FD-type BCNF ikke gjør (key → non-prime attribute via transitiv-unntaket).
  • Konflikt-serialiserbar ≠ view-serialiserbar. Alle konflikt-serialiserbare er view-serialiserbare, men ikke omvendt. Blind writes er forskjellen.
  • WAL: log før data, ikke etter. Loggrecord må på disk før tilhørende dataside. ARIES holder fast på dette.
  • B+-tre ≠ B-tre. B+-tre har data kun i blader, og bladene er lenket. B-tre har data i alle noder. Pensum bruker B+.
  • Kandidatnøkkel ≠ supernøkkel. Kandidat er minimal super. Glem ikke minimaliteten.
  • NULL i aggregat. COUNT(*) teller alle rader, COUNT(kolonne) hopper over NULL. SUM/AVG ignorerer NULL stille.
Til slutt

Lykke til

Husk at flervalg belønner presisjon, ikke flid alene. Det er bedre å forstå tre kapitler dypt enn åtte kapitler overflatisk. Hvis du sitter fast: prøv å forklare temaet høyt eller skrive det ned med egne ord — du oppdager fort hvor hullene er.

Når du føler deg klar: gå på reisen til en query en siste gang, og se om du kan kommentere hvert steg. Hvis ja — du er hero.