Kmom04: Transaktioner

By . Latest revision .

Vi sluför ER-modellen med fokus på logisk och fysisk modellering. Vi skapar SQL-kod som kan skapa databasens schema.

Vi tittar på hur transaktioner i en databas fungerar och vi tränar på SQL-kod för att hantera COMMIT och ROLLBACK i så kallade ACID transaktioner.

I kursmomentet blir vi också introducerade till en webbserver för Node.js i form av Express.js. 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 och visa rapporter från den och uppdatera databasens innehåll via webbplatsen.

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.

Vi översätter vår ER-modell till relationsmodellen och skapar SQL-kod.

Vi översätter vår ER-modell till relationsmodellen och skapar SQL-kod.

(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äs & Studera

(ca: 8-10 studietimmar)

#Föreläsningar

Titta på följande inspelade föreläsningar.

  1. Databasmodellering - Översätt till relationsmodellen ger en översikt till hur du kan översätta en ER-modell från den konceptuella fasen till en databasmodell som matchar relationsmodellen i den logisk modelleringsfasen.

  2. Transaktioner i databaser - ACID ger en översikt till begreppet transaktioner i databasen och vad ACID innebär samt en liten utläggning om låsning, prestanda och tillförlitlighet i databasen.

#Databasteknik: Transaktioner

Läs följande i kursboken:

  1. Databasteknik om transaktioner.

    • Kap 24: Transaktioner
  2. Boken har även en webbplats och vissa utdrag från boken finns där. Relevant för detta kmom är följande:

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 25: Hur transaktioner hanteras inuti databashanteraren

#Node.js och Express.js

Läs följande som är relaterat till att bygga en webbserver i Node.js med applikationsservern Express.js.

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

  2. Bekanta dig snabbt med templatemotorn “Embedded JavaScript templating (EJS)” som hjälper dig skapa dynamiska webbsidor.

#Databasteknik: ER-modellering

Läs följande i kursboken:

  1. Databasteknik

    • Kap 5: Relationsmodellen
    • Kap 6: Översättning från ER-modellen till relationsmodellen
  2. Boken har även en webbplats och vissa utdrag från boken finns där. Relevant för detta kmom är följande:

Det finns ytterligare kapitel i boken som är relaterat till modellering. De går utanför kursens omfattning men läs vid intresse.

  1. Databasteknik
    • Kap 3: Mer om datamodellering
    • Kap 12: Normalformer och normalisering

#ER-modellering

Följande är samma resurser som används i kmom03. Fortsätt läsa och repetera vid behov. Det ger dig stöd för uppgiften om ER-modellering.

  1. Jobba igenom artikeln “Kokbok för databasmodellering”, den ger dig processen du skall följa. I detta kmom handlar det främst om att fokusera på logisk och fysisk modellering.

#Ö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.

#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.js, Node, EJS och MySQL?
  • Lyckas du med god kodstruktur för terminal och webbklient, du såg att man kunde göra en enda funktion som löste flytten av pengar åt båda hållen?
  • Gick det bra att sluföra uppgiften om ER modellering samt skapa SQL-kod för databasen?
  • Hur känner du allmänt inför kursen så här långt?
  • Vilken är din TIL för detta kmom?

#Revision history

  • 2022-01-18: (F, mos) Genomgången och uppdaterad inför version 2 och vt2022.
  • 2021-02-10: (E, mos) Lade till inspelade föreläsningar.
  • 2019-02-13: (D, mos) Lade till läsanvisning om EJS.
  • 2019-02-08: (C, mos) Uppdaterat inför vt19.
  • 2018-12-19: (B, mos) Uppdaterat läsanvisning utgåva 2 av kursbok.
  • 2018-01-09: (A, mos) Första utgåvan.

Document source.