1 / 31

Download en installeer de gereedschappen

Download en installeer de gereedschappen. XAMP Apache server ( http ) mySql server PHP myAdmin IAM SQL oefeningen Database phpmyAdmin Import : sql_producten.sql , sql_winkel.sql, sql_festival.sql SAMS’ SQL in 10 minuten mySQL reference. SQL en database ontwerp.

brandy
Download Presentation

Download en installeer de gereedschappen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Download en installeer de gereedschappen • XAMP • Apache server ( http ) • mySql server • PHP myAdmin • IAM SQL oefeningen Database • phpmyAdmin Import : sql_producten.sql , sql_winkel.sql, sql_festival.sql • SAMS’ SQL in 10 minuten • mySQL reference

  2. SQL en database ontwerp • Deel 1 ( week 2 – 5 ) • SQL queries • Deel 2 ( week 6 – 9 ) • datamodelleren

  3. Hoe zit data in een database?tabel Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

  4. rij Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

  5. kolom Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

  6. veld Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

  7. datatype Type informatie in een veld • Bepaalt het soort operaties dat je er op kan uitvoeren. basis datatypen • Numeriek optellen, aftrekken, gemiddelde • Tekst aan_elkaar_plakken, substring, teveel_spaties_verwijderen, zoek_en_vervang • Boolean and, or, xor, not • Binair/BLOB geen operaties • Datum/tijd • Lange tekst • XML

  8. BLOB Binary large object Bijv: beeldmateriaal, geluid, bestanden. Operaties: geen Vaak niet in een database maar als aparte bestanden, wel bestandsnaam in de database Er bestaan speciale databases met speciale functies voor speciale bestanden

  9. Speciale datatype: datum/tijd Datum/tijd • Eigenlijk ‘numeriek’: • aantal milliseconden sinds het jaar nul ( of sinds 1900 ) • Echter : • Speciale onregelmatige rekeneenheden ( maanden, schrikkeljaar, etc ) • Speciale manier van weergeven ‘1-1-2004’ of ‘2004-01-01’ of ‘1 jan 2004’ Subtype: • Date • Time

  10. XML in een database • XML als datatype: • XML data opgeslagen in een database-veld • Speciale XML functies • SQL/XML standaard wordt nog niet door alle RDBMS’s ondersteund • NB: geen stof voor tentamen, wel mogelijkheid tot bonuspunten

  11. Basis datatype Type informatie in een veld • Bepaald het soort operaties dat je er op kan uitvoeren. basis datatypen die in iedere database of programmeertaal op één of andere manier worden ondersteund: • Numeriek • Tekst • Boolean • Binair • Datum/tijd • XML

  12. Vraag? Welke data type is • Telefoonnummer? • Huisnummer? • Leeftijd? Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

  13. En dan nu... SQL Structured Query Language • Een taal om database te bevragen en te manipuleren. • Als sinds begin 70 relatief stabiel • Ondersteund door ieder DBMS Selecteren en wijzigen van opgeslagen gegevens Aanbrengen/veranderen van de structuur van de database

  14. Syntax van een eenvoudige SELECT • SELECT ID,naam, prijs FROM product • SELECT {kolomnamen} FROM {tabelnaam}

  15. SELECT resultaat • Het resultaat van een SQL query is altijd een tabel. SELECT ID, naam, prijs FROM product • ID naam prijs1 Koken voor … 20,107 appelsap 2,958 groentensoep 2,159 blik tonijn 3,10

  16. Syntax van een eenvoudige SELECT • SELECT ID,naam, prijs FROM product WHERE categorie = ‘voedsel’ ORDER BY prijs • SELECT {kolomnamen} FROM {tabelnaam} WHERE {criteria} ORDER BY {kolomnaam}

  17. SELECT resultaat SELECT ID, naam, prijs FROM productWHERE categorie =‘voedsel’ORDER BY prijs • ID naam prijs8 groentensoep 2,157 appelsap 2,959 blik tonijn 3,15

  18. Korte opdracht (10 min ) • Doe je eerste SQL querie op de ‘producten’-database SELECT …FROM …WHERE …ORDER BY …

  19. Syntax van een eenvoudige SELECTvariaties • SELECT naam, prijs FROM product WHERE categorie = ‘boek’ ORDER BY prijs • SELECT product.naam, product.prijs FROM product WHERE product.categorie = ‘boek’ ORDER BY product.prijs • SELECT [product.naam], [product.prijs] FROM product WHERE [product.categorie] = ‘boek’ ORDER BY [product.prijs]

  20. SELECT WHERE • SELECT naam, prijs FROM product WHERE categorie = ‘eten’ AND prijs < 5 ORDER BY producent ,prijs DESC • Logische operaties: AND, OR, NOT • Vergelijkingen: =, >, < , <> , <=, >=, LIKE

  21. Berekeningen in SELECT (numeriek) • Selecteer de naam, prijs en prijs_plus_btw • SELECT naam, prijs, prijs + prijs* btw_tarief/100 AS prijs_met_btw FROM product • Naam prijs prijs_met_btwfiets 100 120brood 1 1,05 boek 30 36

  22. Berekeningen in SELECT (datum) • Selecteer de naam en de ‘leeftijd’ van een product • SELECT naam, beschikbaar_vanaf, DATEDIFF( 'yyyy' , beschikbaar_vanaf , DATE() ) AS leeftijdFROM product; WHERE beschikbaar_vanaf <= DATE() • Naam beschikbaar_vanaf leeftijdfiets 1-1-2003 1brood 1-2-1999 5 boek 3-2-2004 0

  23. Functies en operatoren • Gebruik de (my)SQL reference :

  24. Aggregaties/statistieken • Dwz: • Informatie uit een tabel als geheel (ipv uit een rij) Voorbeelden: • Gemiddelde • Aantal • Hoogste

  25. Verschillende soorten selecties • Rijen • Selecteren van kolommen (hst 2) • Sorteren (hst 3) • Filteren van rijen (hst 4,5,6) • Het berekenen van kolommen (hst 7,8) • Aggregaties • Statistieken ( hst 9 ) • Groeperen ( hst 10 ) • Lijst van voorkomende waarden ( ? ) Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

  26. statistieken • SELECT COUNT(*) AS aantal, AVG(prijs) AS midPrijs, MAX(prijs) AS maxPrijs, MIN(prijs) AS minPrijsFROM product • Aantal midPrijs maxPrijs minPrijs11 1188 8000 2.05 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

  27. Statistieken per groep • SELECT categorie, COUNT(*) AS aantal, AVG(prijs) AS midPrijs, MAX(prijs) AS maxPrijs, MIN(prijs) AS minPrijsFROM productGROUP BY categorie • Categorie aantal gemPrijs maxPrijs minPrijsboek 5 30,38 50 20voedsel 3 2996 8000 300vervoer 3 2,75 3,15 2.05

  28. GROUP BY vs ORDER BY GROUP BY: Alleen in combinatie met eenstatistischefunctie gemiddeldeprijsper categorie ORDER BYSortering van rijen Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

  29. Speciaal geval: SELECT DISTINCT • SELECT DISTINCT categorie, FROM product • categorievervoervoedselboek Is hetzelfde als: • SELECT categorie FROM productGROUP BY categorie

  30. oefenen • Doe de oefeningen uit de reader !

  31. Volgende week • Meerdere tabellen in de database

More Related