3. Dynamiska webbplatser, 20 Yhp (4 v)

Relevanta dokument
WCMS-15, Webbutvecklare CMS

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

Starta MySQL Query Browser

Structured query language (SQL)

DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index

Labb LIVE. Exempelkod från föreläsningen. Plushögskolan Frågeutveckling inom MSSQL - SU14

Övningar i SQL. SQLAccess.doc Ove Lundgren

Design och underhåll av databaser

1. Webbproduktion, 20 Yhp (4 v)

Tentamen för DD1370 Databasteknik och informationssystem

Introduktion till frågespråket SQL (v0.91)

Grunderna i SQL del 1

Innehåll MySQL Intro. Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Tentamen för DD1370 Databasteknik och informationssystem

Databaser. Vad du ska lära dig: Ordlista

VAD GÖR DU / VEM ÄR DU?

Introduktion till MySQL

Structured Query Language (SQL)

1.Lär känna MS SQL Observera. Tips. Förberedelse

Tentamen för DD1370 Databasteknik och informationssystem

Webbprogrammering, grundkurs 725G54

Databaser och Datamodellering Foreläsning IV

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.

Databasutveckling Introduktion till SQL och TSQL

Uppstart Inloggning SSMS Skapa Databas Skapa Tabell Skapa Diagram, Fk, RI Hantering av Index, Pk, Fk, Ix Constraints Beräknande fält Några funktioner

SQLs delar. Idag. Att utplåna en databas. Skapa en databas

07/11/14. Databasteknik och informationssystem DD1370 F2. Allmänna frågor. Är Lab0 svårbegriplig? Nu: Clickers. Är Kurswebben svårbegriplig?

Databasspråket SQL - online.

SQL, nästlade delfrågor Nästlade delfrågor. En nästlda delfråga är ett select-from-where uttryck inom where-klausulen i en annan fråga.

Lösningar till tentamen i EDAF75

Avancerade Webbteknologier

Introduktion MySQL och MariaDB

Databasspråket SQL - online.

Föreläsning 2: Översikt över ett databassystem

Databasspråket SQL - online.

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU

1DV405 - Databasteknik. Kursintroduktion. Så här är kursen planerad.

Databasspråket SQL - online.

L0009B. Moment. Introduktion till geografiska databaser: G:\L0009B\Allmänt\IntroGeoDB.pdf (F)

Grunderna i SQL del 1

Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för:

För att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra.

Innehåll. MySQL Grundkurs

Informationssystem och Databasteknik, 2I-1100 HT2001. Relationsalgebra. Relationsalgebran är sluten: R 1 op R 2 R 3.

Databasspråket SQL - online.

16/12/14. Databasteknik och informationssystem DD1370. Dagens föreläsning (den sista!) Motivera med kokbok! Idag: Inga knappar L. Dagens föreläsning

Tentamen 4,5 hp Delkurs: Databaser och databasdesign 7,5hp Tentander: VIP2, MMD2, INF 31-60, ASP

Tentamen för DD1370 Databasteknik och informationssystem

Föreläsning 4 Dagens föreläsning går igenom

Idag. 1. Från modell till databasstruktur. 2. Prata med databaser (frågepsråket SQL)

Från verklighet via modell till databas. Idag. Testa reglerna på varuhusmodellen. Från verklighet via modell till databas

Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser?

Databaser. Jan Erik Moström, Department of Computing Science, Umeå University - jem@cs.umu.se

729G28 Webprogrammering och databaser. Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi

Laboration SQL. Kom igång.

D1. Create Domain TEXT30 char(30) Default INGET VÄRDE! ;

SQL del 2. Christer Stuxberg Institutionen för Informatik och Media

TER3. Försättsblad till skriftlig tentamen vid Linköpings universitet G28 TEN1 Webprogrammering och databaser Tentamen IDA 1 (7)

Webprogrammering och 729G28 databaser Webprogrammering och databaser Kursöversikt Webprogrammering Designprocessen Lösningsförslag

I denna laboration skriver jag inte ut resultatet på de flesta frågorna utan du kör dem själv i din miljö.

