Kun jij de moordenaar vinden? - les 3
Ondertitel
Kun jij de moordenaar vinden?
Les 3 - data uit verschillende tabellen combineren
1 / 19
volgende
Slide 1: Tekstslide
InformaticaMiddelbare schoolhavo, vwoLeerjaar 4-6

In deze les zitten 19 slides, met interactieve quizzen en tekstslides.

time-iconLesduur is: 50 min

Introductie

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. Deze derde les duik je dieper in hoe je data uit verschillende tabellen kan combineren.

Instructies

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 waarom je soms data uit verschillende tabellen in een database wilt combineren.
De leerling weet hoe je twee tabellen kan koppelen met een primary key en een foreign key.
De leerling kan queries schrijven die data uit verschillende tabellen combineert met JOIN.

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

Werkbladen

Onderdelen in deze les

Ondertitel
Kun jij de moordenaar vinden?
Les 3 - data uit verschillende tabellen combineren

Slide 1 - Tekstslide

Deze slide heeft geen instructies

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 er na het vinden van de moordenaar nog meer te doen, maar daar kom je dan zelf ook achter.

Slide 2 - Tekstslide

Deze slide heeft geen instructies

Les 1. Wat is creativiteit?
Leerdoelen
Na deze les...
  • kun je toelichten waarom je soms data uit verschillende tabellen in een database wilt combineren.
  • kun je toelichtenhoe je twee tabellen kunt koppelen met een primary key en een foreign key.
  • kun je queries schrijven die data uit verschillende tabellen combineert met JOIN.

Slide 3 - Tekstslide

Deze slide heeft geen instructies

Les 1. Wat is creativiteit?
In deze les
Jullie zijn in de afgelopen les begonnen met het oplossen van de moord! Jullie hebben geleerd hoe je bepaalde data in de database kunt vinden met queries: een soort zoekopdrachten voor databases. 

In deze les gaan we kijken naar hoe je queries kunt schrijven waar je data uit meerdere tabellen combineert. Na dit stukje theorie ga je snel weer zelf aan het werk, op zoek naar de moordenaar!

Om je kennis van de afgelopen lessen op te frissen eerst even een quiz! 

Slide 4 - Tekstslide

Deze slide heeft geen instructies

Les 1. Wat is creativiteit?
Quiz vraag 1
We willen deze tabellen in een ERD zetten. Wat zijn de primary keys?

Geef je antwoord in de volgende slide.
Boekingen
Bootnummer                              TEXT
Boekingsdatum                         DATE
Boekingsnummer                        INT
Documentnummer                   TEXT
Personen
Voor- en achternaam             TEXT
Leeftijd                                          INT
Documentnummer  ID         TEXT
Rijbewijs                          BOOLEAN
Boten
Bootnaam                                 TEXT
Bootnummer                              INT
Max aantal personen                INT

Slide 5 - Tekstslide

Deze slide heeft geen instructies


Quiz vraag 1
Wat zijn de primary keys? (personentabel, 
boekingentabel, botentabel)
A
Voor- en achternaam, boekingsnummer, bootnummer
B
Voor- en achternaam, documentummer, bootnaam
C
Documentnummer ID, boekingsnummer, bootnummer
D
Documentnummer ID, bootnummer, bootnaam

Slide 6 - Quizvraag

Leg uit waarom het antwoord C is. 

Het antwoord moet naar een label van een kolom verwijzen die uniek is. 

Antwoord A: fout omdat voor- en achternaam niet uniek hoeft te zijn

Antwoord B: fout omdat voor- en achternaam en bootnaam niet uniek hoeft te zijn.

Antwoord D: fout omdat een bootnaam niet uniek hoeft te zijn.
Les 1. Wat is creativiteit?
Quiz vraag 2
Weer dezelfde tabellen uit een ERD. Welke kolommen kunnen een foreign key zijn en met welke primary key kan een relationship gemaakt worden? 
Steek je hand op als je het antwoord denkt te weten!

Boekingen
Bootnummer                              TEXT
Boekingsdatum                         DATE
Boekingsnummer                        INT
Documentnummer                   TEXT
Personen
Voor- en achternaam             TEXT
Leeftijd                                          INT
Documentnummer  ID         TEXT
Rijbewijs                          BOOLEAN
Boten
Bootnaam                                 TEXT
Bootnummer                              INT
Max aantal personen                INT

Slide 7 - Tekstslide

Vraag de leerlingen in de klas om de 'lijnen' te trekken. Zorg dat ze in de goede richting zijn! Dus van foreign key naar primary key.

