Informaticasite van het Lauwers College te Buitenpost                 © R.J. van der Beek
 
  Antwoorden opgaven hoofdstuk 11      


1a. Informatiemodellering is een onderdeel van de informatica dat zich bezig houdt met het maken van modellen van de informatie die belangrijk is voor een systeem. Met deze modellen kun je snel een goed database-systeem opzetten.
b. FCO-IM is de afkorting van Fully Communication Oriented Information Modelling
Deze methode gaat uit van communicatie: mensen vertellen de informatie en door kritisch te luisteren en vragen te stellen kun je de structuur vinden.
c. CASE staat voor Computer Assisted Software Engineering.
Dat is software die je helpt een model te maken.
d. De stappen die je maakt bij het maken van een database-systeem :
  • Wat zijn de eisen die aan het systeem gesteld worden.
  • Welke informatie is belang voor het systeem.
  • Wat is de structuur van deze informatie.
  • Hoe kan de structuur van de informatie vertaald worden naar een database-ontwerp.
  • Voldoet het systeem aan de eisen.
e. Redundantie is overtolligheid van informatie.
Bij de video-database (versie 2) moet, als een band wordt uitgeleend, bij elk programma op die band worden ingevuld aan wie de band is uitgeleend. Dezelfde informatie is een aantal keren ingevoerd, dus er is overtollige informatie.
c. Je spreekt van Inconsistentie in een database als er door fouten tegenstrijdige informatie in een database staat.
Bij de video-database (versie 2) moet, als een band wordt uitgeleend, bij elk programma op die band worden ingevuld aan wie de band is uitgeleend. Als dat niet bij elk programma op de band gebeurt kan er worden gedacht dat de band niet is uitgeleend, terwijl hij het wel is. Dan staat er tegenstrijdige informatie in de gegevens.


2a.  Dit database-bestand kun je hier downloaden
b.  Er zijn 11 kolommen: bandnr, sectie, aanwezig_bij, prog1, prog2, prog3, prog4, prog5, prog6, prog7, prog8
In de kolom sectie wordt vastgelegd bij welk vak de band hoort
In de kolom aanwezig_bij wordt vastgelegd wie de band heeft geleend, als hij is uitgeleend
In de kolom prog1 wordt vastgelegd wat de naam van het eerste programma is, dat op de band staat, en bij welke tellerstand dat begint, en hoe lang het programma duurt
In de kolom prog2 staan de gegevens over het tweede programma, enz.
c.  Het probleem is dat er acht kolommen zijn waar de gezochte titel in kan staan.
Een bijkomend probleem is dat ook de duur en de tellerstand van het programma in dezelfde kolom staan.
Je kunt daarom acht verschillende query's proberen:
SELECT * FROM videodata WHERE progn LIKE "*De Blauwe Planeet*";
Daarbij kan n 1, 2, 3, 4, 5, 6, 7 en 8 zijn

Alleen de kolommen prog6 en prog7 geven resultaat, resp. de programma's De blauwe planeet 1 en 2. Ze staan op band 15
of
Je kunt ook de volgende query uitvoeren:
SELECT * FROM videodata WHERE prog1 LIKE "*De Blauwe Planeet*" or prog2 LIKE "*De Blauwe Planeet*" or prog3 LIKE "*De Blauwe Planeet*" or prog4 LIKE "*De Blauwe Planeet*" or prog5 LIKE "*De Blauwe Planeet*" or prog6 LIKE "*De Blauwe Planeet*" or prog7 LIKE "*De Blauwe Planeet*" or prog8 LIKE "*De Blauwe Planeet*";
Dan moet je zelf nog uitzoeken in welke kolom het staat, en bij welke tellerstand het begint.
d.  Er zijn acht kolommen met namen van programma's en bovendien worden gegevens samengenomen in één veld, daarom lukt dit niet met een query.
De titels kunnen niet als aparte gegevens benaderd worden.
e.  Met een sql-query lukt dat niet omdat het in dezelfde kolom staat als de titel van het programma.
Hij kan het zelf wel zien in de database, maar dan moet hij wel in de gaten hebben dat het tweede getal in de programma-kolom de duur aangeeft.


3a.  Dit database-bestand kun je hier downloaden
b. Er zijn 6 kolommen: bandnr, sectie, titel, duur, tellerstand, aanwezig_bij
Iedere rij uit deze tabel bevat gegevens over één programma.
c. Het zoeken van een programma, en de tellerstand bepalen, is nu eenvoudig:
SELECT bandnr, titel, tellerstand FROM videodata WHERE titel LIKE "De Blauwe Planeet*";
d. Ja, m.b.v. de volgende query:
SELECT titel FROM videodata ORDER BY titel;
e. Ja, m.b.v. de volgende query:
SELECT bandnr, titel, duur FROM videodata WHERE titel LIKE "De Blauwe Planeet*";
f. Als een band wordt uitgeleend moet bij alle programma's op die band worden ingevuld aan wie de band is uitgeleend.
g. Als een band wordt uitgeleend, en niet bij elk programma op de band wordt de naam van de lener ingevuld, dan kan er worden gedacht dat de band niet is uitgeleend als er iemand een ander programma van die band wil laten zien.