SQL. Structured Query Language. Frågespråk för att används för. Kommandon. data åtkomst data manipulation

Sample exam questions. Database exam TIG058

Denna laboration skapades för elever vid Roslagens Högskola men kan användas av vem som helst. Namnen på servrarna måste i så fall ändras.

Lösningsförslag till fiktiv tentamen för DD1370 Databasteknik och informationssystem

VAD GÖR DU / VEM ÄR DU?

Disposition. 1. Kopplingen mellan Processanalys (DFDdiagram) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer

Projekt Foreläsning VI

Innehåll MySQL Intro. Ex på ett index Index typer ISAM Balanserat träd Pk och Fk i MySQL Eget index För o nackdelar med index

Tentamen för DD1370 Databasteknik och informationssystem

Det är fullt tillåtet att göra laborationen innan laborationstillfället.

Databaser - Design och programmering

FileMaker 14. SQL-referens

Databaser och. SQL, utsökningar mot flera tabeller TENTA. # radnr (#) studnr (#) kursnr * tentadatum * betyg

Kursplanering Utveckling av webbapplikationer

732G16: Databaser - Design och programmering

MySQL. Maths Göthe. 25 februari Inledning Några konventioner Licens... 2

DVA234 Databaser. Dag Nyström, Introduktion till databaser och MS SQL Server

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

Vad är en databas? Databasutveckling Med MySQL/MariaDB

Vad är SQL? Introduktion till SQL

INNEHÅLL SQL DEL 2. Funktioner inbyggda Aggregatfunktioner Skalärfunktioner. Chapter 11. Beginning SQL Server 2008 for Developers

Karlstads Universitet, Datavetenskap 1

Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

Databasutveckling Tabeller. tinyint 1 byte (0-255) Upp till 8 bytes

Prova på-laboration i SQL

Karlstads Universitet, Datavetenskap 1

Skapa en databas. Skapa en tabell. Gör man antingen genom kommandot

Sid 1 (9) Tillämpad fysik och elektronik Karin Fahlquist. Laboration: Databasdesign & SQL

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Labb 1. prompt> mysql -h db-und.ida.liu.se -u [liuid] -p Enter password. mysql --host=db-und.ida.liu.se --user=[liuid] --password=[lösen]

Programmering för webben

Se kurshemsidan för användbara länkar för att genomföra denna laboration.

Labb 1. prompt> mysql --host=db-und.ida.liu.se --user=[liuid] -- password=[lösenord] [liuid]

KURSPLAN. PHP Utvecklare MMPU13. Förkortad version för LIA-information

Tentamen för DD1370 Databasteknik och informationssystem

Transkript:

Webbutvecklare CMS, Yh-utbildning, 2 år, 400 Yhp, Medieinstitutet, www.m Webbutvecklare CMS, Yh-utbildning, 2 år, 400 Yhp, Medieinstitutet, www.medieinstitutet.se, sida 3/12 3. Dynamiska webbplatser, 20 Yhp (4 v) ynamiska webbplatser, 20 Yhp (4 v) Kursens innehåll Kursen syftar till att lära de studerande produktion av databasdrivna webbplatser. De studerande lär sig att skapa en enkel databas samt ett webbgränsnitt för inmatning och utvisning av data: grundläggande PHP-programmering skapa och modellera databaser datatyper hämta, sortera och filtrera data databaskoppling mot webben mata in data från webbformulär visa ut data på webben sens innehåll n syftar till att lära de studerande produktion av databasdrivna webbplatser. De stude ett webbgränsnitt för inmatning och utvisning av data: grundläggande Efter avslutad kurs PHP-programmering ska den studerande kunna: arbeta med variabler och arrayer i PHP skapa och funktioner modellera och logiska jämförelser databaser kontrollstrukturer och loopar datatyper de vanligaste datatyperna förstå relationsdatabaser hämta, sortera skapa och modellera och filtrera databaser enligt data de 3 första normalformerna grundläggande SQL-kommandon databaskoppling ställa frågor över mot relationer, webben JOIN databaskoppling via webbgränssnitt mata in data hämta, visa från ut och webbformulär ändra i data från webbgränssnitt visa ut data på webben Betygskriterier För godkänt: Modellera en relationsdatabas som uppfyller första och andra normalformerna. Kunna använda CRUD i MySQL. Kunna använda Inner Joins i MySQL. Kommunicera med MySQL ifrån PHP. Publicera en databas på en webbserver. r avslutad kurs ska den studerande kunna: arbeta med variabler och arrayer i PHP funktioner och logiska jämförelser kontrollstrukturer och loopar de vanligaste datatyperna För väl Godkänt: Utöver ovanstående kriterier för godkänt ska den studerande kunna modellera en databas från grund enligt de tre första normalformerna, samt skriva komplexa SQL-satser för att hantera data i flera tabeller. Kunskapskontroll Salstentamen. förstå relationsdatabaser skapa och modellera databaser enligt de 3 första normalformerna Rekommenderad litteratur och dokumentation grundläggande Avgörs av föreläsarna (bl.a. SQL-kommandon diverse artiklar och tutorials på webben). ställa frågor över relationer, JOIN databaskoppling via webbgränssnitt hämta, visa ut och ändra i data från webbgränssnitt 2015 Coder s Academy för Medieinstitutet, delkursöversikt