Quiz vraag 3
Wat is SQL?
A
Een systeem om relational databases mee te maken.
B
Een systeem om relational databases te maken, bewerken en informatie in de database te vinden.
C
Een soort programmeertaal om relational databases mee te maken, bewerken en informatie in de databases mee te vinden.
D
Een soort programmeertaal om informatie in relational databases mee te vinden.

Slide 8 - Quizvraag

Leerlingen denken misschien D, maar zoals in de vorige les besproken is, is SQL een stuk groter dan alleen het vinden van informatie. 

Vraag
Wat zijn keywords en identifiers? Geef van beide een definitie.

Slide 9 - Open vraag

Keywords bepalen wat je wilt doen.
Identifiers zijn termen uit de database waarmee je aangeeft waarop de keywords hun actie moeten uitvoeren.
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 - Sleepvraag

Deze slide heeft geen instructies

Les 1. Wat is creativiteit?
Data uit verschillende tabellen combineren
De queries waar we tot nu toe naar hebben gekeken geven ons de mogelijkheid om data uit één tabel te halen. Soms willen we echter een zoekopdracht doen waarbij we data uit verschillende tabellen moeten combineren om tot ons antwoord te komen. 

We pakken even een voorbeeld uit onze database: stel we willen de naam en leeftijd van alle personen die 85 jaar of ouder zijn. 





Slide 11 - Tekstslide

Deze slide heeft geen instructies

Les 1. Wat is creativiteit?
Data uit verschillende tabellen combineren

Slide 12 - Tekstslide

Leg hier de structuur uit van de twee tabellen en hoe we de link maken. Rechts is de output van het command. 

Les 1. Wat is creativiteit?
Het gebruik van ´JOIN`
Het keyword om twee tabellen aan elkaar te koppelen is JOIN. Er zijn 
verschillende soorten JOIN, maar voor deze lessenserie houden we het 
bij de ‘normale’ JOIN – INNER JOIN. Je hoeft het INNER er niet bij te 
typen. 





Je kunt ook meer dan twee tabellen aan elkaar koppelen, het principe blijft precies hetzelfde!

SELECT person.name, drivers_license.age
FROM person JOIN drivers_license ON person.license_id = drivers_license.id <-------
WHERE age > 85

Slide 13 - Tekstslide

We kijken nog weer even naar de query. Zoals jullie zien selecteren we weer de kolommen die we willen zien, maar zetten we nu de naam van de tabel er voor. Dit doen we omdat kolommen in verschillende tabellen dezelfde naam kunnen hebben. 

Om beter uit te leggen hoe de JOIN verder werkt delen we het even als volgt op:
SELECT person.name, drivers_license.age
FROM
person JOIN drivers_license ON person.license_id = drivers_license.id
WHERE age > 85
In het gemarkeerde stuk (op de slide met een pijl) maken we een soort nieuwe tabel waar de twee orginele tabellen aan elkaar gelinked zijn via de foreign key license_id en de primary key id. 

We kunnen ook tabellen joinen op kolommen die niet een primary – foreign key koppel zijn, maar dit zullen we hier verder niet bespreken.
Je kunt ook meer dan twee tabellen aan elkaar koppelen, het principe blijft precies hetzelfde!


Les 1. Wat is creativiteit?
Op zoek naar de moordenaar!
Jullie hebben nu alle tools die jullie nodig hebben om de moordenaar te vinden!

De eerste stap is het vinden van de twee getuigen en hun getuigenissen. Jullie kunnen aan de hand van het leer/werkblad door de webpagina heen werken.

Jullie hebben nog een hele les voor het zoeken van de moordenaar, dus neem de tijd om te zorgen dat je goed begrijpt hoe alle queries die je gebruikt werken! 





Slide 14 - Tekstslide

Deze slide heeft geen instructies

Les 1. Wat is creativiteit?
Gefeliciteerd!
Nu...
  • kun je toelichten waarom je soms data uit verschillende tabellen in een database wilt combineren.
  • kun je toelichtenhoe je twee tabellen kunt koppelen met een primary key en een foreign key.
  • kun je queries schrijven die data uit verschillende tabellen combineert met JOIN.

Slide 15 - Tekstslide

Deze slide heeft geen instructies

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 16 - Tekstslide

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?
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 17 - Tekstslide

Deze slide heeft geen instructies

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 18 - Tekstslide

Deze slide heeft geen instructies

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

Bronnen

Slide 19 - Tekstslide

Deze slide heeft geen instructies