Hoppa till huvudinnehållet

IV1007 Databasteknik 6,0 hp

Kursomgångar saknas för aktuella eller kommande terminer.
Rubriker med innehåll från kursplan IV1007 (HT 2009–) är markerade med en asterisk ( )

Innehåll och lärandemål

Kursinnehåll

Kursen inleds med en översikt över olika typer av konceptuell modellering och olika tekniker för databasmodellering. Därefter går kursen in på kravanalys utifrån ett beställarperspektiv och diskuterar hur konceptuella modeller kan stödja denna analys. UML:s klassdiagram används som modelleringsspråk och olika typer av dataabstraktioner och modelleringsmönster introduceras för att exemplifiera ’god’ design av konceptuella modeller och relationsdatabasmodeller. Kursen behandlar vidare syntetisk databasdesign, dvs hur man översätter en konceptuell modell till en relationsdatabasmodell. Tre-nivå-arkitekturer där ett databashanteringssystem kan analyseras utifrån begreppen datalager, appliktionslogik och användargränssnitt diskuteras och kursen fördjupar inom datalagernivån. Relationsmodellen behandlas utförligt inklusive designprinciper som normalformer. Kursen behandlar frågespråk och introducerar teoretiska modeller, särskilt relationsalgebra, såväl som industriella standarder, särskilt SQL. Kursen ger en översikt över databashanteringssystem, särskilt transaktionshantering.

Lärandemål

Efter godkänd kurs skall studenten:
1. kunna redogöra för och praktiskt tillämpa teorier, metoder och verktyg som används inom informationsadministration och databasteknik.
2. kunna utforma konceptuella modeller utifrån ett användar/beställar-perspektiv.
3. kunna översätta konceptuella modeller till relationsdatabasmodeller.
4. kunna utforma relationsdatabasmodeller så att de uppfyller höga krav på kvalitet.
5. ha färdigheter i att använda relationsdatabaser och frågespråk.

Kurslitteratur och förberedelser

Särskild behörighet

Grundläggande behörighet.

Rekommenderade förkunskaper

Ingen information tillagd

Utrustning

Ingen information tillagd

Kurslitteratur

Preliminärt:

Silberschatz, Korth & Sudarshan: Database System Concepts (Upplaga: 5:e upplagan), McGraw-Hill, 2005

Artiklar & kompendier
Föreläsningsbilder

Examination och slutförande

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

Betygsskala

A, B, C, D, E, FX, F

Examination

  • PRO1 - Projekt, 2,0 hp, betygsskala: P, F
  • SEM1 - Seminarium, 1,0 hp, betygsskala: P, F
  • TEN1 - Tentamen, 3,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.

Kursens examination består av tre delar:
Skriftlig tentamen, projektuppgift och seminarier.
Betyg på kursen sätts efter resultatet på tentamen.

Tentamen
Den studerande genomför en individuell skriftlig salstentamen.

Projektuppgift
Uppgift:
De studerande skall i grupper om fyra till fem deltagare genomföra en projektuppgift som avser att illustrera utveckling av en relationsdatabas från analys till implementering.

Seminarier
Uppgift:
Seminarierna (4 st.) är obligatoriska och den studerande skall inför varje seminarium lämna in ett skriftligt lösningsförslag på angiven uppgift.

Nedan ges först betygskriterier för kursmålen och sedan instruktioner för hur dessa kursmål examineras på vart och ett av de tre examinationsmomenten tentamen, projektuppgift och seminarier.

Betygskriterier för kursmålen:

1. kunna redogöra för teorier, metoder och verktyg som används inom informationsadministration och databasteknik.
E Kunna korrekt definiera och använda minst 70 % av ett urval av centrala termer och begrepp inom områdena tre-nivå-arkitekturer, databashanteringssystem, relationsmodellen, data-abstraktioner, optimering, och transaktionshantering.
Fx Kunna korrekt definiera och använda minst 50 % av ett urval av centrala termer och begrepp inom områdena tre-nivå-arkitekturer, databashanteringssystem, relationsmodellen, data-abstraktioner, optimering och transaktionshantering.

