Hoppa till huvudinnehållet
Till KTH:s startsida

HI1030 Databasteknik 7,0 hp

Kurs-PM HT 2025-50707

Version 1 – 2025-09-18 11:09:17

Kursomgång

HT 2025-50707 (Startdatum 2025-10-27, Svenska)

Undervisningsspråk

Svenska

Kursen ges av

CBH/Medicinteknik och hälsosystem

Kurs-PM HT 2025

Rubriker markerade med en asterisk ( * ) kommer från kursplan version undefined

Innehåll och lärandemål

Kursinnehåll

  • Databassystem
  • Relationsmodellen
  • Er-/eer-modellering
  • Normalisering och normalformer
  • Frågespråket SQL
  • Databasprogrammering i objektorienterade programmeringsspråk
  • Transaktioner
  • NoSQL databaserna
  • Grundläggande Datamining

Lärandemål

Kursen skall ge studenterna kunskaper om begrepp och metoder inom databasteknik med särskild vikt vid relationsmodellen, ER-modulering, normaliseringsprocessen, SQL samt NoSQL databaser.

För godkänt betyg skall studenten kunna:

  • Beskriva relationsmodellens uppbyggnad och egenskaper, relationsnycklarnas egenskaper och restriktioner för datalagring
  • Utföra er-modellering i ett moduleringsspråk utifrån en beskrivning av verksamheten
  • Utföra en översättning i er-modellen till relationsmodellen och vice versa
  • Utföra normaliseringsprocessen och normalisera relationer
  • Förklara och använda transaktioner och beskriva acid-egenskaperna
  • Använda sig av SQL som frågespråk.
  • Beskriva skillnader och likheter mellan olika NoSQL datbaser och hur de skiljer sig mot relationsdatabaser
  • Förklara olika metoder för datamining
  • Skriva program i ett objektorienterat programmeringsspråk som implementerar databasanslutning mot olika databaser.

Introduktion till kursen

I alla större system måste man kunna lagra information persistent (beständigt). Det kan vara information om kunder, varor och köp i en webbshop, patientjournaler inom vården eller information om inlägg, användare, och relationer mellan dessa, i ett community.

Informationen ska vara sökbar och kunna uppdateras. Informationen måste hanteras på ett korrekt sätt, bl.a. ska transaktioner kunna ske parallellt, de ska utföras i sin helhet eller inte alls och informationen ska bevaras även om systemet kraschar. Det är också viktigt att ha en korrekt och effektiv modell för hur informationen ska representeras, bl.a. så att man undviker redundans och att information går förlorad.

För att bemästra detta behöver du förstå begrepp som relationsmodellen, ER-modellering, relationsalgebra, normalisering, databashanterare, databas, transaktioner, ACID, SQL m.fl.

Under denna kurs ska du studera begrepp och metoder inom databasteknik med särskild vikt vid relationsmodellen, ER-modellering, normaliseringsprocessen och högnivåspråket SQL.

Du kommer även att studera databaser som inte följer relationsmodellen, s.k. NoSQL, samt begreppet "data mining".

Kursgenomförande

TEN1

Varje vecka under första halvan av kursen ges en föreläsning som fungerar som en introduktion och översikt över det område du ska sätta dig in i. Föreläsningsbilder publiceras inte. Inom ca en vecka ska du lämna in en individuell sammanfattning av motsvarande kapitel i kurslitteraturen samt lösningen av en uppgift eller quiz .

Därefter ska en större gruppuppgift, genomföras. Maximal gruppstorlek är fyra studenter. Endast studenter som är godkända på den individuella inlämningen får delta i arbetet med gruppuppgiften. Gruppuppgiften introduceras vid en schemalagd övning. Gruppövningarna redovisas sedan genom inlämning samt genom en muntlig presentation.
De tider som gruppen kommer överens om för att arbeta med gruppuppgiften ska respekteras. Om en student uteblir, utan giltigt skäl, från en överenskommen tid eller är försenad upprepade gånger, fortsätter gruppen arbetet utan denne; studenten ifråga kontaktar kursansvarig för en alternativ uppgift.
Tiderna bör läggas 8-17. Ingen kan kräva att tider ska ligga efter kl. 17.

Under övning och redovisning (se schema) gäller obligatorisk närvaro.

Inlämningsdatum

Sista inlämning för sammanfattningen och den individuella uppgiften är kl. 12:00 dagen innan den schemalagda övningen, då motsvarande gruppuppgift introduceras. Gruppuppgifterna lämnas in senast dagen före presentationen (märkt "redovisning" i schemat).

