1.Makkelijk
Een klant kan veel bestellingen plaatsen, maar elke bestelling hoort bij precies één klant. Welk type relatie is dit?
- AEen-op-veel
- BEen-op-een
- CVeel-op-veel
- DNul-op-nul
2.Makkelijk
Wat doet GROUP BY in een query?
- AKoppelt twee tabellen op hun gemeenschappelijke kolommen
- BSorteert de rijen van het resultaat alfabetisch
- CVerwijdert rijen met NULL-waarden
- DZet rijen met dezelfde waarden in groepen, zodat aggregaten per groep worden berekend
3.Makkelijk
Welke instructie verwijdert rijen uit een tabel?
- ADELETE
- BDROP
- CTRUNCATE COLUMN
- DREMOVE
4.Gemiddeld
Een kolom bevat de waarden 10, 20 en NULL. Wat geeft AVG(col) terug?
- A15
- B30
- CNULL
- D10
5.Gemiddeld
Welke query geeft het aantal bestellingen per klant?
- ASELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
- BSELECT DISTINCT COUNT(*) FROM orders
- CSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- DSELECT customer_id FROM orders WHERE COUNT(*) > 0
6.Gemiddeld
Welke query geeft het aantal verschillende steden in de tabel customers?
- ASELECT COUNT(DISTINCT city) FROM customers
- BSELECT DISTINCT COUNT(city) FROM customers
- CSELECT SUM(DISTINCT city) FROM customers
- DSELECT COUNT(city) FROM customers GROUP BY city
7.Moeilijk
Waarom gebruiken veel DBMS'en strikte two-phase locking, waarbij exclusieve locks tot de commit worden vastgehouden?
- AHet laat transacties veilig dirty data lezen
- BHet voorkomt cascaderende aborts, omdat niemand niet-gecommitte schrijfacties kan lezen
- CHet maakt een transactielog overbodig
- DHet maakt deadlocks onmogelijk
8.Moeilijk
Wat toont EXPLAIN (of EXPLAIN ANALYZE in PostgreSQL) voor een query?
- AAlleen een herschrijving van de query in de notatie van de relationele algebra
- BDe lijst van gebruikers die de query hebben uitgevoerd
- CHet door de optimizer gekozen uitvoeringsplan, zoals scans en joinmethoden
- DDe betekenis van elk SQL-sleutelwoord in de query
Antwoordenblad
- 1. A · Een-op-veel
- 2. D · Zet rijen met dezelfde waarden in groepen, zodat aggregaten per groep worden berekend
- 3. A · DELETE
- 4. A · 15
- 5. C · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- 6. A · SELECT COUNT(DISTINCT city) FROM customers
- 7. B · Het voorkomt cascaderende aborts, omdat niemand niet-gecommitte schrijfacties kan lezen
- 8. C · Het door de optimizer gekozen uitvoeringsplan, zoals scans en joinmethoden
Volledige stapsgewijze oplossingen: oefen dit onderwerp op examproblems.com.