Dag 1: Introduktion till SQL Vecka: 45 Datum: 2015-11-02 Veckodag: måndag Tid: 13.00-17.00 Thomas (+ Peter närvarande) Historik: Relationsdatabaser och SQL, MySQL/MariaDB. Skapa nya databaser på ert serverkonto, med DirectAdmin. (codersacademy.se:2222) Obs! De två första veckorna jobbar vi på direkt på servern med MyWebSQL! Introduktion till verktyget MyWebSQL. (codersacademy.se/myweb) Begreppet CRUD. Skapa en tabell (med MyWebSQL notera att den skapar SQL-frågor åt dig) Lägg till data (med MyWebSQL notera att den skapar SQL-frågor åt dig) Primärnyckel - varför är den viktig (autoincreement vs. annan unik nyckel) Syntax: SELECT, FROM, WHERE och ORDER BY (ASC, DESC) Operatorer: AND, OR, NOT Skapa en tabell med kunder (e-post, förnamn, efternamn, lösenord). Skapa en tabell med adresser till kunder (e-post, gatunamn, postnr, ortnamn). https://en.wikipedia.org/wiki/relational_database https://en.wikipedia.org/wiki/sql https://en.wikipedia.org/wiki/mysql https://en.wikipedia.org/wiki/mariadb https://en.wikipedia.org/wiki/create,_read,_update_and_delete http://mywebsql.net/docs/ (documentation mywebsql) https://www.youtube.com/watch?v=9xeoudodfu8 (creating a database with DirectAdmin) 2015 Coder s Academy för Medieinstitutet, sida 1/17

Dag 2: Mer om SQL, CRUD och datatyper Vecka: 45 Datum: 2015-11-03 Veckodag: tisdag Tid: 13.00-17.00 Peter SELECT (repetition). Övriga kommandon som motsvarar CRUD: UPDATE, INSERT, DELETE. CREATE TABLE (+ CREATE DATABASE, går ej att använda på servern, använd DirectAdmin istället). Olika datatyper och när de används (VARCHAR, INT, FLOAT, TEXT, BLOB etc). Lämplig längd (storlek) på datatyper. Skillnad: Olika citattecken och backticks. Lägga in 20 kunder i kundtabellen med INSERT. Lägg in 15 adresser i adresstabellen med INSERT. Ändra med UPDATE så att minst 3 personer bor på samma adress. Minst 5 personer ska vara bostadslösa. http://dev.mysql.com/doc/refman/5.7/en/select.html http://dev.mysql.com/doc/refman/5.7/en/insert.html http://dev.mysql.com/doc/refman/5.7/en/insert.html http://dev.mysql.com/doc/refman/5.7/en/delete.html http://dev.mysql.com/doc/refman/5.7/en/data-types.html https://dev.mysql.com/doc/refman/5.0/en/non-typed-operators.html 2015 Coder s Academy för Medieinstitutet, sida 2/17

