Kun jij de moordenaar vinden? - les 2
Ondertitel
Kun jij de moordenaar vinden?
Les 2 - SQL queries
1 / 18
next
Slide 1: Slide
InformaticaMiddelbare schoolhavo, vwoLeerjaar 4-6

This lesson contains 18 slides, with interactive quiz and text slides.

time-iconLesson duration is: 50 min

Introduction

In deze lessenserie gaan leerlingen aan de slag met het oplossen van een moord. Hiervoor doorzoeken ze met SQL een database om zo bewijs te verzamelen. De lessenserie bestaat uit 4 lessen. In deze tweede les gaan leerlingen aan de slag met de eerste queries schrijven.

Instructions

Voorkennis van leerlingen
Deze les vraagt geen specifieke voorkennis. Wel is handig als de leerlingen al iets programmeer ervaring hebben zodat de logica die nodig is om SQL te begrijpen wat makkelijker is. 

Voorbereiding van de docent
Neem de les een keer door en los de moord zelf op. Print de werkbladen of stel deze online beschikbaar voor de leerlingen.

Leerdoelen/vaardigheden
De leerling weet hoe een SQL query is opgebouwd en wat de verschillende onderdelen doen.
De leerling kan eigen SQL queries schrijven om data uit een tabel in een database te halen met het gebruik van keywords en identifiers. 
De leerling kan queries schrijven op basis van een ERD.

Aansluiting curriculum
Deze les sluit aan bij domein H: Databases. 

Feedback
De makers van deze les willen graag weten wat je van de les vond. Ga daarvoor naar de (korte) vragenlijst. Heel veel dank!
ut.onl/docent4tu

Worksheets

Items in this lesson

Ondertitel
Kun jij de moordenaar vinden?
Les 2 - SQL queries

Slide 1 - Slide

This item has no instructions

Les 1. Wat is creativiteit?
Informatie voor de docent
Benodigdheden
download het leer/werkblad en het oplossingblad
laptop/computer voor elke leerling
Vooraf
In deze lessenserie gaan de leerlingen een SQL Murder Mystery oplossen op deze website:
https://mystery.knightlab.com/walkthrough.html. Dit doen ze aan de hand van theorie in de lessen en een leer/werkblad. Het is handig (en leuk!) om zelf de Murder Mystery een keer op te lossen. Voor snelle leerlingen is het na het vinden van de moordenaar nog meer te doen, maar daar kom je dan zelf ook achter.

Slide 2 - Slide

This item has no instructions

Les 1. Wat is creativiteit?
In deze les
Er heeft een moord plaatsgevonden en de detective heeft jullie hulp nodig! De detective heeft je het rapport van de plaats delict gegeven, maar je bent het kwijtgeraakt. Je weet nog dat het een moord was die plaatsgevonden heeft op 15 januari 2018 in SQL city. 

Het rapport van het plaats delict, en alle andere informatie die nodig is om de moord op te lossen, zit opgeslagen in een database maar is lastig te vinden. 

We gaan eerst even kijken naar deze database en tegelijk de stof van de eerste les herhalen. Aan het einde van deze les weet je hoe je specifieke data kunnen vinden in de database en heb je hopelijk het rapport van het plaats delict gevonden!

Slide 3 - Slide

This item has no instructions

Les 1. Wat is creativiteit?
Leerdoelen
Na deze les...
  • weet je hoe een SQL query is opgebouwd en wat de verschillende onderdelen doen.
  • kun je je eigen SQL queries schrijven om data uit een tabel in een database te halen met gebruik van keywords en identifiers
  • kun je queries schrijven op basis van een ERD.

Slide 4 - Slide

This item has no instructions

Les 1. Wat is creativiteit?
Entity Relationship Diagram

Slide 5 - Slide

Dit is het Entity Relationship Diagram van onze database. Je ziet de verschillende tabellen en hoe ze verbonden zijn. Leg bij alle tabellen uit wat ze betekenen om de context duidelijk te maken voor de leerlingen.

Gebruik deze ERD om de concepten van vorige les te herhalen en leg alle onderdelen uit.

