Tentamen Datamodellering en –verwerking

advertisement
Tentamen Datamodellering en –verwerking
Vakcode:
Datum:
Tijd:
2Z705
dinsdag 21 november 2000
9 – 12 uur
Voor dit tentamen kunt u in totaal 40 punten behalen. Het cijfer voor dit tentamen wordt
bepaald door het aantal behaalde punten op te tellen en vervolgens te delen door 4. U kunt
het vak Datamodellering en –verwerking alleen halen als u zowel voor de opdracht als voor
het tentamen een voldoende heeft. Het eindcijfer is in dat geval gelijk aan het gemiddelde van
het tentamencijfer en het cijfer behaald voor de opdracht.
Aantal te verdienen punten per opgave:
Opgave 1: Het Reductiebureau
(a) 10 (b) 4
Opgave 2: Mario’s Pizzeria
(a) 2
(b) 2
(c) 2
(d) 2
Opgave 3: Ambtenaar
(a) 1
(b) 1
(c) 1
(d) 1
(e) 3
(f) 3
Opgave 4: De Nederlandse Spoorwegen
(a) 8
Totaal te verdienen: 40 punten. Het tentamen bestaat uit 3 pagina’s.
Opgave 1: Het Reductiebureau
Het Reductiebureau is voornemens om naast de verkoop van allerlei artikelen ook
videobanden te gaan verhuren. De Video Commissie heeft daarom de opdracht gekregen een
nieuw administratief systeem te ontwikkelen ter ondersteuning van de video verhuur. Het RB
betrekt de videobanden van verschillende leveranciers. Van deze leveranciers zijn de naam
van het bedrijf, het adres en de naam van de contactpersoon bekend. Verder weten we dat
van een bepaalde film meerdere exemplaren kunnen worden betrokken bij één leverancier.
Videobanden kunnen onder verschillende voorwaarden worden verhuurd aan klanten. Van de
klanten wordt het RB-nummer, naam, adres en telefoonnummer bijgehouden. Verder wordt
bijgehouden welke videobanden op welke datum verhuurd zijn aan klanten en tegen welke
voorwaarden. Het RB kent verschillende huurvoorwaarden zoals:
 Premierefilm (huur 1 dag, bedrag Hfl 5,-, boete Hfl 5,- per dag)
 Film van de week (huur 1 dag, bedrag Hfl 3,50, boete Hfl 5,- per dag)
 Gouwe-ouwe (huur 5 dagen, bedrag Hfl 5,-, boete Hfl 1,- per dag)