Dag 3: Relationer och kommandot JOIN Vecka: 45 Datum: 2015-11-04 Veckodag: onsdag Tid: 09.00-12.00, 13.00-16.00 Peter Relationsdatabaser: Hur uttrycker man relationer i SQL? Relationer: 1-många (1:n), många till många (m:n). Hur löser man detta? Vanlig INNER JOIN (hur kan den skrivas på olika sätt, med och utan ordet JOIN). Tabellalias, varför och hur (syntax för AS). LEFT [OUTER] JOIN och RIGHT [OUTER] JOIN syntax, varför och hur används dessa? FULL [OUTER] JOIN och CROSS JOIN syntax, varför och hur används dessa? PRIMARY KEY repetition + sammansatta primärnycklar. FOREIGN KEY CONSTRAINTS - syntax + varför? (Diskussion: Undvik att sätta för tidigt vid modellering av databas?) UNIQUE CONSTRAINT syntax + varför? Skriv ut var folk bor med hjälp av en INNER JOIN. Skriv ut en lista över bostadslösa (lös först med en LEFT JOIN och sedan med en RIGHT JOIN). Lägg till personnummer som en kolumn för kunder/personer. Gör en unique constraint som inte tillåter samma personnummer för flera personer. Vilka FOREIGN KEY CONSTRAINTS vore lämpliga? http://www.sql-join.com/ http://blog.codinghorror.com/a-visual-explanation-of-sql-joins/ http://www.sitepoint.com/understanding-sql-joins-mysql-database/ http://www.w3schools.com/sql/sql_unique.asp 2015 Coder s Academy för Medieinstitutet, sida 3/17

Dag 4: PHP och SQL Vecka: 45 Datum: 2015-11-05 Veckodag: torsdag Tid: 13.00-17.00 Peter Arbeta lokalt (AMPPS/LAMP-stack) med databaser. (OBS! Övergång till arbeta lokalt) Introduktion till PHP (variabler, echo, var_dump). Att använda PDO-objektet för att koppla upp sig mot MySQL/MariaDB. Vikten av att använda PDO-objektet på ett säkert sätt! (Baka ej in variabelvärden i själva frågan.) Varför mysqli och mysql-biblioteken för PHP INTE bör användas. (Säkerhet + flyttbarhet.) Vad är en associativ array? Att titta på resultatet från en SELECT-sats som en associativ array. Att loopa genom en associativ array (som är resultatet av en SELECT) Hur fungerar foreach-loopen? Att spara resultatet av en SELECT-fråga som bas för en ny fråga. Loopar i loopar nestled loops (en SELECT per iteration av den yttre loopen). Diskussion: Varför ska man hellre låta JOINS och SUBSELECTS och VYER göra jobbet? (Istället för att ställa många frågor från PHP) Exportera din databas från servern till din lokala server - dvs. din dator. Skriv ut resultatet av ett par SELECTS som en var_dump Skriv ut på ett trevligare sätt (en HTML-tabell) genom att använda en foreach-loop. http://php.net/manual/en/function.echo.php http://php.net/manual/en/function.var-dump.php http://php.net/manual/en/language.types.array.php http://php.net/manual/en/control-structures.foreach.php http://php.net/manual/en/book.pdo.php http://php.net/manual/en/book.mysqli.php (ANVÄND INTE!) 2015 Coder s Academy för Medieinstitutet, sida 4/17

Dag 5: PHP och HTML-formulär Vecka: 46 Datum: 2015-11-09 Veckodag: måndag Tid: 13.00-17.00 Peter Skapa ett formulär i HTML Vad är GET och POST? Läsa av GET och POST-parametrar i PHP Loopa genom GET- och POST-parametrar Skriv ut ett resultat till en sida beroende på hur ett formulär är ifyllt. If- och else-satser i PHP Se ovan. (Praktisk orienterad föreläsning.) http://www.w3schools.com/html/html_forms.asp http://www.w3schools.com/php/php_forms.asp http://www.w3schools.com/tags/ref_httpmethods.asp http://www.tutorialspoint.com/php/php_get_post.htm http://www.w3schools.com/php/php_if_else.asp 2015 Coder s Academy för Medieinstitutet, sida 5/17

