Kmom04: Transaktioner
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.
(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.
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.
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:
Databasteknik om transaktioner.
- Kap 24: Transaktioner
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.
- 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.
Läs översiktligt om vad Express klarar av som webb- och applikationsserver. Kolla runt i dokumentationen och bekanta dig med begrepp och exempelkod.
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:
-
- Kap 5: Relationsmodellen
- Kap 6: Översättning från ER-modellen till relationsmodellen
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.
- 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.
- 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.
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
.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
.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.
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
.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.
Redovisningstexten skrivs alltid individuellt.
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.