A.1 förklara de grundläggande begreppen relaterade till datorbaserade
informationssystem samt förklara de viktigaste problemen och regelverken i
samband med datahantering i stora organisationer och företag
A.2 översiktligt redogöra för olika databastyper, t.ex. relations-, dokument- och
objekt-baserade
A.3 förklara de olika typerna av modeller (konceptuell, logisk och fysisk) som
används för att ta fram och resonera kring en databas
A.4 förklara relationsmodellen, relationsalgebra, kopplingen till predikatlogik
och normalformer, samt
A.5 redogöra för hur data, t.ex. tabeller, kan lagras på block-enheter, t.ex.
hårddiskar, inklusive att kunna beskriva de algoritmer och datastrukturer som
behövs.
Färdighet och förmåga
B.1 utforma datamodeller på olika semantiska nivåer (begreppsmässig, logisk,
fysisk) med hjälp av lämplig formalism, såsom Entity-Relationship och
relationsmodeller
B.2 optimera en databasdesign genom att använda normalformer (1NF, 2NF,
3NF, BCNF), med beaktande av egenskaperna hos de fysiska medier som
används för datalagring, samt
B.3 implementera relationsdatamodeller i en databashanterare samt skapa, fråga
och manipulera data med hjälp av SQL via klientprogram och program
implementerade i Python.
Värderingsförmåga och förhållningssätt
C.1 analysera och värdera en domän och dess begränsningar som en datamodell
samt muntligt och skriftligt diskutera fördelarna och nackdelarna med designen
C.2 reflektera över egenskaperna hos olika datamodeller och välja de som är
mest lämpade för det problem som ska lösas, samt
C.3 resonera om hur olika designalternativ påverkar databasens egenskaper, t.ex.
prestanda och möjliga frågor.
Kursinnehåll
Kursen ger en introduktion till databaser och informationshanteringssystem. Den utgår från grunderna i hur data kan lagras, t.ex. via relationsmodellen eller via nätverksmodeller och diskuterar hur frågespråk kan byggas ovanpå dessa. Bra design diskuteras på flera olika nivåer, från logiska datamodeller, till t.ex. relationsmodellen och normalformer och den faktiska fysiska lagringen. Följande moment behandlas: Introduktion till datorbaserade informationshanteringssystem. Vikten av databaser och informationshantering i samhället. Vilken data kan, får och bör lagras. Vilka regelverk gäller, t.ex. GDPR. Konceptuella, logiska och fysiska datamodeller. Olika typer av databashanterare. Diagram för att modellera data, t.ex. E/R. Relationsmodeller och relationsalgebra. Databasfrågor och databasmanipulation med SQL. Funktionella beroenden och normalformer (1NF, 2NF, 3NF, BCNF). Installation och användning av vanliga databashanterare, t.ex. MySQL i labbmiljön. Utveckling av program som använder en databas. Predikatlogik och dess relation till databaser. Introduktion till samtidighet, låsning och hur transaktioner fungerar. Filsystem och hur data lagras på blockenheter (t.ex. hårddiskar).
Förutsättningar
Inledande programmering (1DT901), 7,5 hp och Diskret matematik (1MA902), 7,5 hp