De person, drivers_license en income tabellen bevatten informatie over personen in onze database. Sommige van deze personen zijn lid van de sportschool 'get fit' en in de meest linker tabel kun je zien wanneer deze mensen ingechecked hebben. Personen kunnen dingen op facebook plaatsen.
Wat betreft misdaad is er een tabel met rapporten van plaatsen delict en zijn er sommige mensen voor een getuigenis naar het politiebureau geweest ('interview')

Wie weet waar de gouden sleutels voor zullen staan? En de blauwe pijlen? En de verbindingen tussen de tabellen?
Het is duidelijk dat het handig is dat de data verdeeld is over verschillende tabellen. Anders zouden we heel veel data dubbel moeten opslaan. Een voorbeeld hiervan ontstaat in de facebook_event_checkin tabel. Als dit 1 tabel zou zijn met de person tabel, zouden we alle data van een persoon net zo vaak opslaan als hoe vaak die persoon een event op facebook heeft gezet! Dit komt omdat de tabellen gelinked zijn op de persoon.

Les 1. Wat is creativiteit?
Data vinden in een database
Het doel van data opslaan in een database, is om deze data later weer ergens voor te gebruiken. Je moet dus op een gestructureerde manier data uit de tabellen kunnen halen.

In de vorige les zijn als voorbeeld tabellen gebruikt met weinig data. Hier kon je in één oogopslag alles vinden wat je zoekt.

De tabellen waarmee je de moord moet gaan oplossen zijn veel groter, wat het dus onmogelijk maakt om met de hand de data te vinden die je zoekt.





Slide 6 - Slide

This item has no instructions

Les 1. Wat is creativiteit?
Data vinden met SQL
Om met de data te werken, gaan we SQL gebruiken. SQL is een soort programmeertaal om te werken met data in een relational database. 

Je gaat de moord oplossen door op zoek te gaan naar data in de database die we net bekeken hebben. Dit ga je doen aan de hand van queries: een soort zoekopdrachten voor de database. Deze Data Query Language is slechts een deel van SQL. Er zijn nog veel andere componenten voor bijvoorbeeld het toevoegen of verwijderen van data.






Slide 7 - Slide

Vertel de leerlingen dat we eerst even wat theorie over queries gaan bespreken, maar dat ze daarna zelf aan het werk mogen en ontdekken hoe queries werken. 
Les 1. Wat is creativiteit?
Queries
Queries zijn een soort leesbare zinnetjes waarmee je een zoekopdracht uitvoert in de database. Dit doe je om specifieke informatie te vinden. Een query heeft een aantal vaste onderdelen, die we bespreken aan de hand van het voorbeeld hieronder:





Slide 8 - Slide

Leg de verschillende onderdelen uit:
SELECT - standaard keyword voor het zoeken van data
* - geeft aan dat we alle kolommen willen zien
FROM crime_scene_report - uit deze tabel
WHERE type = 'theft' - voorwaarde dat het type diefstal moet zijn

het niet erg is om nu nog niet alles precies te begrijpen, er volgt nog meer uitleg en de leerlingen gaan zelf ook aan het werk
AND city = 'Chicago' - voorwaarde dat de stad chicago moet zijn.

Les 1. Wat is creativiteit?
Queries
SQL queries voor het zoeken van data beginnen altijd met SELECT, gevolgd door de kolommen waaruit je data wilt zoeken, of * als je alle kolommen wilt zien. Daarna volgt vaak FROM, waarmee je kunt specificeren uit welke tabellen de kolommen moeten komen. Daarnaast kun je de zoekopdracht verder uitbreiden op allerlei manieren, om de data verder te filteren. Dit kun je bijvoorbeeld doen met WHERE.
  • Keywords
  • Identifiers 
  • Filter






SELECT type, description FROM crime_scene_report;

SELECT * FROM person WHERE name = 'Kinsey Erickson';





Slide 9 - Slide

SELECT, FROM en WHERE (en vele andere) worden keywords genoemd. Ze bepalen wat je wilt doen. Termen uit de database (zoals in dit geval kolommen zoals type, description en name, maar ook de namen van tabellen) worden identifiers genoemd. Het is niet strikt nodig, maar keywords worden altijd in hoofdletters getypt voor de overzichtelijkheid.