Dag 6: Att låta PHP spara formulär-data till DB Vecka: 46 Datum: 2015-11-10 Veckodag: tisdag Tid: 13.00-17.00 Peter Ta emot POST-data från ett formulär med PHP och spara till en databas (INSERT). Populera ett formulär från PHP (SELECT). Spara ändringar från ett formulär med PHP (UPDATE, DELETE). Se ovan. (Praktisk orienterad föreläsning.) http://php.net/manual/en/book.pdo.php http://www.tutorialspoint.com/php/php_get_post.htm http://webdevelopingcat.com/php-mysql-tutorial-for-beginners-inserting-rows-withpdo/ 2015 Coder s Academy för Medieinstitutet, sida 6/17

Dag 7: Normalformer och mer om joins Vecka: 46 Datum: 2015-11-11 Veckodag: onsdag Tid: 09.00-12.00, 13.00-16.00 Hugo INNER JOIN (repetition). LEFT [OUTER] JOIN och RIGHT [OUTER] JOIN (repetition). FULL [OUTER] JOIN och CROSS JOIN syntax, varför och hur används dessa? NATURAL JOIN (undvik normalt sett, varför?) JOINS över fler än två tabeller. Vad innebär första, andra och tredje normalform (1N, 2N, 3N)? Fler operatorer: IS NOT NULL, >, <, >=, <=, LIKE, IN ALTER TABLE för att lägga till kolumner Skapa en mellantabell för att lösa problemet att flera personer kan på flera adresser. En person kan även bo på flera adresser. (Dvs. ett många-till-många-förhållande.) Vad ska den innehålla för kolumner? (Ändra om i övriga tabeller.) Hade vi behövt en mellantabell om man bara fick vara skriven/bo på en adress? Om inte? Hur hade vi löst detta ett-till-många (1:n)-förhållande) Är dina tabeller nu i normalform? Vilken normalform? (Uppnå minst 2N.) Hitta personer som bor på en adress som innehåller gatan. Hitta personer som bor på en adress som innehåller vägen. (Om du inte har sådana gatunamn ändra så att du har det...) Samma som igår, bl.a http://blog.codinghorror.com/a-visual-explanation-of-sql-joins/ http://www.sitepoint.com/understanding-sql-joins-mysql-database/ Samt: http://www.databasteknik.se/webbkursen/normalisering/ http://www.w3schools.com/sql/sql_foreignkey.asp 2015 Coder s Academy för Medieinstitutet, sida 7/17

Dag 8: Gruppering (GROUP BY) och funktioner Vecka: 46 Datum: 2015-11-12 Veckodag: torsdag Tid: 13.00-17.00 Peter Några enkla funktioner: COUNT, SUM, AVG, MAX, MIN. GROUP BY - syntax. Att använda COUNT, SUM, AVG, MAX och MIN som aggregeringsfunktioner (aggregate functions) med GROUP BY. Att använda HAVING (syntax, tillsammans med GROUP BY). Lägg till ålder och kön för alla personer/kunder. Vad är folks genomsnittliga ålder? Hur många kvinnor och hur många män finns? Hur många personer bor på en viss adress? Hitta den äldsta personen på varje adress. Hitta den yngsta personen på varje adress. Hitta en genomsnittlig ålder per adress. http://www.w3schools.com/sql/sql_groupby.asp https://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html http://www.w3schools.com/sql/sql_having.asp 2015 Coder s Academy för Medieinstitutet, sida 8/17

