Kmom05/06: SQL

By . Latest revision .

Låt oss börja med databaser. Vi skall titta på databasen SQLite som är en filbaserad databas. En filbaserad databas förenklar hanteringen eftersom databasen ligger i en enda fil och det finns inga användare eller behörigheter att konfigurera.

Till databasen SQLite behövs klientprogram som kan användas för att prata med databasen. Vi prövar olika klienter, en variant för desktop och en terminalbaserad.

I en databas, en relationsdatabas som SQLite, så pratar vi SQL med databasen. Vi skriver SQL uttryck för att skapa tabeller och för att lägga till, uppdatera, visa och radera data från databasen.

När vi kan vår SQL så använder vi den kunskapen till att koppla samman PHP och databasen för att bygga en databasdriven webbplats. Via webbplatsen skall du kunna lägga till, uppdatera och ta bort innehåll. Detta är de vanliga funktionerna för create, read, update, delete och kallas även CRUD.

Så här kan det se ut när du är klar med kursmomentet.

Resultatet från sökningen presenteras.

Resultatet från sökningen presenteras.

Formuläret är ifyllt med värden.

Formuläret är ifyllt med värden.

Klicka på ett id för att se mer, eller update/delete för att modifiera raden.

Klicka på ett id för att se mer, eller update/delete för att modifiera raden.

Detta är instruktionen för kursmomentet och omfattar det som skall göras inom ramen för kursmomentet. Läs igenom hela kursmomentet innan du börjar jobba. Om möjligt – planera och prioritera var du vill lägga tiden.

#Studieplan & Upplägg

Följande är förslag till en grov och övergripande studieplan för att genomföra kursmomentet. Läs igenom hela dokumentet, innan du bestämmer din plan, det kan finnas mer aktiviteter och lärmoment som är relevanta att utföra inom ramen för kursmomentet.

Kursmomentet omfattar cirka 20 + 20 studietimmar inklusive läsning, arbete med övningar och uppgifter, felsökning, problemlösning, redovisning och eftertanke.

#Vecka 1: SQL och SQLite

Börja med att installera terminalklienten sqlite3 som låter dig jobba mot en SQLite databas.

Titta på följande föreläsningar. Föreläsningarna kan innehålla ytterligare läsanvisningar.

Jobba på egen hand igenom följande artikel/övning.

Delta i lektionen som förbereder dig för veckans uppgift.

Genomför veckans uppgift.

#Vecka 2: Terminalprogram och webbplats med PHP PDO, SQL och SQLite

Uppgiften och övningsartikeln är på plats och man kan börja jobba med det.

Lektionen hålls på tisdag och kommer utgå från övningen och därefter introducera uppgiften

Föreläsningen om PHP PDO är ännu inte släppt, den skall ge en introduktion till PHP PDO (men det gör också övningen så man kan gå direkt till övningen och titta på föreläsningen senare).

Titta på följande föreläsning. Föreläsningarna kan innehålla ytterligare läsanvisningar.

Jobba på egen hand igenom följande övning, den förbereder dig för uppgiften.

Delta i lektionen som förbereder dig för veckans uppgift.

Genomför veckans uppgift.

#Resultat & Redovisning

Läs instruktionen om hur du skall redovisa.

För att avrunda detta kmom, se till att följande frågor besvaras i redovisningstexten.

  • Hur kändes det att bygga en databasdriven webbplats?
  • Var det svårt att komma in i hur du jobbar med SQL mot databasen och sedan SQL mot databasen via PHP eller kändes det som logiskt? Fanns det något som gav dig bekymmer?
  • Vilken är din TIL för detta kmom?

Glöm inte att testa din inlämning med dbwebb test kmom05.

#Resurser & Referenser

Här anges referenser och övriga resurser som kan användas för vidare studier i det som kursmomentet omfattar.

#SQLite

Grundläggande resurser för SQLite äro följande.

Det finns flera klienter som man kan använda till SQLite.

#W3Schools SQL

Webbplatsen W3Schools har en guide som är lättilgänglig när man vill komma igång med grunderna i SQL.

  1. SQL Tutorial
  2. PHP MySQL Database. Även om guiden handlar om MySQL så är det samma interface i PHP, PHP PDO, och det används även till SQLite.

#PHP

Följande delar är relevanta för PHP.

  1. PHP Data Objects (PDO). Kika översiktligt på det. Det handlar om ett gemensamt gränssnitt för att koppla sig mot flera olika databaser.

#Video för orientering

Titta på följande videor/filmer. Filmerna är tänkta att ge dig en liten orientering i det område som behandlas i kursmomentet.

Videorna ovan finner du även i spellistan “ Om webbutveckling (HTML, CSS, PHP, SQL)”.

#Revision history

  • 2021-10-06: (C, mos) Justerade fråga som refererade till utgånget terminalprogram.
  • 2021-10-03: (B, mos) Delar (uppgift och övning) av materialet släppt för vecka 2.
  • 2021-09-26: (A, mos) Släppt material för vecka 1.

Document source.