Je eindigt een query met ; 
Match de queries met hun functie
<div><br></div>Alle informatie over mensen die 'Kinsey Erickson' heten in de 'person' tabel.
<div><br></div>De eerste 10 rijen van de 'person' tabel.
<div><br></div>Alle verschillende type misdaden in de 'crime_scene_report' tabel.
<div><br></div>Kolom 'type' en 'description' uit de 'crime_scene_report' tabel.

SELECT type, description FROM crime_scene_report;

SELECT DISTINCT type FROM crime_scene_report;

SELECT * FROM person WHERE name = 'Kinsey Erickson'

SELECT * FROM person LIMIT 10;

Slide 10 - Drag question

This item has no instructions

Les 1. Wat is creativiteit?
Zelf ontdekken 
Je kent nu de basis van SQL queries, maar er zijn  meerdere manieren om data te filteren. Die ga je zelf ontdekken aan de hand van voorbeelden op de website waar je ook de moord gaat oplossen.

In tweetallen:
  • Maak elke opdracht op het leer/werkblad
  • Zorg dat je alle theorie en opdrachten begrijpt voordat je doorgaat
  • Ga door totdat jullie de twee getuigen hebben gevonden - als jullie hier nog niet komen is dat niet erg! De volgende les hebben we hier ook nog tijd voor.

Slide 11 - Slide

This item has no instructions

Les 1. Wat is creativiteit?
Aan het werk!

Slide 12 - Slide

This item has no instructions

Les 1. Wat is creativiteit?
Geïnspireerd
Wellicht vond je dit een interessante les. 
Klik dan eens op onderstaande vervolgopleidingen
Informatica/Computer Science
<div><a href="https://www.utwente.nl/en/education/bachelor/programmes/technical-computer-science/">Technical Computer Science</a> - Universiteit Twente</div><a href="https://www.tudelft.nl/onderwijs/opleidingen/bachelors/cse/bsc-computer-science-and-engineering">Computer Science en Engineering</a> - TU Delft<div><a href="https://www.tue.nl/studeren/bachelor-college/bachelor-computer-science-and-engineering?amp%3Butm_campaign=others-visited&amp;amp%3Butm_medium=link&amp;cHash=71e3ec7f0b755985915c876ef1abcd62">Computer Science en Engineering</a> - TU Eindhoven</div><div><div></div></div>
Data Science
<a href="https://www.tue.nl/studeren/bachelor-college/bachelor-data-science">Data science</a> - TU Eindhoven<div><a href="https://www.wur.nl/en/education/bachelor/bachelors-data-science-global-challenges">Data Science for Global Challenges</a> - Wageningen&nbsp;</div><div><br></div>

Slide 13 - Slide

Toelichting
Deze dia is bedoeld om leerlingen te helpen zich te oriënteren op vervolgopleidingen, hoewel dat vaak nog een ver-van-mijn-bed-show is. Onbekend maakt onbemind en op deze manier maken ze kennis met wellicht onbekende studierichtingen.

Les 1. Wat is creativiteit?
Gefeliciteerd!
Nu...
  • weet je hoe een SQL query is opgebouwd en wat de verschillende onderdelen doen.
  • kun je je eigen SQL queries schrijven om data uit een tabel in een database te halen met gebruik van keywords en identifiers
  • kun je queries schrijven op basis van een ERD.

Slide 14 - Slide

This item has no instructions

Les 1. Wat is creativiteit?
De makers van deze les willen graag weten wat je van de les vond. Ga daarvoor naar de (korte) vragenlijst. Heel veel dank!

Feedback gevraagd
Vragenlijst voor leerlingen

Slide 15 - Slide

This item has no instructions

Les 1. Wat is creativiteit?
De makers van deze les willen graag weten wat je van de les vond. Ga daarvoor naar de (korte) vragenlijst. Heel veel dank!

Feedback gevraagd
Vragenlijst voor docenten

Slide 16 - Slide

This item has no instructions

Les 1. Wat is creativiteit?
Check www.4tuschools.nl voor meer inspirerende lessen!

Slide 17 - Slide

This item has no instructions

Les 1. Wat is creativiteit?
Knightlab | Murder Mystery (z.d.). https://mystery.knightlab.com

Bronnen

Slide 18 - Slide

This item has no instructions