De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -

Verwante presentaties


Presentatie over: "Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -"— Transcript van de presentatie:

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


Download ppt "Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -"

Verwante presentaties


Ads door Google