Kmom04: Transaktioner
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.
(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 ett diagram 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:
- 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.
- 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:
- 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.
- 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.
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.