2. kunna utforma konceptuella modeller utifrån ett användar/beställar-perspektiv.
A Kunna utforma en modell som är syntaktiskt korrekt, semantiskt korrekt, icke-redundant (inte innehåller överflödiga element med avseende på användarkraven), fullständig (inte utelämnar relevanta företeelser som är nämnda i användarkraven), lättförståelig, och så kompakt som möjligt utan att göra avkall på lättförståeligheten
B Kunna utforma en modell som är syntaktiskt korrekt, nästan semantiskt korrekt, icke-redundant (inte innehåller överflödiga element med avseende på användarkraven), nästan fullständig (inte utelämnar relevanta företeelser som är nämnda i användarkraven), lättförståelig, och så kompakt som möjligt utan att göra avkall på lättförståeligheten
C Kunna utforma en modell som är syntaktiskt korrekt, i stort sett semantiskt korrekt, i stort sett fullständig (inte utelämnar relevanta företeelser med avseende på användarkraven), lättförståelig, och så kompakt som möjligt utan att göra avkall på lättförståeligheten
D Kunna utforma en modell som är i stort sett syntaktiskt korrekt, i stort sett semantiskt korrekt, i stort sett fullständig (inte utelämnar relevanta företeelser som är nämnda i användarkraven), och lättförståelig
E Kunna utforma en modell som är i stort sett syntaktiskt korrekt, i stort sett semantiskt korrekt, och innehåller flera relevanta företeelser som är nämnda i användarkraven
Fx Kunna utforma en modell som är till stor del syntaktiskt korrekt, till stor del semantiskt korrekt, och innehåller flera relevanta företeelser som är nämnda i användarkraven

3. kunna översätta konceptuella modeller till relationsdatabasmodeller.
A Kunna överföra en konceptuell modell till ett relationsdatabasschema som är syntaktiskt korrekt och fullständigt med avseende på att alla klasser, attribut och relationer i den konceptuella modellen är översatta, icke-reduntant i så motto att inga nya relationscheman eller attribut tillkommit (annat än sådana som rör en översättningsregel), att inga partiella attribut förekommer.
B Kunna överföra en konceptuell modell till ett relationsdatabasschema som är syntaktiskt korrekt och fullständigt med avseende på att alla klasser, attribut och relationer i den konceptuella modellen är översatta, icke-reduntant i så motto att inga nya relationscheman eller attribut tillkommit (annat än sådana som rör en översättningsregel).
C Kunna överföra en konceptuell modell till ett relationsdatabasschema som är syntaktiskt korrekt och i stort sett fullständigt med avseende på att nästan alla klasser, attribut och relationer i den konceptuella modellen är översatta, icke-reduntant i så motto att inga nya relationscheman eller attribut tillkommit (annat än sådana som rör en översättningsregel).
D Kunna överföra en konceptuell modell till ett relationsdatabasschema som är syntaktiskt korrekt och i stort sett fullständigt med avseende på att nästan alla klasser, attribut och relationer i den konceptuella modellen är översatta.
E Kunna överföra en konceptuell modell till ett relationsdatabasschema som är i stort sätt syntaktiskt korrekt och i stort sett fullständigt med avseende på att nästan alla klasser, attribut och relationer i den konceptuella modellen är översatta.
Fx Kunna överföra en konceptuell modell till ett i stort sett syntaktiskt korrekt relationsdatabasschema, där flera attribut, klasser och relationer från den konceptuella modellen är översatta.

4. kunna utforma relationsdatabasmodeller så att de uppfyller krav på hög kvalitet.
A Kunna definiera kriterier för att ett relationsschema uppfyller en viss normalform, motivera varför ett relationsscheman uppfyller en viss normalform men inte nästa (högre) normalform, överföra relationsscheman från en normalform till en annan, redogöra teoretiskt för varför en högre normalform är att föredra framför en lägre, visa med exempel-relationer varför en högre normalform är att föredra framför en lägre, kunna redogöra för varför man i undantagsfall väljer att inte normalisera, definiera funktionellt beroende, kunna exemplifiera relationscheman som uppfyller funktionella beroenden såväl som scheman som bryter mot ett funktionellt beroende.
B Kunna definiera kriterier för att ett relationsschema uppfyller en viss normalform, motivera varför relationsscheman uppfyller en viss normalform men inte nästa (högre) normalform, överföra relationsscheman från en normalform till en annan, redogöra teoretiskt för varför en högre normalform är att föredra framför en lägre, definiera funktionellt beroende, kunna exemplifiera relationscheman som uppfyller funktionella beroenden såväl som scheman som bryter mot ett funktionellt beroende.
C Kunna definiera kriterier för att ett relationsschema uppfyller en viss normalform, motivera varför relationsscheman uppfyller en viss normalform men inte nästa (högre) normalform, överföra relationsscheman från en normalform till en annan, redogöra teoretiskt för varför en högre normalform är att föredra framför en lägre, definiera funktionellt beroende, kunna exemplifiera relationscheman som uppfyller funktionella beroenden.
D Kunna definiera kriterier för att ett relationsschema uppfyller en viss normalform, överföra relationsscheman från en normalform till en annan, redogöra teoretiskt för varför en högre normalform är att föredra framför en lägre, definiera funktionellt beroende, kunna exemplifiera relationscheman som uppfyller funktionella beroenden.
E Kunna definiera kriterier för att ett relationsschema uppfyller en viss normalform, överföra relationsscheman från en normalform till en annan, redogöra teoretiskt för varför en högre normalform är att föredra framför en lägre, definiera funktionellt beroende.
Fx Kunna definiera kriterier för att ett relationsschema uppfyller en viss normalform och redogöra teoretiskt för varför en högre normalform är att föredra framför en lägre.