Dag 9: Underfrågor, sub-queries Vecka: 47 Datum: 2015-11-16 Veckodag: måndag Tid: 13.00-17.00 Hugo Olika typer av sub-queries (IN, FROM, EXISTS, NOT EXISTS). När används helst sub-queries, när används helst joins? EXPLAIN för att analysera databasfrågor. Lista alla adresser en person bor på med hjälp av en sub-query. Lista alla adresser en person inte bor på med hjälp av en sub-query Välj först ut alla män. Använd denna fråga som en sub-query. Välj ut alla personer under 30 från alla män. När är sub-queries befogade? Finns det bättre exempel? http://dev.mysql.com/doc/refman/5.7/en/subqueries.html http://www.tutorialspoint.com/sql/sql-sub-queries.htm http://www.toadworld.com/platforms/mysql/w/wiki/6352.introduction-to-subqueries 2015 Coder s Academy för Medieinstitutet, sida 9/17

Dag 10: Att slå samman tabeller till sets Vecka: 47 Datum: 2015-11-17 Veckodag: tisdag Tid: 13.00-17.00 Thomas Slå samman tabeller (eller tabellurval) med UNION, UNION ALL. INTERSECT och EXCEPT/MINUS - anvädnning av, samt varför finns de inte i MySQL? Alernativ syntax som motsvarar INTERSECT och EXCEPT i MySQL. SELECT DISTINCT Folk vill inte bara byta bostäder. De vill även kunna köpa? Skapa en ny tabell med bostäder till salu (deras adresser). Pris ska finnas med för bostäder till salu. Kan du slå ihop med adresstabellen med tabellen med bostäder till salu med en UNION eller UNION ALL. Hur undviker man dubletter? http://www.w3schools.com/sql/sql_distinct.asp https://en.wikipedia.org/wiki/set_operations_(sql) http://www.bitbybit.dk/carsten/blog/?p=71 2015 Coder s Academy för Medieinstitutet, sida 10/17

Dag 11: Snabba upp SQL med indexering Vecka: 47 Datum: 2015-11-18 Veckodag: onsdag Tid: 09.00-12.00, 13.00-16.00 Peter Repetition JOINS. Repetition sub-selects. Repetition normalformer och varför de är viktiga. Skapa index för tabeller - varför och hur. Hur index kan göra väldigt stor skillnad för hastighet. Överindexering, diskussion: Index tar plats och tid... EXPLAIN före och efter indexering. Vi ska utveckla databasen så att den utgör underlag för en webbapplikation där man kan byta bostäder. Hur ska vi uttrycka detta? Behövs fler tabeller? Vi vill kunna säga jag vill byta min bostad och vilka jag kan tänka mig att byta till (för varje person). Behöver vi indexera några foreign keys eller andra fält/kolumner för att snabba upp databasen (om den hade innehållet många poster)? https://dev.mysql.com/doc/refman/5.5/en/optimization-indexes.html https://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html http://www.tutorialspoint.com/mysql/mysql-indexes.htm https://www.dreamhost.com/blog/1713/08/27/mysql-indexing-basics/ 2015 Coder s Academy för Medieinstitutet, sida 11/17

Dag 12: Vyer, ett sätt att spara komplexa frågor Vecka: 47 Datum: 2015-11-19 Veckodag: torsdag Tid: 13.00-17.00 Thomas Skapa vyer av olika frågor (bl.a. JOIN:s, GROUP BY:s och UNION:s). Skapa vyer baserade på andra vyer. Hur snabba/långsamma är vyer? Prestandaöverväganden. Skapa en vy som ger oss alla som saknar bostad. Skapa vyer som visar alla som vill byta bostad. Skapa en vy från vyn över alla som saknar bostad, med bara de kvinnor som saknar bostad. http://dev.mysql.com/doc/refman/5.7/en/create-view.html http://www.mysqltutorial.org/create-sql-views-mysql.aspx http://www.w3schools.com/sql/sql_view.asp 2015 Coder s Academy för Medieinstitutet, sida 12/17

