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 lesopzet 1.Uitleg 2.Oefenen 3.Uitleg 4.Oefenen 5.Uitleg 6.Oefenen 7.Etc….

2 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese SQL 1 : SELECT Het selecteren van data uit een enkelvoudige tabel

3 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Database Architectuur  Een datamodel is het fundament van je toepassing:

4 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Vandaag  Tabel:  rijen en kolommen  Datatype:  tekst, getal, datum, etc…  Selecties uit één tabel: SELECT query  Selectie criteria  Berekeningen  Statistieken  Groeperen

5 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese 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

6 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese 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

7 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese 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

8 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese tabellen  Een database bestaat uit een verzameling tabellen

9 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Hoe zit data in een database?  Tabellen, bijvoorbeeld : telefoonnummers

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

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

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

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

14 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese ‘Datatype’  De informatie in de cellen van een kolom zijn allemaal van hetzelfde ‘type’

15 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese 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*

16 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese 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 ‘ ’ of ‘ ’ of ‘1 jan 2004’

17 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese 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

18 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Onzinnige datatypen in ACCESS  Valuta  Hyperlink

19 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese 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

20 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese 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

21 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese ‘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

22 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese 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 )

23 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese 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}

24 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese SELECT resultaat  Het resultaat van een SQL query is altijd een tabel.  IDnaamprijs 8groentensoep2,15 7appelsap2,95 9blik tonijn3,15

25 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese 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]

26 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese SELECT WHERE  SELECT naam, prijs FROM product WHERE categorie = ‘boek’ AND aantal_in_voorraad > 0 ORDER BY producent, prijs  Logische operaties: AND, OR, NOT  Vergelijkingen: =, >,, <=, <=, LIKE

27 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese 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 fiets brood11,05 boek3036

28 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese 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 fiets brood boek

29 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese 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

30 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese SELECT DISTINCT  SELECT DISTINCT categorie FROM product  categorie vervoer voedsel boek

31 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese statistieken  SELECT COUNT(*) AS aantal, AVG(prijs) AS midPrijs, MAX(prijs) AS maxPrijs, MIN(prijs) AS minPrijs FROM product  AantalmidPrijsmaxPrijsminPrijs

32 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Statistieken per groep  SELECT categorie, COUNT(*) AS aantal, AVG(prijs) AS gemPrijs, MAX(prijs) AS maxPrijs, MIN(prijs) AS minPrijs FROM product GROUP BY categorie  CategorieaantalgemPrijsmaxPrijsminPrijs boek530, voedsel vervoer32,753,152.05

33 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese 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 )

34 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese oefenen  Doe de oefeningen uit de reader !


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

Verwante presentaties


Ads door Google