Sen inlämning

De individuella uppgifterna måste lämnas in i tid. Om en individuell sammanfattning inte lämnas in i tid eller blir underkänd får denna, och motsvarande gruppuppgift lämnas in senare, enligt lärares anvisningar. Högst en gruppuppgit får redovisas i efterhand.

Frivillig rapport

Ett frivillig "short paper", med tillhörande "peer review", kan skrivas för högre betyg.

LAB1

Under andra halvan av kursen ska två praktiska modellerings- och programmeringsuppgifter utföras, en mot en relationsdatabas och en mot en NoSQL-databas. Inför varje laboration ges en introducerande föreläsning.

Behörighet LAB1

Om du inte är godkänd på momentet LAB1, kursen HI1027, får du inte genomföra momentet LAB1 på denna kurs. 

Förberedelser inför kursstart

Särskilda förberedelser

Förtydligande om behörighet till denna kurs, HI1030

Alla får läsa TEN1, dvs. den första delen, som behandlar teori.

För det andra momentet, LAB1, som innehåller två programmeringsuppgifter, måste du vara godkänd på LAB1 från kursen HI1027, objektorienterad programmering. Om du endast har den sista laborationen kvar från HI1027 kan denna redovisas i omtentamensperioden i december. Du kan sedan redovisa de två uppgifterna på LAB1, HI1030, i januari.

Kurslitteratur

Föreläsning och inlämningsuppgift 1-3: Databases Illuminated, fourth edition, (Ricardo, Urban, Davis). Förlag: Jones and Bartlett. ISBN: 9781284231588.
Bokes finns även att hyra som e-bok via förlaget.

Föreläsning och inlämningsuppgift 4: SQL & NoSQL Databases, Models, Languages, Consistency Options and Architectures for Big Data Management, second edition (Kaufmann, Meier). Förlag: Springer Nature.
Boken kan laddas ned gratis via tjänsten Primo på KTHB.

Programvara

Programvara för MySQL respektive MongoDb. Versioner presenteras under kursen.

Examination och slutförande

Betygsskala

Ingen information tillagd

Examination

  • TEN1 - Tentamen, 3,0 hp, betygsskala: A, B, C, D, E, FX, F
  • LAB1 - Laborationer, 4,0 hp, betygsskala: A, B, C, D, E, FX, F

Examinator beslutar, baserat på rekommendation från KTH:s handläggare av stöd till studenter med funktionsnedsättning, om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning.

Examinator får medge annan examinationsform vid omexamination av enstaka studenter.

När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.

Avsnittet nedan kommer inte från kursplanen:

TEN1 - Tentamen, 3,0 hp

Varje godkänd gruppinlämning, se kursgenomförande, bedöms med 1 eller 2 poäng. En uppgift som redovisas i efterhand kan maximalt ge 1 poäng. Förutsatt att alla fyra inlämningar är godkända ges betyg enligt nedanstående skala.

4-5 poäng: E
6-7 poäng: D
8 poäng: C

För studenter som vill ha högre betyg än C finns möjligheten att skriva en rapport, short paper, tillsammans med en prestation och "peer review" av denna. Närmare information om detta presenteras på kurswebben.

LAB1 - Laborationer, 4,0 hp

Två praktiska uppgifter i modellering och programmering som ska resultera i en databas med tillhörande klientapplikation som kommunicerar med denna databass Upgifterna löses med en relations- respektive en NoSQL-databas. Uppgifterna kan ge 1-4 respektive 1-2 poäng.

Givet att båda uppgifterna är godkända ges nedanstående betyg.

2 poäng: E
3 poäng: D
4 poäng: C
5 poäng: B
6 poäng: A

Slutbetyg

Slutbetyget är ett viktat medelvärde av betygen på TEN1 och LAB1.

Etiskt förhållningssätt

  • Vid grupparbete har alla i gruppen ansvar för gruppens arbete.
  • Vid examination ska varje student ärligt redovisa hjälp som erhållits och källor som använts.
  • Vid muntlig examination ska varje student kunna redogöra för hela uppgiften och hela lösningen.

Ytterligare Information

Ingen information tillagd

Fakta om kursomgång

Startdatum

2025-10-27

Kursomgång

  • HT 2025-50707

Undervisningsspråk

Svenska

Kursen ges av

CBH/Medicinteknik och hälsosystem

Kontakter