2022-2023 Examen januari opgave
Examen Opgave januari 2022
Examen duur: 2u20min
Gegeven
Er werd gebruik gemaakt van de database schema 'schooladministratie' op de 'pooling_62223' onder 'df'.
Ter ondersteuning kregen we afgedrukt op papier een schema van het datamodel zoals hieronder weergegeven, alsook de eerste rijen van elke tabel ter illustratie van de inhoud van de tabellen.
Figuur 1: Schema van het datamodel 'schooladministratie'
Figuur 2: Tabel campus
Figuur 3: Tabel opleiding
Figuur 4: Tabel inschrijving
Figuur 5: Tabel adres
Figuur 6: Tabel student
Figuur 7: Tabel lector
Figuur 8: Tabel opleidingsonderdeel
Figuur 9: Tabel inschrijving_bevat_opo
Figuur 10: Tabel lector_geeft_opo
Figuur 11: Tabel examenkans
Vragen (in totaal op 26 punten)
Vraag 1 (8 punten)
Voer je antwoorden op onderstaande vragen in in onderstaande vakjes. Enkel het antwoord dus en niet de SQL-code die je gebruikte om dit antwoord te vinden!
a) Welke lector (naam en voornaam) ondersteunt als mentor het grootste aantal collega’s?
b) Wat is het gemiddeld resultaat van alle examens afgelegd in 2020 (als decimaal getal met twee cijfers na de komma)? Tel 'NA' resultaten niet mee.
c) Hoeveel unieke studenten zijn er in Campus Industrie ingeschreven voor minstens één opleiding? Studenten die dus meerdere opleidingen volgen in dezelfde campus, mogen maar één keer meegeteld worden.
d) Welk OPO (geef de naam) met minstens tien examenresultaten heeft het slechtste gemiddelde resultaat? Een ‘NA’ telt als een 0 in de berekening van het gemiddelde.
Vraag 2 (3 punten)
Schrijf SQL code die het volgende in de databank toevoegt of aanpast en vul die in bij deze vraag op xToledo.
“Er wordt vandaag een nieuwe lector aangeworven: Emma Verbeken. Ze krijgt als lector_id ‘u9876543’. Emma woont in de Kraainestraat 107 in 9420 Erpe-Mere en is geboren op 7 mei 1995. Ze krijgt een ervaren lector als mentor toegewezen: Kurt Huber. Ze zal volgend academiejaar het OPO ‘Participatie op de werkplek’ geven en bovendien ook coördinator worden van dit OPO want de huidige coördinator is voor lange tijd ziek.
Vraag 3 (3 punten)
Bekijk alle studenten die een opleiding op campus Hoogstraat volgen. Hoeveel van deze
studenten hebben minstens één resultaat groter dan het gemiddelde resultaat van alle resultaten
behaald door studenten van campus Plateau? Schrijf één SQL query die dit getal berekent. Met de
'NA' resultaten houd je geen rekening voor het gemiddelde resultaat van campus Plateau en ook
niet om te bepalen of een resultaat van campus Hoogstraat beter is dan dit gemiddelde. Je moet
de volgende figuur bekomen:
Figuur 12: Verwachte uitvoer bij vraag 3
Je test vanzelfsprekend je code via pgAdmin en kopieert die dan naar het invoerveld bij deze
vraag op xToledo.
Vraag 4 (4 punten)
Stel een lijst op (alfabetisch gesorteerd op gemeente) van alle studenten die in augustus een tolereerbaar cijfer behaalden (8 of 9 dus) en in een gemeente wonen die minstens één ‘a’ en minstens één ‘e’ bevat (hoofdletter of kleine letter maakt niet uit). Zorg ervoor dat elke student maar één keer keer vermeld wordt in deze lijst. Schrijf de SQL query en kopieer naar xToledo. Onderstaande figuur toont de eerste rijen van het resultaat.
Figuur 13: Verwachte uitvoer bij vraag 4
Vraag 5 (2 punten)
Uit welke straten in Aalst hebben zich nog nooit studenten ingeschreven voor een opleiding?
Schrijf de SQL query en voer in in xToledo. Onderstaande figuur toont een deel van het resultaat.
Figuur 14: Verwachte uitvoer bij vraag 5
Vraag 6 (4 punten)
Het antwoord van deze vraag diende op papier getekend en afgegeven te worden. Er werd een simpele ERD-datamodel gegeven (2 entiteittypes met enkele attributen en 1 relatie). Voor deel 1 moest je iets toevoegen aan het ERD. Voor deel 2 moest je een logisch datamodel uittekenen van het ERD.
De UCLL Rugby Club telt een aantal teams bestaande uit studenten. Deze teams spelen
wedstrijden tegen teams van andere hogescholen en universiteiten. Daarnaast spelen de
teams van de UCLL Rugby Club ook onderling wedstrijden. Je werd gevraagd om een
datamodel te creëren voor een databank die de gegevens zou bijhouden over de spelers en de
teams.
Zie de opgavebundel op papier voor meer details betreffende deze vraag. Geef het
antwoord op papier.
Vraag 7 (2 punten)
Wat is de businessvraag die bij deze query hoort? Beschrijf wat er gevraagd is zo volledig mogelijk
en vul dit in in xToledo.
SELECT gemeente, COUNT(DISTINCT(student_id)) AS aantal_studenten
FROM opleiding
INNER JOIN inschrijving ON inschrijving.opleiding = opleiding.opleiding_id
INNER JOIN student ON student.student_id = inschrijving.student
INNER JOIN adres ON adres.adres_id = student.adres
WHERE opleiding.naam LIKE 'Marketing'
GROUP BY gemeente
HAVING COUNT(DISTINCT(student_id)) > 1
ORDER BY COUNT(DISTINCT(student_id)) DESC
LIMIT 3