Werkblad Databases & SQL met antwoorden

Gratis printbaar werkblad Databases & SQL: 8 opgaven van makkelijk tot tentamenniveau, met antwoordenblad. Print het of sla het op als pdf.

Nieuw werkbladOnline oefenen met hints

Voor docenten: gratis te printen, kopiëren en in de les te gebruiken. Elk nieuw werkblad heeft nieuwe waarden en een eigen antwoordblad. Een link naar ExamProblems op je cursuspagina wordt gewaardeerd.

Naam: ____________________   Datum: ____________

1.Makkelijk

Wat doet GROUP BY in een query?

  1. AZet rijen met dezelfde waarden in groepen, zodat aggregaten per groep worden berekend
  2. BVerwijdert rijen met NULL-waarden
  3. CKoppelt twee tabellen op hun gemeenschappelijke kolommen
  4. DSorteert de rijen van het resultaat alfabetisch
2.Makkelijk

Wat is een kandidaatsleutel (candidate key)?

  1. AEen minimale verzameling kolommen die elke rij uniek identificeert
  2. BEen verzameling kolommen die twee tabellen delen om hun rijen te koppelen
  3. CElke kolom die NULL-waarden bevat
  4. DEen kolom die erop wacht een vreemde sleutel te worden
3.Makkelijk

Wat garandeert een UNIQUE-constraint op een kolom?

  1. AGeen twee rijen hebben dezelfde niet-NULL-waarde in die kolom
  2. BDe kolomwaarden zijn gesorteerd
  3. CDe kolom wordt automatisch de primaire sleutel van de tabel
  4. DDe kolom kan na het invoegen niet meer worden gewijzigd
4.Gemiddeld

Welke query geeft het aantal verschillende steden in de tabel customers?

  1. ASELECT COUNT(city) FROM customers GROUP BY city
  2. BSELECT SUM(DISTINCT city) FROM customers
  3. CSELECT DISTINCT COUNT(city) FROM customers
  4. DSELECT COUNT(DISTINCT city) FROM customers
5.Gemiddeld

Waarom kan een tabel maar één geclusterde index hebben?

  1. ADe SQL-standaard verbiedt meer dan één index op een tabel
  2. BDe rijen kunnen fysiek maar in één volgorde worden opgeslagen
  3. CGeclusterde indexen kunnen alleen op de primaire sleutel liggen
  4. DGeclusterde indexen gebruiken te veel geheugen
6.Gemiddeld

Een tabel heeft rijen waarin col NULL is. Welke rijen geeft WHERE col = NULL terug?

  1. AAlle rijen van de tabel
  2. BGeen rijen, omdat de vergelijking onbekend (UNKNOWN) is
  3. CEen fout in elke database
  4. DAlleen de rijen waarin col NULL is, net als bij IS NULL
7.Moeilijk

Wat geeft het volgende terug: SELECT name FROM students WHERE grade > (SELECT AVG(grade) FROM students)?

  1. AAlleen de studenten met het hoogste cijfer
  2. BHet gemiddelde cijfer van alle studenten
  3. CStudenten met een cijfer boven het gemiddelde cijfer
  4. DEen fout, omdat subqueries niet zijn toegestaan in WHERE
8.Moeilijk

Een tabel heeft een miljoen rijen en een Booleaanse kolom is_active die voor 95% ervan TRUE is. Waarom kan de optimizer een index op is_active negeren voor WHERE is_active = TRUE?

  1. ADe meeste rijen voldoen, dus een volledige tabelscan is goedkoper dan veel index-lookups
  2. BOp Booleaanse kolommen kunnen geen indexen worden gemaakt
  3. CTRUE wordt door de index als NULL behandeld
  4. DDe optimizer gebruikt nooit indexen in WHERE-clausules

Antwoordenblad

  1. 1. A · Zet rijen met dezelfde waarden in groepen, zodat aggregaten per groep worden berekend
  2. 2. A · Een minimale verzameling kolommen die elke rij uniek identificeert
  3. 3. A · Geen twee rijen hebben dezelfde niet-NULL-waarde in die kolom
  4. 4. D · SELECT COUNT(DISTINCT city) FROM customers
  5. 5. B · De rijen kunnen fysiek maar in één volgorde worden opgeslagen
  6. 6. B · Geen rijen, omdat de vergelijking onbekend (UNKNOWN) is
  7. 7. C · Studenten met een cijfer boven het gemiddelde cijfer
  8. 8. A · De meeste rijen voldoen, dus een volledige tabelscan is goedkoper dan veel index-lookups

Volledige stapsgewijze oplossingen: oefen dit onderwerp op examproblems.com.