Kmom04: Transaktioner

By . Latest revision .

Kursmomenten hanterar begreppet transaktioner i en databas.

I kursmomentet introduceras också en webbserver för Node.js i form av Express. Du kommer igång med Express och ser hur du kan bygga upp grunderna i en webbtjänst och hur du kan skriva din applikationskod för att komma åt en databas, visa rapporter och uppdatera innehåll.

Vi sluför ER-modellen med fokus på logisk och fysisk modellering. Den resulterande databasen implementeras och vi använder Express för att skapa ett webbaserat gränssnitt. Vi bygger en terminalklient för att skapa ett textbaserat gränssnitt mot databasen.

En bank i Express som kopplar sig till MySQL, redo för transaktioner.

En bank i Express som kopplar sig till MySQL, redo för transaktioner.

Via terminalklienten kan du flytta pengar mellan två konton, i skydd av en transaktion.

Via terminalklienten kan du flytta pengar mellan två konton, i skydd av en transaktion.

(Detta är instruktionen för kursmomentet och omfattar det som skall göras inom ramen för kursmomentet. Momentet omfattar cirka 20 studietimmar inklusive läsning, arbete med övningar och uppgifter, felsökning, problemlösning, redovisning och eftertanke. Läs igenom hela kursmomentet innan du börjar jobba. Om möjligt – planera och prioritera var du vill lägga tiden.)

#Läsanvisningar

(ca: 8-10 studietimmar)

#Kurslitteratur

Läs följande:

  1. Databasteknik
    • Kap 23: Transaktioner

Vissa av kapitlen finns i bokens webbkurs, del 2.

Det finns ytterligare ett kapitel i boken som är relaterat till transaktioner, det går utanför kursens ram men läs vid intresse.

  1. Databasteknik
    • Kap 24: Hur transaktioner hanteras inuti databashanteraren

#Artiklar

Läs följande:

  1. Om du känner behov av att träna upp dig i, eller repetera, tekniker för klientsidan (webbläsaren) med HTML, CSS och JavaScript så kan du utgå från tipset “Kom igång (snabbt) med HTML, CSS och JavaScript” som ger dig en snabb insyn i de tre teknikerna och hur de samverkar i webbläsaren.

  2. Läs översiktligt om vad Express klarar av som webb- och applikationsserver. Kolla runt i dokumentationen och bekanta dig med begrepp och exempelkod.

#Övningar & Uppgifter

(ca: 8-10 studietimmar)

#Övningar

Genomför följande övning för att förbereda inför uppgifterna.

  1. Jobba igenom “Transaktioner i databas” för att lära dig grunderna i hur du använder transaktioner i databaser. Spara dina exempelprogram i me/kmom04/trans.

  2. Jobba igenom artikeln “Grunderna i Express med Node.js” för att komma igång med webb- och applikationsservern Express i Node.js. Spara dina exempelprogram i me/kmom04/myexpress.

  3. Jobba igenom artikeln “Koppla appservern Express till databasen MySQL” som visar hur du kan jobba med MySQL tillsammans med Express och Node.js. Spara dina exempelprogram i me/kmom04/express-sql.

#Uppgifter

Dessa uppgifter skall utföras och redovisas.

  1. Gör uppgiften “Skapa ER-modell för en databas (logisk/fysisk)”. Detta är den avslutande delen av uppgiften. Spara allt du gör i me/kmom04/er2.

  2. Gör uppgiften “Flytta pengar med terminalprogram och med Express” för att jobba med flera klienter mot samma databas. Bygg vidare på din kod i me/kmom04/express-sql.

  3. Gör uppgiften “Skapa en Eshop med två klienter” som bygger vidare på din ER-modell och låter dig skapa databasen tillsammans med en terminalklient och en webbklient. Spara all kod under me/kmom04/eshop1.

#Resultat & Redovisning

(ca: 1-2 studietimmar)

Läs instruktionen om hur du skall redovisa.

Se till att följande frågor besvaras i redovisningstexten.

  • Hur gick det att förstå konceptet transaktioner i databas?
  • Gick det bra att komma igång med Express och MySQL?
  • Lyckas du med god kodstruktur för terminal och webbklient?
  • Gick det bra att sluföra uppgiften om ER modellering samt implementera databasen och de båda klienterna?
  • Känns det som du har koll på teknikerna och hur de samverkar eller känner du saknad av något?
  • Vilken är din TIL för detta kmom?

#Revision history

  • 2018-01-09: (A, mos) Första utgåvan.

Document source.