2017 januari examen
9 Januari
(Van wat ik mij herinner)
Volledig schriftelijk, 2u tijd (1.5u gerekend)
1) In welke SELECT componenten kun je gebruik maken van gecorreleerde subqueries? (10min)
2) Code voor het creëren van een tabel met een aantal attributen gegeven. Wat is hier goed/slecht aan (inhoudelijk, fysisch en sql) (10min)
3) Code voor een hiërarchische DB programma gegeven. Wat voor DB is dit? Wat geeft dit als output? (10min) (zelfde programma als vorig jaar)
GU ZAAL
PATIENT
GENEESMIDDEL (GNAAM = VALIUM)
GU ZAAL (ZAALNR = key1zaalkey)
PERFORM UNTIL STATUS1NOTOK
GNP VERZORGSTER
PERFORM UNTIL STATUS2NOTOK
DISPLAY VERZORGSTER
GNP VERZORGSTER
END-PERFORM
GN ZAAL (ZAALNR <> key1zaalkey)
PATIENT
GENEESMIDDEL (GNAAM = VALIUM)
IF DBSTATUS1OK
GN ZAAL (ZAALNR = key1zaalkey)
END-IF
END-PERFORM
4) 3 verschillende queries gegeven die hetzelfde doen (een user teruggeven op basis van één van zijn eignschappen), adhv 6 j/f vragen bepalen welke de snelste is. (kwam ongeveer op het volgende neer denk ik: ) (10min)
> a) select *
from users
where id="123546"
1) Deze query is de snelste omdat id een uniek attribuut is.
2) Deze query is niet de snelste omdat het id zeer hoog is,
dus hij waarschijnlijk vrij ver in de de lijst van id's gaat moeten zoeken om deze user te vinden.
> b) select *
from users
where hash="ea02e3a20e3ae23265"
1) Deze query is de snelste omdat het een hash is.
2) Deze query is niet de snelste omdat een hash niet per se uniek is (en hier ook niet).
> c) select *
from users
where joindate="05-12-06" (met de eerste user gejoind op "05-12-06")
1) Deze query is de snelste omdat deze eerst in de lijst staat (eerste user dan gejoined).
2) Deze query is niet de snelste omdat timestamp een complex attribuut is.
5) Query met rollup gegeven. Bespreek hoe de uitvoer hiervan eruit gaat zien. (10min)
6) Vergeten (10min)
7) 4 queries maken (met subqueries, aggregatiefuncties en joins) (40min)