5. ha färdigheter i att använda relationsdatabaser och frågespråk.
A Kunna definiera ett relationsdatabaschema i ett modernt RDBMS, kunna lägga in och ta bort rader i databasschemat, implementera verksamhetsregler och konsistensregler via främmande nyckel-regler och triggers, söka och uppdatera information i databasen via såväl SQL-DML som relationsalgebra som är syntaktiskt och semantiskt korrekt och skriven på ett lättläst och kompakt sätt.
B Kunna definiera ett relationsdatabaschema i ett modernt RDBMS, kunna lägga in och ta bort rader i databasschemat, implementera verksamhetsregler och konsistensregler via främmande nyckel-regler och triggers, söka och uppdatera information i databasen via såväl SQL-DML som relationsalgebra som är syntaktiskt och semantiskt korrekt.
C Kunna definiera ett relationsdatabaschema i ett modernt RDBMS, kunna lägga in och ta bort rader i databasschemat, implementera verksamhetsregler och konsistensregler via främmande nyckel-regler och triggers, söka och uppdatera information i databasen via såväl SQL-DML som relationsalgebra som är syntaktiskt korrekt och i stort sett semantiskt korrekt.
D Kunna definiera ett relationsdatabaschema i ett modernt RDBMS, kunna lägga in och ta bort rader i databasschemat, implementera konsistensregler via främmande nyckel-regler, söka och uppdatera information i databasen via såväl SQL-DML som relationsalgebra som är syntaktiskt korrekt men som inte implementerar en fullständig lösning på sökningen eller uppdateringen av databasen.
E Kunna definiera ett relationsdatabaschema i ett modernt RDBMS, kunna lägga in och ta bort rader i databasschemat, implementera konsistensregler via främmande nyckel-regler, söka, uppdatera och ta bort information i databasen via såväl SQL-DML som relationsalgebra som är i stort sett syntaktiskt korrekt men som inte implementerar en fullständig lösning på sökningen eller uppdateringen av databasen.
Fx Kunna definiera ett relationsdatabaschema i ett modernt RDBMS, kunna lägga in och ta bort rader i databasschemat, implementera konsistensregler via främmande nyckel-regler.

Betygskriterier för examinationsmomenten

Tentamen
Vid tentamen mäts mål 1, 2, 3, 4, 5
Nedanstående skall vara uppfyllt för att erhålla ett visst betyg på exminationsmomentet.
A Mål 1 skall vara godkänt (detta mål har endast godkänt/icke godkänt). Tre av målen skall vara uppfyllda med betyg A, ett av målen skall vara uppfyllt med minst betyg B
B Mål 1 skall vara godkänt (detta mål har endast godkänt/icke godkänt). Tre av målen skall vara uppfyllda med minst betyg B, ett av målen skall vara uppfyllt med minst betyg C
C Mål 1 skall vara godkänt (detta mål har endast godkänt/icke godkänt). Tre av målen skall vara uppfyllda med minst betyg C, ett av målen skall vara uppfyllt med minst betyg D
D Mål 1 skall vara godkänt (detta mål har endast godkänt/icke godkänt). Tre av målen skall vara uppfyllda med minst betyg D, ett av målen skall vara uppfyllt med minst betyg E
E Samtliga mål skall vara uppfyllda med minst betyg E
Fx Två mål skall vara uppfyllda med minst betyg E och två mål skall vara uppfyllda med minst betyg Fx

Projekt
I projektarbetet mäts mål 1, 2, 3, 4, 5
Nedanstående skall vara uppfyllt för att erhålla ett visst betyg på exminationsmomentet.
P Samtliga mål skall vara uppfyllda med minst betyg P

Seminarier
Via seminarierna mäts mål 2, 3, 4 och 5
Nedanstående skall vara uppfyllt för att erhålla ett visst betyg på exminationsmomentet.
P Samtliga mål skall vara uppfyllda med minst betyg P

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

Examinator

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

Kursrum i Canvas

Registrerade studenter hittar information för genomförande av kursen i kursrummet i Canvas. En länk till kursrummet finns under fliken Studier i Personliga menyn vid kursstart.

Ges av

Huvudområde

Teknik

Utbildningsnivå

Grundnivå

Påbyggnad

Ingen information tillagd

Kontaktperson

Maria Bergholtz, maria@dsv.su.se, 08-161658

Övrig information

Kursen utvärderas och utvecklas i enlighet med KTH:s policy för kursanalys. 

Kursen ersätts fr o m hösten 2011 av IV1351.