4a. Een feit.
b. Marieke en tennis zijn de objecten.
c. Objecttypen: Persoon (dat is Marieke) en Hobby (dat is tennis)
d. Marieke is de naam waarmee de persoon wordt aangegeven. Het labeltype is: voornaam


5a.
  • Klik op New Expression en voer de zin Pieter zit in V5a in. Voer als feittype in: zit_in, en klik op Qualify
  • Selecteer Pieter, Voer als objecttype in: persoon, en klik op Qualify
  • Selecteer V5a, Voer als objecttype in: klas, en klik op Qualify, en daarna op Ready
  • Selecteer Pieter, voer als labeltype (zelfde vakje als objecttype) in: voornaam, en klik op Qualify, en daarna op Ready, en dan nog eens op Ready
  • Selecteer V5a, voer als labeltype (zelfde vakje als objecttype) in: klasselabel, en klik op Qualify, en daarna op Ready, en dan nog eens op Ready
  • Klik tenslotte op OK, en de eerste zin is gekwalificeerd. De andere zinnen gaan bijna op dezelfde manier, maar ze gaan iets sneller omdat de feit-, object- en labeltypen nu al zijn ingevoerd.

    De tweede zin gaat daarom op de volgende manier:
  • Klik op New Expression en voer de zin Marieke zit in V5b in. Klik op het pijltje achter feittype, en kies zit_in uit, en klik op Qualify
    Het programma heeft daarna al in de gaten wat de objecten en labels zijn, dat hoef je niet meer in te voeren.
  • Klik op Match, en daarna op OK, en de tweede zin is klaar.

    De derde zin gaat op dezelfde manier.
b.
  • Klik op New Expression en voer de zin Marieke zit op tennis in. Voer als feittype in: zit_op, en klik op Qualify
  • Selecteer Marieke, klik op het pijltje achter objecttype, en kies persoon uit, en klik op Qualify.
  • Selecteer tennis, Voer als objecttype in: hobby, en klik op Qualify, en daarna op Ready
    Het programma heeft dan al in de gaten wat het label is dat bij het object persoon hoort, dat hoef je niet meer in te voeren.
  • Klik op Match.
  • Selecteer tennis, voer als labeltype (zelfde vakje als objecttype) in: hobbylabel, en klik op Qualify, en daarna op Ready, en dan nog eens op Ready
  • Klik tenslotte op OK, en deze zin is gekwalificeerd.

    De tweede zin van opgave 5b gaat op de volgende manier:
  • Klik op New Expression en voer de zin Niels zit op volleybal in. Klik op het pijltje achter feittype, en kies zit_op uit, en klik op Qualify
    Het programma heeft daarna al in de gaten wat de objecten en labels zijn, dat hoef je niet meer in te voeren.
  • Klik op Match, en daarna op OK, en de tweede zin is klaar.

    De derde zin gaat op dezelfde manier.
c.
  • Klik op New Expression en voer de zin Marieke woont aan Achtkant 35 in. Voer als feittype in: woont_aan, en klik op Qualify
  • Selecteer Marieke, klik op het pijltje achter objecttype, en kies persoon uit, en klik op Qualify.
  • Selecteer Achtkant 35, Voer als objecttype in: adres, en klik op Qualify, en daarna op Ready
    Het programma heeft dan al in de gaten wat het label is dat bij het object persoon hoort, dat hoef je niet meer in te voeren.
  • Klik op Match.
  • Selecteer Achtkant, voer als labeltype (zelfde vakje als objecttype) in: straat, en klik op Qualify
  • Selecteer 35, voer als labeltype (zelfde vakje als objecttype) in: huisnummer, en klik op Qualify
  • Klik dan drie keer op Ready, en dan op OK, en deze zin is gekwalificeerd.

    De tweede zin van opgave 5c gaat op de volgende manier:
  • Klik op New Expression en voer de zin Niels woont aan Parklaan 27 in. Klik op het pijltje achter feittype, en kies woont_aan uit, en klik op Qualify
    Het programma heeft daarna al in de gaten wat de objecten en labels zijn, dat hoef je niet meer in te voeren.
  • Klik op Match, en daarna op OK, en de tweede zin is klaar.

    De derde zin gaat op dezelfde manier.
d.


6a. Een informatieanalist is iemand die bij een softwarebedrijf werkt, en die naar bedrijven wordt uitgezonden om daarvoor software (databases) te ontwikkelen.
b. Een domeindeskundige is een persoon binnen een bedrijf, die de informatie die belangrijk is, goed kent.
c. De universe (of discourse) is het geheel van dingen, die belangrijk zijn in het bedrijf waarom het gaat.
(In het boek staat: de "actuele context")


