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

Waar staat het jokerteken _ (underscore) voor in een LIKE-patroon?

  1. ANul of meer tekens
  2. BPrecies één teken
  3. CEen spatie
  4. DEen willekeurige letter, maar geen cijfers
2.Makkelijk

Welke constraint zorgt ervoor dat een kolom nooit leeg (NULL) kan blijven?

  1. AUNIQUE
  2. BDEFAULT
  3. CNOT NULL
  4. DCHECK NULL
3.Makkelijk

Welke SQL-instructie voegt nieuwe rijen toe aan een tabel?

  1. ASELECT
  2. BALTER
  3. CINSERT
  4. DUPDATE
4.Gemiddeld

Welke query geeft het aantal bestellingen per klant?

  1. ASELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
  2. BSELECT customer_id FROM orders WHERE COUNT(*) > 0
  3. CSELECT DISTINCT COUNT(*) FROM orders
  4. DSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
5.Gemiddeld

Wat biedt een common table expression (WITH name AS (...))?

  1. AEen index op een kolom
  2. BEen permanente tabel die op schijf opgeslagen blijft totdat ze wordt verwijderd (DROP)
  3. CEen nieuwe databasegebruiker
  4. DEen tijdelijk resultaat met een naam dat binnen één instructie kan worden gebruikt
6.Gemiddeld

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

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

R(A, B, C, D) heeft de functionele afhankelijkheden A → B en C → D. Wat is de kandidaatsleutel?

  1. A{B, D}
  2. B{A, C}
  3. C{C}
  4. D{A}
8.Moeilijk

De query FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' laat onverwacht klanten zonder bestellingen weg. Waarom?

  1. ADe WHERE-voorwaarde op o weigert de met NULL gevulde rijen, waardoor het een inner join wordt
  2. BLEFT JOIN houdt nooit rijen zonder overeenkomst over
  3. CDe join zou USING moeten gebruiken in plaats van ON
  4. Dstatus is een gereserveerd woord

Antwoordenblad

  1. 1. B · Precies één teken
  2. 2. C · NOT NULL
  3. 3. C · INSERT
  4. 4. D · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  5. 5. D · Een tijdelijk resultaat met een naam dat binnen één instructie kan worden gebruikt
  6. 6. D · De rijen kunnen fysiek maar in één volgorde worden opgeslagen
  7. 7. B · {A, C}
  8. 8. A · De WHERE-voorwaarde op o weigert de met NULL gevulde rijen, waardoor het een inner join wordt

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