Kmom05: SQL och SQLite
Låt oss titta på databaser och hur de kan kopplas till en webbplats för att göra ett embryo till en sökmotor.
Vi skall använda databasen SQLite som är en filbaserad databas. En filbaserad databas förenklar hanteringen då allt är samlat i en fil och det finns inget behov av att konfigurera användare eller behörigheter.
Till databasen SQLite installerar vi ett klientprogram som kan användas för att prata med databasen och vi installerar PHP PDO som gör att vi kan koppla PHP-kod till databasen.
I en relationsdatabas som SQLite pratar vi SQL med databasen. Vi skriver SQL uttryck för att skapa tabeller som utgör databasens schema (struktur). Vi använder även SQL för att skapa rapporter från databasens innehåll samt redigera databasens innehåll.
Slutligen skapar vi en sökmotor som kan söka i en befintlig databas och presentera resultatet i en webbsida.
Så här kan det se ut när du är klar med kursmomentet.
(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.)
#Labbmiljö
(ca: 2-4 studietimmar)
Komplettera din labbmiljö med följande.
#Läs & Studera
(ca: 2-4 studietimmar)
Här kan du på egen hand studera och förbereda dig inför övningar och uppgifter.
#Föreläsning
Titta på följande föreläsningar. Föreläsningarna kan innehålla tips om läsanvisningar.
- SQLite, en filbaserad databas, en introduktion till databasen SQLite, dess användningsområden, features och några av dess klienter som går att använda för att jobba mot databasen.
- SQL med SQLite, grunderna i SQL med databasen SQLite, hur man skapar databasens schema och hur man manipulerar innehållet i tabellerna samt hur man skapar rapporter från databasen.
#Litteratur
Läs enligt följande.
På sidan för föreläsningarna ovan så finns läsanvisningar som hjälper dig att studera SQL och databaser. Välj bland dem för att läsa på mer om begreppen.
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 viss introduktion till databaser och SQL tillsammans med PHP.
#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.
- Richard Hipp, SQLite main author - Two Weeks of Databases #DB2W (57 min)
- An Introduction to SQLite (by Richard Hipp) (51 min)
Videorna ovan finner du även i spellistan “ Om webbutveckling (HTML, CSS, PHP, SQL)”.
#Övningar & Uppgifter
(ca: 8-12 studietimmar)
Övningar är träning inför uppgifterna, det är ofta klokt att jobba igenom övningarna. Uppgifter skall utföras och redovisas.
Jobba gärna i grupp med dina studiekompisar, men skriv alltid din egen kod för hand. Även om du tjuvkikar för att hitta bra lösningar så är det en stor skillnad att skriva koden själv jämfört med att kopiera från någon.
#Övningar
Jobba igenom övningarna, de förbereder dig inför uppgifterna.
Kom igång med SQL och databasen SQLite med terminalklienten sqlite3. I övningen får du lära dig grunderna i databasen SQLite tillsammans med terminalklienten sqlite3 och du får skriva grundläggande SQL-konstruktioner för att jobba mot en databas. Spara din övningskod i katalogen
me/kmom05/sqlite
.Kom igång med PHP PDO och databasen SQLite visar hur PHP PDO används för att koppla sig till databasen SQLite och ställa frågor och visa upp resultatet i en webbsida. Spara din övningskod i katalogen
me/kmom05/pdo
eller jobba direkt under dinme/report
.
#Uppgifter
Följande uppgifter skall utföras och resultatet skall redovisas.
- Gör uppgiften “Bygg en sökmotor med databasen SQLite och PHP PDO”. Spara din kod i
me/report
.
#Resultat & Redovisning
(ca: 1-2 studietimmar)
Läs instruktionen om hur du skall redovisa.
Se till att följande frågor besvaras i din redovisningstext.
- 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 övningen med SQLite och SQL, var det något du fastnade på?
- Hur gick det med övningarna i PHP PDO och SQLite/SQL, var det något som kändes utmanade?
- Berätta om hur du löste uppgiften och hur nöjd du är med resultatet. Berätta även om du försökte på någon av extrauppgifterna.
- Vilken är din TIL för detta kmom?
Glöm inte att testa din inlämning med dbwebb test kmom05
.
#Revision history
- 2022-09-23: (A, mos) Släppt till early adopter.