7a. De elementaire feiten van de eerste zin:
Jan Jansen woont aan de Rietbergstraat 231
(feittype: woont_aan, objecttypen: persoon en adres, labeltypen kun je zelf wel bedenken)
Jan Jansen zit op het Doorman College
(feittype: zit_op, objecttypen: persoon en school, labeltypen kun je zelf wel bedenken)
Jan Jansen doet aan voetbal
(feittype: doet_aan, objecttypen: persoon en hobby, labeltypen kun je zelf wel bedenken)
Jan Jansen doet aan tennis
(idem)
Jan Jansen is geboren op 12 sept. 1980
(feittype: geboren_op, objecttypen: persoon en geb_datum, labeltypen kun je zelf wel bedenken)

De tweede zin heeft dezelfde feittypen en objecttypen en labeltypen
b. De elementaire feiten van de eerste zin:
Mozart werd geboren op 27 jan. 1756
(feittype: geboren_op, objecttypen: persoon en geb_datum, labeltypen kun je zelf wel bedenken)
Mozart stierf in Wenen
(feittype: stierf_in, objecttypen: persoon en plaats, labeltypen kun je zelf wel bedenken)
Mozart stierf op 5 dec. 1791
(feittype: stierf_in, objecttypen: persoon en sterfdatum, labeltypen kun je zelf wel bedenken)
Mozart schreef Die Zauberflöte
(feittype: schreef, objecttypen: persoon en muziekstuk, labeltypen kun je zelf wel bedenken)
Mozart schreef Eine kleine Nachtmusik
(idem)

De tweede zin heeft dezelfde feittypen en objecttypen en labeltypen


8a. Jan Hoogterp zit in havo-4
Jan Hoogterp woont in Buitenpost
Jan Hoogterp heeft op wiskunde een 5
b. De eerste twee zinnen zijn van het binaire type, de derde zin is van het ternaire type (omdat er drie objecten in voorkomen)
c.


9a. 

b. 

c. 

d. 



10a. Jan de Vries heeft leerlingennummer 758
Llnummer 758 is geboren op 12 sept. 1988
llnummer 758 doet aan voetbal
b. Een uniciteitsbeperking geeft aan dat een object in alle zinnen van een feittype niet meer dan één keer mag voorkomen.
c.
d. Een totaliteitsbeperking geeft aan dat een object minstens één keer voor moet komen bij de zinnen van een feittype.
e. Zie bij 10c. De dubbele pijlen geven de uniciteitsbeperkingen aan, de dikke stippen de totaliteitsbeperkingen.
f.


11a. staat op band
is geleend door docent
duurt
is van vak
begint bij
b.

/td>
c.

e. twee tabellen:



12a. zie 11c
b. zie 11d
c. De feittypen worden nu:
is geleend door docent
duurt
is van vak
staat op band vanaf
d.

e.

f. drie tabellen:



13a. Nee, een piloot kan maar op één vliegtuig vliegen. Dat is een gevolg van de rechter pijl bij het feittype "wordt gevlogen door"
b. Ja. Dat is een gevolg van de rechter pijl bij het feittype "maakt"
c. Nee. Dan zou er bij het feittype "heeft maximum aantal passagiers" rechts een pijl moeten staan
d. Ja. Dat is een gevolg van de dikke stip bij het object Vlucht


14. Zie hiervoor ook de informatie in het onderdeel UITWERKING EXCURSIEWEEKOPGAVE van de site
a. Bas de Graaf heeft llnr 576
llnr 576 zit in klas H4B
llnr 576 heeft als eerste voorkeur Parijs
llnr 576 heeft als tweede voorkeur Londen
De reis naar Praag kost 390 euro
Op de reis naar Praag kunnen maximaal 25 leerlingen mee
De reis naar Praag wordt begeleid door docent KCO
De reis naar Praag vertrekt op 12 mei
De reis naar Praag vertrekt om 9.00 uur
De reis naar Praag komt terug op 16 mei
De reis naar Praag komt terug om 18.00 uur
llnr 576 is ingedeeld voor Parijs
llnr 576 heeft op 28 okt 100 euro betaald
b. Gewoon doen. In het onderdeel UITWERKING EXCURSIEWEEKOPGAVE van de site wordt precies uitgelegd hoe het gaat.
c.

d. Het IG en het IGD van opgave 14 zijn eventueel beschikbaar onder de naam WERKWEEK.
De zip-file, waarin die bestanden staan, kun je hier downloaden.
Pak de zip-file uit, en zet de bestanden in je eigen map.
Start een nieuw project met FCO, noem dit werkweek
Klik dan op File → Add File, en voeg het bestand werkweek.IG toe aan je project.
Klik dan nog eens op File → Add File, en voeg het bestand werkweek.IGD toe aan je project.


e. Klik op het GLR-icoontje , dan verschijnt:



Klik dan op Run
f.

g. Gewoon doen.
h. Gewoon doen. In het onderdeel UITWERKING EXCURSIEWEEKOPGAVE van de site lees je er meer over.