Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdAgnes Koster Laatst gewijzigd meer dan 10 jaar geleden
1
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl SQL deel 1: SQL queries
2
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Database Architectuur Een datamodel is het fundament van je toepassing:
3
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Sql, php, html enzo DataBase ( gegevens ) : mySQL| Oracle | MSSQL WebServer ( + scripting) : PHP | ASP | JSP SQL querieDatatabel (recordset ) Front-End Client : Browser | Flash | Feedreader | … URLHTML + CSS (+ JavaScript ) | XML
4
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Wat is een database DB: Database Een verzameling tabellen gevuld met data DBMS: Database management systeem Software om een database te creëren en te manipuleren Oracle mySQL SQL-server MS ACCESS SQL: Structured Query Language Taal om met een database te praten Informatie selecteren Informatie toevoegen, veranderen, wijzigen Tabellen definiëren Relaties tussen tabellen definiëren
5
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Client-Server architectuur Onderscheid Database-server ( SQL-server, Oracle ) Database-cliënt ( MS ACCESS, web-server ) NB: MS ACCESS kan ook zonder server direct met een database werken
6
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl SQL en database ontwerp Deel 1 ( week 2 – 5 ) SQL queries Deel 2 ( week 6 – 9 ) datamodelleren
7
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Lesopzet deel 1 SQL queries 1.Uitleg 2.Oefenen 3.Uitleg 4.Oefenen 5.Uitleg 6.Oefenen 7.Etc….
8
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl SQL 1 : SELECT Het selecteren van data uit een enkelvoudige tabel
9
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Vandaag Tabel: rijen en kolommen Datatype: tekst, getal, datum, etc… Selecties uit één tabel: SELECT query Selectie criteria Berekeningen Statistieken Groeperen
10
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Download en installeer de gereedschappen XAMP Apache server ( http ) mySql server DBDesigner IAM SQL oefeningen Database phpmyAdmin Import : sql_products.sql, sql_winkel.sql DBDesigner open : productsERD.xml, winkelERD.xml
11
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl tabellen Een database bestaat uit een verzameling tabellen
12
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Hoe zit data in een database? Tabellen, bijvoorbeeld : telefoonnummers
13
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl tabel
14
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl rij
15
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl kolom
16
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl veld
17
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl ‘Datatype’ De informatie in de cellen van een kolom zijn allemaal van hetzelfde ‘type’
18
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl 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/BLOBgeen operaties *Datum/tijd* *Lange tekst*
19
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl 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’
20
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Speciaal datatype: lange tekst Tekst kan worden onderverdeeld in Korte tekst ( <255 karakters ) Lange tekst ( >255 karakter ) Slecht een puur technische onderscheid Heeft te maken met Efficiënt gebruik van geheugenruimte. Andere manier van zoeken
21
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Onzinnige datatypen in ACCESS Valuta Hyperlink
22
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl 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 Lange tekst
23
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Vraag? Welke data type is Telefoonnummer? Huisnummer? Leeftijd?
24
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl 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
25
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl ‘SELECT’ query Het selecteren van informatie uit een tabel bijvoorbeeld ‘product’ -tabel selecteer productnamen en productprijzen uit de tabel ‘product’ selecteer namen van producten uit de categorie 'boeken' Selecteer alle producten die duurder zijn dan 5 euro Selecteer een lijst met alle categorie-namen Selecteer de gemiddelde prijs van de producten per categorie
26
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl 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 Lijst van voorkomende waarden ( ? ) Statistieken ( hst 9 ) Groeperen ( hst 10 )
27
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Syntax van een eenvoudige SELECT SELECT ID, naam, prijs FROM product WHERE categorie = ‘boek’ ORDER BY prijs SELECT {kolomnamen} FROM {tabelnaam} WHERE {criteria} ORDER BY {kolomnaam}
28
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl SELECT resultaat Het resultaat van een SQL query is altijd een tabel. IDnaamprijs 8groentensoep2,15 7appelsap2,95 9blik tonijn3,15
29
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Syntax van een eenvoudige SELECT variaties 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]
30
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl SELECT WHERE SELECT naam, prijs FROM product WHERE categorie = ‘eten’ AND prijs < 5 ORDER BY producent, prijs Logische operaties: AND, OR, NOT Vergelijkingen: =, >,, <=, <=, LIKE
31
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl 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 Naamprijsprijs_met_btw fiets100120 brood11,05 boek3036
32
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Berekeningen in SELECT (datum) Selecteer de naam en de ‘leeftijd’ van een product SELECT naam, beschikbaar_vanaf, DATEDIFF('yyyy', beschikbaar_vanaf, DATE() ) AS leeftijd FROM product; WHERE beschikbaar_vanaf <= DATE() Naambeschikbaar_vanafleeftijd fiets1-1-20031 brood1-2-19995 boek3-2-20040
33
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl SELECT Tot nu toe: Selecteren van rijen uit een tabel Kolommen Rijen filteren Berekende kolommen Ook mogelijk: Aggregatie functies Gemiddelde prijs van de producten Gemiddelde prijs per categorie Lijst van alle categorieën Lijst van producenten met meer dan één product
34
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl SELECT DISTINCT SELECT DISTINCT categorie, producent FROM product categorie vervoer voedsel boek
35
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl statistieken SELECT COUNT(*) AS aantal, AVG(prijs) AS midPrijs, MAX(prijs) AS maxPrijs, MIN(prijs) AS minPrijs FROM product AantalmidPrijsmaxPrijsminPrijs 11118880002.05
36
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Statistieken per groep SELECT categorie, COUNT(*) AS aantal, AVG(prijs) AS midPrijs, MAX(prijs) AS maxPrijs, MIN(prijs) AS minPrijs FROM product GROUP BY categorie CategorieaantalgemPrijsmaxPrijsminPrijs boek530,385020 voedsel329968000300 vervoer32,753,152.05
37
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Herhaal: 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 Lijst van voorkomende waarden ( ? ) Statistieken ( hst 9 ) Groeperen ( hst 10 )
38
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl oefenen Doe de oefeningen uit de reader !
39
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Volgende week Meerdere tabellen in de database
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.