Van ieder van deze voorwaarden wordt de naam (bijvoorbeeld ‘Gouwe-ouwe’), het aantal
dagen, het bedrag en de boete per te laat ingeleverde dag geadministreerd. Op deze manier
is het mogelijk om met behulp van een query de boete uit te rekenen die een klant moet
betalen als hij een videoband te laat inlevert.
(a) Geef bovenstaande informatie zo goed mogelijk weer in een datamodel in de vorm van
een ER-diagram. Eventueel ontbrekende informatie mag je zelf aanvullen.
(b) Geef bovenstaande informatie zo goed mogelijk weer in een relationeel database model,
d.w.z. specificeer relaties, attributen, domeinen en sleutels.
1
Opgave 2: Mario’s Pizzeria
Pizzabakker Mario wil graag een database applicatie waarmee hij voorraden bij kan houden
en adviezen kan geven aan klanten die bepaalde ingrediënten wel of juist niet op de pizza
willen hebben. Een BMT-student heeft tijdens de vakantie een database gemaakt die is
opgebouwd uit de volgende relaties (tabellen):
Pizza (pizzanr, naam, prijs),
Ingredient (ingrnaam, voorraad, inkoopprijs),
Pizzasamenstelling (pizzanr, ingrnaam, hoeveelheid),
Klantvoorkeur (klant, ingrnaam),
Klantafkeer (klant, ingrnaam),
Verkoop (klant, datum, pizzanr, aantal).
(a) Druk de volgende query uit in SQL:
“Geef de naam en de prijs van alle pizza’s waar salami op zit.”
(b) Druk de volgende query uit in SQL:
“Geef de inkoopprijs van alle ingrediënten waarvoor tenminste twee klanten een afkeer
hebben.”
In SQL kunnen operatoren zoals MIN, MAX en SUM gebruikt worden om het minimum,
maximum en som van een attribuut te bepalen. Zo kan met de volgende SQL-query de
hoogste leeftijd van de personen in de personen-relatie bepaald worden:
SELECT MAX(leeftijd)
FROM personen;
(c) Druk de volgende query uit in SQL:
“Geef het totaal aantal pizza’s dat op 15 november 2000 is verkocht aan klanten met een
voorkeur voor olijven.”
(d) Druk de volgende query uit in SQL:
“Geef alle namen van pizza’s waar wel olijven op zitten, maar geen salami.”
Opgave 3: Ambtenaar
Een ambtenaar gaat iedere werkdag naar zijn werk. Hij kan steeds kiezen of hij met de auto of
met de fiets naar het werk gaat. Onderstaande figuur is een Petri-net waarmee een werkdag
van deze ambtenaar wordt gemodelleerd.
k2
k4
fiets
huis
fiets
werk
k1
k6
werken
k3
k5
auto
auto
huis
werk
2
De begintoestand wordt gedefinieerd door in het kanaal k1 één token te leggen.
(a)
(b)
(c)
(d)
Welke processoren zijn in de begintoestand enabled?
Geef een toestand waarin processor werken enabled is.
Is deze toestand (antwoord bij (b)) bereikbaar vanuit de gegeven begintoestand?
Vormt dit Petri-net een correct model voor de werkdag van de ambtenaar zoals hierboven
beschreven? Zo nee, waarom niet?
(e) Indien het antwoord op vraag (d) nee is, geef dan een Petri-net dat de werkdag van de
ambtenaar correct modelleert.
(f) De ambtenaar besluit om voortaan met het openbaar vervoer naar zijn werk te gaan. Hij
kan steeds kiezen om met de bus of met de trein te gaan. Als hij ’s ochtends met de trein
gaat, gaat hij ’s avonds met de trein terug. Als hij ’s ochtends met de bus gaat, kan hij ’s
avonds kiezen tussen trein of bus. Modelleer opnieuw de werkdag voor de ambtenaar in
deze situatie.
Opgave 4: De Nederlandse Spoorwegen
Intercities vanuit Tilburg en Den Bosch naar Eindhoven rijden vanaf Boxtel op hetzelfde spoor.
Soms moet een intercity wachten voor een rood sein. Het sein kan om verschillende redenen
op rood staan:
1. De wissel staat verkeerd.
2. Er is kort geleden een andere intercity richting Eindhoven gepasseerd.
In het eerste geval zal de wissel moeten worden omgezet alvorens het sein op groen gaat. In
het tweede geval zal het sein op rood blijven staan totdat die andere intercity voldoende ver is
doorgereden richting Eindhoven.
De NS hebben verschillende ‘baanvakken’ geïntroduceerd. In de onderstaande figuur zijn de
baanvakken weergegeven met B1, B2, B3 en B4. De seinpalen staan respectievelijk bij de
overgang van B1 naar B3 en van B2 naar B3. Er mag maximaal 1 trein op ieder van de
baanvakken rijden. Je mag aannemen dat als een sein op groen staat, dat dan ook de wissel
in de juiste stand staat.
Modelleer de baanvakken en de seinen met behulp van een klassiek Petri-net. Je hoeft de
wissel niet te modelleren. Geef ook een korte toelichting en een mogelijke begintoestand.
Den B osch
B1
sein1
B3
B2
Tilburg
sein2
3
B4
E indhoven
Download