SQL Cursus deel 1 2015 versie 0.2 www.albeda.nl 1 Onderwerpen 1. Het database management systeem (DBMS) a. Wat is het? b. Wat doet het? c. Voorbeelden? 2. Inleiding in SQL a. Wat is het? b. Waaruit bestaat het? c. Structuur SQL d. SELECT-statement 3. SQL - online oefenen (phpmyadmin) 2 DBMS: Database management systeem • Software om een database te creëren en te manipuleren – – – – Oracle MySQL SQL-server MS ACCESS 3 Wat is een database? • • • • Een database bestaat uit tabellen Elke tabel bestaat uit records Elk record bestaat uit velden Elk veld is van een bepaald datatype – Numeriek (INT, DECIMAL, FLOAT,…) – Tekst (Char, VARCHAR, …) – Datum/tijd (DATE, DATETIME,…) 4 Voorbeeld Tabel Tabel STUDENT (studentnr, naam, plaats, geboortedatum, geslacht, klas, IQ, SLB) 5 Forms Faciliteit SQL Reports Writer SQL Interactieve Query SQL Application Program PHP SQL Database Frontend phpadmin SQL DATABASE ENGINE SQL DATABASE SQL DATABASE 6 Onder de motorkap Front-End Client : Browser | Flash | Feedreader | … URL HTML + CSS (+ JavaScript ) | XML WebServer ( + scripting) : PHP | ASP | JSP SQL querie Datatabel (recordset ) DataBase ( gegevens ) : mySQL| Oracle | MSSQL Voorbeeld: stations in www.ns.nl 7 Voorbereiding Vragen • Download de cursus database http://www.ictacademie.info/wigmans – Selecteer Database_Film.sql en opslaan als. • Inloggen met • localhost/phpmyadmin of • www.ictacademie.info/phpmyadmin – Kies Importeren – Bladeren naar Database_Film.sql – Druk op start • Er verschijnt een melding: Het importeren is geslaagd, 1219 query's 8 Vragen • Hoeveel nieuwe tabellen bevat je database? • Hoeveel velden heeft de tabel film? • Welke datatype heeft het veld Titel in de tabel film? 9 Wat is SQL • SQL: Structured Query Language – Taal om met een database te praten • Informatie selecteren SELECT <velden> FROM <tabel> WHERE <criterium> • Informatie toevoegen, veranderen, wijzigen • Tabellen definiëren • Relaties tussen tabellen definiëren (ERD) – Is database onafhankelijk – Manuals • http://www.tutorialspoint.com/mysql/ • http://dev.mysql.com/doc/ • http://www.w3schools.com/sql/ 10 Onderdelen SQL • Data Manipulation Language (DML) • Raadpleging • SELECT – gegevens selecteren uit de database • Veranderen van …(lifecycle) INSERT - toevoegen nieuwe gegevens in de database • UPDATE – wijzigen van gegevens in de database • DELETE – verwijderen van gegevens uit de database • Data Definition Language (DDL) • Voor het creëren, wijzigen en verwijderen van onderdelen van een database 11 Voorbeeld select Tabel STUDENT (studentnr, naam, plaats, geboortedatum, geslacht, klas, IQ, SLB) Overzicht van alle studenten (=hele tabel) UITGANGSPUNT "DE BASIS" SELECT * FROM STUDENT; 12 Voorbeeld select Inhoud tabel T met 2 kolommen C1 en C2 met 2 rijen C1 C2 1 a 2 b SELECT C1 FROM T; C1 1 2 SELECT * FROM T WHERE C1 = 1; C1 C2 1 a 13 Vragen Antwoord eerst op papier daarna achter de PC Syntax: SELECT <velden> FROM <tabel> WHERE <conditie> SELECT veld1, veld2 FROM Tabel1 WHERE veld1 = 0 • • • • • Toon alle films (m.b.v. select) Toon titel, jaar en tijdsduur van de films Toon alle voornamen van de acteurs Toon alle achternamen van regisseurs Toon alle velden van de films uit 1979 14 Antwoorden Antwoord eerst op papier daarna achter de PC • • • • • SELECT * FROM `FILMS` SELECT TITEL,JAAR, TIJDSDUUR FROM `FILMS` SELECT VOORNAAM FROM ACTEURS SELECT ACHTERNAAM FROM REGISSEURS SELECT * FROM FILMS WHERE JAAR = 1979 15