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 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, festival.sql  SAMS’ SQL in 10 minuten  mySQL reference

2 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese SQL deel 1: SQL queries

3 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese SQL en database ontwerp  Deel 1 ( week 2 – 5 )  SQL queries  Deel 2 ( week 6 – 9 )  datamodelleren

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

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

6 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Wat is een database  DB: Database  Een verzameling tabellen gevuld met data  RDBMS: Relationeel 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

7 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

8 Vraag Wat is phpMyAdmin?  [ ] een database server  [ ] een database client Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese

9 SQL 1 : SELECT Het selecteren van data uit een enkelvoudige tabel

10 Vandaag  Tabel: rijen en kolommen  SELECT … FROM … WHERE …ORDER BY  Datatypen (numeriek, tekst, boolean, datum/tijd)  Diverse functies ( SQL reference )  Aggregaties en statistieken  GROUP BY  DISTINCT Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese

11 tabellen  Een database bestaat uit een verzameling tabellen

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

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

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

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

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

17 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  XML

18 Datatype: numeriek  Optellen, aftrekken, etc,  Sinus, cosinus, Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese

19 Datatype: tekst  Zoek en vervang  Hoofdletters zetten  Aan elkaar plakken  Reguliere expressies (voor gevorderden ) Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese

20 Datatype: boolean (ja/nee, waar/onwaar, )  And, or, not Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese

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

22 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’

23 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

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

25 Onzinnige datatypen in ACCESS  Valuta  Hyperlink

26 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  XML

27 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Vraag? Welke data type is  Telefoonnummer?  Huisnummer?  Leeftijd?

28 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 Selecteren en wijzigen van opgeslagen gegevens Aanbrengen/veranderen van de structuur van de database

29 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Syntax van een eenvoudige SELECT  SELECT ID, naam, prijs FROM product  SELECT {kolomnamen} FROM {tabelnaam}

30 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese SELECT resultaat  Het resultaat van een SQL query is altijd een tabel. SELECT ID, naam, prijs FROM product  IDnaamprijs 1Koken voor …20,10 7appelsap2,95 8groentensoep2,15 9blik tonijn3,10

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

32 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese SELECT resultaat SELECT ID, naam, prijs FROM product WHERE categorie =‘voedsel’ ORDER BY prijs  IDnaamprijs 8groentensoep2,15 7appelsap2,95 9blik tonijn3,15

33 Korte opdracht (10 min )  Doe je eerste SQL querie op de ‘producten’-database SELECT … FROM … WHERE … ORDER BY … Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese

34 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]

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

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

37 enumeraties  Opsommingen / lijstjes  Bijvoorbeeld:  Dag_van_de_week [ma,di,wo,do,vr,za,zo]  Sterrenbeeld [steenbok, waterman, etc… ]  Categorie [voedsel, boek, vervoermiddel ] Meer over enumeraties in deel 2: datamodelleren Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese

38 SQL: databewerkingen Structured Query Language  Een taal om database te bevragen en te manipuleren.

39 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

40 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

41 Functies en operatoren  Gebruik de (my)SQL reference : Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese

42 Aggregaties/statistieken  Dwz:  Informatie uit een tabel als geheel (ipv uit een rij) Voorbeelden:  Gemiddelde  Aantal  Hoogste Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese

43

44 ‘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

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

46 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 ( ? )

47 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

48 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese 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, voedsel vervoer32,753,152.05

49 GROUP BY vs ORDER BY Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese

50 Speciaal geval: SELECT DISTINCT  SELECT DISTINCT categorie, FROM product  categorie vervoer voedsel boek Is hetzelfde als:  SELECT categorie FROM product GROUP BY categorie

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

52 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Volgende week  Meerdere tabellen in de database


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

Verwante presentaties


Ads door Google