Kmom05: SQL och SQLite

By . Latest revision .

Kursmomentet är under översyn, vissa smärre delar kan komma att uppdateras men i stort är strukturen som den här visas.

Låt oss börja med databaser. Jag har valt att introducera 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, en som är webbaserad 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.

Med SQL kan man ställa frågor mot databasen och visa urval av dess innehåll.

Med SQL kan man ställa frågor mot databasen och visa urval av dess innehåll.

När vi väl bekantat oss med SQLite, dess klienter och SQL så tar vi ett första steg in i att koppla ihop PHP-kod med databasen.

En databas har tabeller med kolumner och rader, det finns olika sätt att visualisera detta.

En databas har tabeller med kolumner och rader, det finns olika sätt att visualisera detta.

Vi avslutar med en programmeringsövning där du bygger en söksida som jobbar mot en SQLite 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äs & Studera

(ca: 2-4 studietimmar)

#HTML & CSS

Läs följande för att fortsätta bekanta dig med teknikerna.

  1. Läs igenom följande sektion i guiden “Kom igång med HTML och CSS”.

#PHP

Läs följande för att bekanta dig med teknikerna.

  1. I kursboken Webbutveckling med PHP och MySQL är följande kapitel relevanta att läsa igenom översiktligt.
    • Kap 8 Databaser. Kapitlet handlar om databasen MySQL men är ändå relevant och ger en god introduktion till databaser och SQL.

#SQL

Bekanta dig med följande.

  1. Vi kommer använda databasen SQLite och du kan orientera dig på deras hemsida sqlite.org. Kika snabbt och översiktligt.

#Video

Det finns en samling videor som används i olika omfattning under kursens gång, du finner dem på Youtube.

#Övningar & Uppgifter

(ca: 12-16 studietimmar)

#Övningar

Genomför följande övningar.

  1. Jobba igenom övningen “Kom igång med databasen SQLite med DB Browser för SQLite”. Spara dina filer under katalogen me/kmom05/sqlite.

  2. Läs igenom artikeln “En kommandoradsklient för SQLite” och installera kommandoklienten på ditt eget system. Testa den så du känner att du har koll på hur den fungerar.

  3. Jobba igenom första delen av artikeln “Kom igång med SQLite och PHP PDO”. Gör till och med stycket “Gör ett sökformulär med SELECT”. I nästa kursmoment kommer du att jobba vidare med artikeln. Spara all din kod i katalogen me/kmom05/pdo.

#Uppgifter

Dessa uppgifter skall utföras och redovisas.

  1. Gör uppgiften “PHP lab 5: utforska inbyggda funktioner”. Spara filerna i katalogen me/kmom05/lab5.

  2. Gör uppgiften “Gör en multisida för att söka i en databas”. Spara filerna under me/kmom05/jetty.

  3. Gör uppgiften “Bygg ut din htmlphp me-sida till version 5”. Spara filerna i katalogen me/kmom05/me5.

#Extra

Följande övningar/uppgifter kan du utföra om du har tid och lust.

  1. Läs igenom artikeln “En webbaserad klient för SQLite, phpliteadmin” och installera på ditt eget system. Testa den så du känner att du har koll på hur den fungerar.

#Resultat & Redovisning

(ca: 1-2 studietimmar)

Läs instruktionen om hur du skall redovisa.

Se till att följande frågor besvaras i redovisningstexten.

  • Var det lätt att förstå SQL eller kändes det som en helt ny teknik?
  • Var detta din första bekantskap med databaser och SQL, eller har du tidigare kunskaper som du kan relatera till?
  • Hur gick det att utföra övningarna med enbart SQLite, var det något du fastnade på?
  • Hur gick det med övningarna i PDO och SQLite, var det något som tog extra mycket tid?
  • Gjorde du något extra, utöver det vanliga, i ditt arbete? Berätta gärna om det.
  • Vilken är din TIL för detta kmom?

#Revision history

  • 2018-09-24: (G, mos) Nytt dokument inför v3.
  • 2017-06-15: (F, mos) Uppdaterad labbserie.
  • 2017-02-14: (E, mos) Kommenterade bort sql1 temporärt.
  • 2016-09-26: (D, mos) La till extrauppgift sql1.
  • 2016-08-31: (C, mos) Lade till rätt videoserie från youtube.
  • 2016-02-22: (B, mos) Bort med not om kursutveckling och länk till version 1.
  • 2015-08-26: (A, mos) Första utgåvan för htmlphp version 2 av kursen.

Document source.