Skip to main content

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)