Göm menyn

732G16 Databaser: design och programmering

Kursinformation


Målet med kursen är att ni ska lära er strukturera och arbeta med stora datamängder med hjälp av databasteknik. Många statistikpaket använder databasteknik för att lagra data, och kursen syftar till att ni ska förstå vilka möjligheter och begränsningar detta innebär. Ni ska förstå hur databaser fungerar och hur de kan användas, samt ha provat på att använda ett vanligt system. Ni ska också ha tillägnat er kunskap om hur man genom programmeringsteknik kan flytta data mellan olika databassystem och statistikpaket, vilket ibland behövs när man behöver analysera data i olika system. Kursen syftar till att ge kunskaper i design av databaser och databasapplikationer. För databasdesignen använder vi ER-modellering och relationsmodellen, för den praktiska implementationen MySql. Vi provar att använda databasen via ett vanligt R program, en av många tillgängliga tekniker.

Organisation

Kursen ges i form av en serie föreläsningar och laborationer, där laborationerna har som tema ett större projekt. Föreläsningarna ger tillsammans med litteraturen den teoretiska bakgrunden och laborationer ger möjligeheter att diskutera och tillämpa teorin på projektarbetet.

Kursinnehåll

I kursen går vi igenom de grundläggande begreppen inom databasområdet. I grunden handlar det om hur man med hjälp av datorer kan lagra och hantera stora mängder data i databaser. En viktig fråga för området är hur man lagrar data så att det är enkelt att analysera men inte tar större plats än som absolut behövs. Kommunikation med och underhåll av databasen sker genom ett program eller programsystem som kallas databashanterare. Kursens mål är att ni ska bli bekanta med en mycket vanlig databashanterare, MySql.

Om man ska skapa en databas som beskriver en del av verkligheten, t. ex. ett företag, bör man börja med att göra en beskrivning av hur den delen av verkligheten ser ut och fungerar, en s. k. begreppsmässig datamodell. Den metod som vi ska använda oss av kallas ER-modellering. Denna begreppsmässiga modell har i princip ingenting med datorer att göra, utan är en beskrivning av verkligheten som lika gärna skulle kunna användas t. ex. av någon som vill analysera hur företaget fungerar.

Sedan måste den begreppsmässiga modellen översättas till en datamodell som kan implementeras i form av en databas. Det finns flera sådana datamodeller men vi kommer att ägna oss huvudsakligen åt relationsmodellen, och se hur man gör för att modellera sina data med den. För att vi ska kunna komma åt databasen, dvs ställa frågor om de data som finns, ändra dessa data, eller definiera vilka data som ska lagras, erbjuder databashanteraren flera olika gränssnitt, t. ex. olika frågespråk eller andra konstruktioner. Vi kommer framför allt att använda oss av frågespråket SQL.

Vi kommer också att studera hur man ser till att databasen blir så informationssäker som möjligt, dels genom att se till att information inte lagras på fllera ställen och dels genom att se till att den inte kan ändras hur som helst och när som helst. Vi tittar också översiktligt på hur man kan optimera sin databas för snabba sökningar genom att ta hänsyn till hur data organiseras.

I vissa fall uppstår behov att flytta data mellan olika statistikpaket eller databashanterare. Ibland finns stöd för import eller export av data av databashanterarna eller statistikpaketen, men det är inte säkert. Därför kan man också behöva skriva sitt eget program för att hitta eller lagra data i databasen. I kursen görs detta med hjälp av programspråket R.


Sidansvarig: Eva Ragnemalm
Senast uppdaterad: 2022-04-03