download en installeer de gereedschappen
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/1.jpg)
DOWNLOAD EN INSTALLEER DE GEREEDSCHAPPENXAMP
• 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 minutenmySQL reference
![Page 2: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/2.jpg)
SQL EN DATABASE ONTWERP
Deel 1 ( week 2 – 5 )• SQL queries
Deel 2 ( week 6 – 9 )• datamodelleren
![Page 3: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/3.jpg)
HOE ZIT DATA IN EEN DATABASE?TABEL
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl
![Page 4: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/4.jpg)
RIJ
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl
![Page 5: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/5.jpg)
KOLOM
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl
![Page 6: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/6.jpg)
VELD
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl
![Page 7: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/7.jpg)
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
![Page 8: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/8.jpg)
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
![Page 9: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/9.jpg)
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
![Page 10: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/10.jpg)
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
![Page 11: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/11.jpg)
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
![Page 12: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/12.jpg)
VRAAG?
Welke data type is• Telefoonnummer?• Huisnummer?• Leeftijd?
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl
![Page 13: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/13.jpg)
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
![Page 14: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/14.jpg)
SYNTAX VAN EEN EENVOUDIGE SELECTSELECT ID, naam, prijs
FROM product
SELECT {kolomnamen}FROM {tabelnaam}
![Page 15: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/15.jpg)
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
![Page 16: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/16.jpg)
SYNTAX VAN EEN EENVOUDIGE SELECTSELECT ID, naam, prijs
FROM productWHERE categorie = ‘voedsel’ORDER BY prijs
SELECT {kolomnamen}FROM {tabelnaam}WHERE {criteria}ORDER BY {kolomnaam}
![Page 17: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/17.jpg)
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
![Page 18: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/18.jpg)
KORTE OPDRACHT (10 MIN )
Doe je eerste SQL querie op de ‘producten’-database
SELECT …FROM …WHERE …ORDER BY …
![Page 19: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/19.jpg)
SYNTAX VAN EEN EENVOUDIGE SELECTVARIATIESSELECT naam, prijs
FROM productWHERE categorie = ‘boek’ORDER BY prijs
SELECT product.naam, product.prijsFROM productWHERE product.categorie = ‘boek’ORDER BY product.prijs
SELECT [product.naam], [product.prijs]FROM productWHERE [product.categorie] = ‘boek’ORDER BY [product.prijs]
![Page 20: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/20.jpg)
SELECT WHERE
SELECT naam, prijs FROM productWHERE categorie = ‘eten’
AND prijs < 5ORDER BY producent , prijs DESC
Logische operaties: AND, OR, NOT
Vergelijkingen: =, >, < , <> , <=, >=, LIKE
![Page 21: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/21.jpg)
BEREKENINGEN IN SELECT (NUMERIEK)Selecteer de naam, prijs en prijs_plus_btw
SELECT naam, prijs, prijs + prijs* btw_tarief/100 AS prijs_met_btwFROM product
Naam prijs prijs_met_btwfiets 100 120brood 1 1,05boek 30 36
![Page 22: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/22.jpg)
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 5boek 3-2-2004 0
![Page 23: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/23.jpg)
FUNCTIES EN OPERATOREN
Gebruik de (my)SQL reference :
![Page 24: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/24.jpg)
AGGREGATIES/STATISTIEKEN
Dwz:
Informatie uit een tabel als geheel (ipv uit een rij)
Voorbeelden:
Gemiddelde
Aantal
Hoogste
![Page 25: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/25.jpg)
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 - [email protected] - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl
![Page 26: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/26.jpg)
STATISTIEKEN
SELECT COUNT(*) AS aantal, AVG(prijs) AS midPrijs,MAX(prijs) AS maxPrijs, MIN(prijs) AS minPrijs
FROM product
Aantal midPrijs maxPrijs minPrijs11 1188 8000 2.05
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl
![Page 27: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/27.jpg)
STATISTIEKEN PER GROEP
SELECT categorie, COUNT(*) AS aantal, AVG(prijs) AS midPrijs,MAX(prijs) AS maxPrijs, MIN(prijs) AS minPrijs
FROM productGROUP BY categorie
Categorieaantal gemPrijs maxPrijs minPrijsboek 5 30,38 50 20voedsel 3 2996 8000 300vervoer 3 2,75 3,15 2.05
![Page 28: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/28.jpg)
GROUP BY VS ORDER BY
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl
![Page 29: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/29.jpg)
SPECIAAL GEVAL: SELECT DISTINCT
SELECT DISTINCT categorie, FROM product
categorievervoervoedselboek
Is hetzelfde als:
SELECT categorie FROM productGROUP BY categorie
![Page 30: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/30.jpg)
OEFENEN
Doe de oefeningen uit de reader !
![Page 31: Download en installeer de gereedschappen](https://reader033.vdocuments.site/reader033/viewer/2022061602/568151d2550346895dc00dda/html5/thumbnails/31.jpg)
VOLGENDE WEEK
Meerdere tabellen in de database