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.

Kursmomenten introducerar begreppet transaktioner i en databas och vi tränar på SQL-kod för att hantera COMMIT och ROLLBACK i transaktioner.

I kursmomentet får vi också möta 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 ett diagram 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:

  1. Databasteknik
    • Kap 24: Transaktioner

Vissa av kapitlen finns i bokens webbkurs, del 2. Det finns ett kapitel om transaktioner.

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:

  1. Databasteknik
    • Kap 5: Relationsmodellen
    • Kap 6: Översättning från ER-modellen till relationsmodellen

En översikt av kapitel ovan finns i bokens webbkurs, del 1. Du kan till exempel läsa om hur du översätter ER-modellen till relationsmodellen.

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

  • 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.