1.Makkelijk
Wat is een surrogaatsleutel (surrogate key)?
- AEen sleutel die is gemaakt van echte gegevens, zoals een e-mailadres
- BEen kunstmatige identificatie zonder zakelijke betekenis, zoals een auto-increment-id
- CEen sleutel die alleen in views wordt gebruikt
- DEen sleutel die naar een andere tabel verwijst
2.Makkelijk
Wat is een kandidaatsleutel (candidate key)?
- AEen minimale verzameling kolommen die elke rij uniek identificeert
- BEen kolom die erop wacht een vreemde sleutel te worden
- CElke kolom die NULL-waarden bevat
- DEen verzameling kolommen die twee tabellen delen om hun rijen te koppelen
3.Makkelijk
Welke clausule geeft in PostgreSQL en MySQL alleen de eerste 10 rijen van een resultaat terug?
- AFIRST 10 ONLY
- BLIMIT 10
- CMAX 10
- DTOP ROWS 10
4.Gemiddeld
Welke bewering over HAVING is juist?
- AHet kan niet samen met GROUP BY worden gebruikt
- BHet sorteert de resultaten
- CHet kan aggregatiefuncties gebruiken om groepen te filteren
- DHet moet in de SELECT-instructie vóór WHERE staan
5.Gemiddeld
Wat geeft SELECT COALESCE(phone, 'unknown') FROM customers terug voor een klant van wie phone NULL is?
- A'unknown'
- BEen fout
- CEen lege string
- DNULL
6.Gemiddeld
Welke query toont klanten die nooit een bestelling hebben geplaatst?
- ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- BSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
- DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
7.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?
- ATRUE wordt door de index als NULL behandeld
- BDe optimizer gebruikt nooit indexen in WHERE-clausules
- COp Booleaanse kolommen kunnen geen indexen worden gemaakt
- DDe meeste rijen voldoen, dus een volledige tabelscan is goedkoper dan veel index-lookups
8.Moeilijk
De tabel employee(emp_id, dept_id, dept_name) heeft de sleutel emp_id, en dept_id → dept_name. Welke uitspraak is juist?
- AZe staat niet in 2NF
- BZe staat in 2NF maar niet in 3NF
- CZe staat in BCNF en dus ook in 3NF
- DZe staat niet in 1NF
Antwoordenblad
- 1. B · Een kunstmatige identificatie zonder zakelijke betekenis, zoals een auto-increment-id
- 2. A · Een minimale verzameling kolommen die elke rij uniek identificeert
- 3. B · LIMIT 10
- 4. C · Het kan aggregatiefuncties gebruiken om groepen te filteren
- 5. A · 'unknown'
- 6. A · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- 7. D · De meeste rijen voldoen, dus een volledige tabelscan is goedkoper dan veel index-lookups
- 8. B · Ze staat in 2NF maar niet in 3NF
Volledige stapsgewijze oplossingen: oefen dit onderwerp op examproblems.com.