Kmom04: MySQL
Då går vi vidare till databasen MySQL och dess olika klienter samt prövar att använda SQL tillsammans med MySQL. Du får jobba igenom en övning i SQL som tar dig från de enklare konstruktionerna till mer utmanande saker som subqueries och RIGHT/LEFT OUTER JOIN
. När övningen är slut så har du både kommit in i MySQL och bekantat dig med ytterligare varianter av SQL.
Du får pröva att använda tre olika klienter till MySQL, alla tre har sin plats och som webbprogrammerare behöver du kunna använda alla klienterna, vid olika tillfällen.
Du kommer även jobba vidare med JavaScript, Node.js och se hur du kan koppla dig till en MySQL databas.
(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: 4-10 studietimmar)
#Kurslitteratur
Läs följande:
Databasteknik om MySQL.
- Kap 28: Introduktion till MySQL
Viss information finns i bokens webbkurs, del 3.
Databasteknik om mer SQL.
- Kap 8: Mer om SQL: Aggregatfunktioner, null-värden, yttre join
Vissa av kapitlen finns i bokens webbkurs, del 2.
#Artiklar
Kika igenom följande artiklar.
- Kika igenom manualen för MySQL, bara kort och översiktligt, men se till att du kan hitta till den delen som visar hur SQL skall skrivas i MySQL.
#Video
Det finns inga videoförslag.
#Lästips
Kika på följande lästips om du finner dem intressanta.
-
- Kap 24: Hur transaktioner hanteras inuti databashanteraren
Exploring ES6 om Promise.
- Ch 24: Asynchronous programming (background)
- Ch 25: Promises for asynchronous programming
#Övningar & Uppgifter
(ca: 6-10 studietimmar)
#Övningar
Genomför följande övningar.
MySQL
Jobba igenom guiden “Kom igång med databasen MySQL och dess klienter”. Som webbutvecklare behöver du ha koll på olika varianter av klienter, testa allihop och se till att din lokala utvecklingsmiljö fungerar.
Bekanta dig med “BTH’s labbmiljö för databasen MySQL”. Se till att du kan använda BTH’s databasserver för MySQL. Använd de olika klienterna för att koppla upp dig. Spara dina eventuella testfiler i
me/kmom04/mysql
.
MySQL och Node.js
Jobba igenom övningen “Gör en kommandoradsklient i Node.js”. Spara dina eventuella exempelprogram under
me/kmom04/client
.Jobba igenom övningen “MySQL och Node.js”. Spara dina eventuella exempelprogram under
me/kmom04/npm-mysql
.I artikeln “Node.js, MySQL och Promise” kan du få hjälp att lösa ett problem med asykron/sekventiell programmering som du troligen kommer att upptäcka senare i uppgiften
terminal
.
#Uppgifter
Dessa uppgifter skall utföras och redovisas.
Jobba igenom uppgiften “Kom igång med SQL” genom att utföra den i MySQL Workbench. Spara all SQL-kod i
me/kmom04/skolan/skolan.sql
och utför minst 2/3 av uppgifterna. Dokumentera vilka uppgifter du hoppar över. Jobba gärna i grupp och hjälp varandra, men se alltid till att skriva dina egna SQL-satser. Se till att du förstår begreppen HAVING, subqueries och OUTER JOIN.Gör laborationen “Node.js och inbyggda moduler (node2)” för att träna på inbyggda moduler i Node.js. Spara koden i
me/kmom04/node2
.Gör uppgiften “Node.js terminalprogram mot MySQL”. Spara koden i
me/kmom04/terminal
.
#Extra
Lös följande extrauppgifter om du så väljer.
- Skapa en ER-modell för din databas Skolan via reverse engineering med MySQL Workbench.
#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 känns det att komma igång med MySQL och dess klienter?
- Har du jobbat med liknande tidigare?
- Du har nu repeterat SQL ett par gånger, börjar det sätta sig?
- Hur känns det med Node.js, har du till exempel känt av den asynkrona programmeringsmodellen?
- Förstod du hur Promise fungerar?
#Revision history
- 2017-02-27: (A, mos) Första utgåva.