Dag 13: Stored procedures och variabler Vecka: 48 Datum: 2015-11-23 Veckodag: måndag Tid: 13.00-17.00 Hugo Vad är en stored procedure? ( Programmering i SQL). Vad är en variabel? Hur kan variabler användas i en stored procedure? Stored procedures vs. vyer när är det bäst att använda vilket? Skapa en stored procedure som ger en sammanfattning av olika saker - såsom genomsnittliga bostadspriser, antal lediga bostäder till salu, samt antal lediga bostäder för inbyte, hur många kvinnor som finns bland våra kunder och hur många män. https://dev.mysql.com/doc/connector-net/en/connector-net-tutorials-stored-procedures.html https://dev.mysql.com/doc/refman/5.0/en/user-variables.html http://www.mysqltutorial.org/mysql-stored-procedure-tutorial.aspx http://code.tutsplus.com/articles/an-introduction-to-stored-procedures-in-mysql-5-- net-17843 2015 Coder s Academy för Medieinstitutet, sida 13/17

Dag 14: CRUD i repris, RESTful services Vecka: 48 Datum: 2015-11-24 Veckodag: tisdag Tid: 13.00-17.00 Thomas CRUD-repetition POST, GET, PUT och DELETE motsvarar INSERT, SELECT, UPDATE, DELETE. Innebär decoupling av backend och frontend, varför skrivs webbapplikationer. alltmer på detta vis? Fördelar? Vad är JSON? Jämförelse med PHP:s associativa arrayer. Kommandona json_encode och json_decode i PHP. Ett färdigt REST-bibliotek för PHP, pröva att använda. Att använda verktyget Advanced REST-client. Använd Advanced REST-client för att via vår REST-ful service läsa av, skapa, ändra och radera i tabeller. https://sv.wikipedia.org/wiki/representational_state_transfer http://www.infoq.com/articles/rest-introduction https://chrome.google.com/webstore/search/advanced%20rest%20client 2015 Coder s Academy för Medieinstitutet, sida 14/17

Dag 15: Halvdag mer om REST + halvdag övningstenta Vecka: 48 Datum: 2015-11-25 Veckodag: onsdag Tid: 09.00-12.00, 13.00-16.00 Hugo (halvdag), Peter (halvdag) Förmiddag: HTML - populera och skicka data från formulär via en RESTful service. (Användning av färdigt JS-bibliotek för detta.) Kan Drupal och WordPress användas med REST? Fördelar, nackdelar? Eftermiddag: Övningstenta inför tentan på fredag. Koppla ihop ett HTML-formulär med en REST-ful service med hjälp av ett färdigt JavaScript-bibliotek. Vad händer? Kan man undvika sidomladdningar genom att arbeta så här? Går det snabbare/långsammare? Om man jobbar i team? Finns det fördelar med decoupling/rest då? Vilka? http://wp-api.org/ http://pingv.com/blog/an-introduction-drupal-7-restful-services http://wptavern.com/decoupling-wordpress http://buytaert.net/the-future-of-decoupled-drupal 2015 Coder s Academy för Medieinstitutet, sida 15/17

Dag 16: Orientering - databasstrukturer i WordPress och Drupal Vecka: 48 Datum: 2015-11-26 Veckodag: torsdag Tid: 13.00-17.00 Thomas Hur ser WordPress-databaser ut? Varför? Struktur? Tankar bakom? Hur ser Drupals-databaser ut? Varför? Struktur? Tankar bakom? Varför är ett fält i Drupal en hel tabell? Varför kan plugins (WordPress) och moduler (Drupal) leda till fler taballer? Finns det andra saker än plugins och moduler som skapar fler tabeller? (Innehållstyper etc.) Sista en-två timmarna: Frågestund inför tentan. Inga övningar. Detta är mer av en kort orientering kring databaser och WCMS:er (WordPress och Drupal). Förbered dock frågor inför frågestunden. https://codex.wordpress.org/database_description https://www.drupal.org/node/1785994 (Drupal Database Schema) http://posulliv.github.io/1712/08/02/drupal-er-diagram/ 2015 Coder s Academy för Medieinstitutet, sida 16/17

Dag 17: Salstentamen på delkursen Vecka: 48 Datum: 2015-11-27 Veckodag: fredag Tid: 13.00-16.00 Tentamen på delkursen. 2015 Coder s Academy för Medieinstitutet, sida 17/17