Hoofdstuk 11. Informatiemodellering
11.3 Feiten, objecten en labels
We gaan nu met behulp van het programma Infagon gebruik maken van FCO-IM, Fully Communication Oriented Information Modelling.
Het analyseren met de methode FCO-IM begint met het formuleren van zinnen,
waarin de gegevens waar het om draait in voorkomen.
Als voorbeeld nemen we een leerlingenadministratie van een school in
Buitenpost.
Daar zijn o.a. de volgende gegevens van alle leerlingen vastgelegd:
- achternaam
- voornaam
- adres
- woonplaats
- geboortedatum
- klas
Hieronder vind je de gegevens van vijf leerlingen van de school:
leerlingnummer |
Achternaam |
Voornaam |
Adres |
Woonplaats |
Geb_dat. |
Klas |
10001 |
Haarsma |
Petra |
Molenstraat 12 |
Oostermeer |
15-8-1991 |
V5C |
10002 |
Jonker |
Henk |
Achtkant 23 |
Buitenpost |
11-11-1991 |
V5A |
10003 |
Claus |
Dominic |
Langelaan 68 |
Surhuisterveen |
1-6-1991 |
V5C |
10004 |
Nutma |
Fokke |
SimkeKloostermanlaan 14 |
Kollum |
10-9-1990 |
V5B |
10005 |
Venema |
Taeke |
Hoofdstraat 122 |
Harkema |
18-6-1990 |
V5A |
Voorbeeldzinnen waarin deze gegevens zijn verwerkt:
Petra Haarsma woont op Molenstraat 12 in Oostermeer,
ze is geboren op 15-8-1991, ze zit in klas V5C en ze heeft leerlingnummer 10001
Henk Jonker woont op de Achtkant 23 in Buitenpost, hij is geboren op 11-11-1991,
hij zit in klas V5A en hij heeft leerlingnummer 10002
Deze lange zinnen kunnen we opsplitsen in kortere zinnetjes.
En daar beginnen we altijd mee.
Bijvoorbeeld:
Petra Haarsma heeft leerlingnummer 10001
Dominic Claus heeft leerlingnummer 10003
Fokke Nutma is geboren op 10-9-1990
Taeke Venema is geboren op 18-6-1990
Henk Jonker is geboren op 11-11-1991
Petra Haarsma zit in klas V5C
Henk Jonker zit in klas V5A
Fokke Nutma zit in klas V5B
Petra Haarsma woont op het adres Molenstraat 12
Taeke Venema woont op het adres Hoofdstraat 122
Dominic Claus woont in Surhuisterveen
Taeke Venema woont in Harkema
Feiten en feittypen
We kijken even speciaal naar de volgende drie feiten (i.p.v. zinnen wordt in FCO-IM de term feiten gebruikt):
Petra Haarsma zit in klas V5C
Henk Jonker zit in klas V5A
Fokke Nutma zit in klas V5B
Je ziet dat deze drie feiten allemaal van hetzelfde soort of type zijn, het gaat steeds over een leerling
die in een bepaalde klas zit.
Dat zie je ook aan de woorden in het midden van de zinnen, die zijn steeds
"zit in klas".
Daarom geven we dit type zin aan met zit_in_klas .
Anders gezegd: dit feittype noemen we zit_in_klas .
Zo heb je hierboven nog meer feiten van hetzelfde type.
We hebben ook het feittype heeft_leerlingnummer, het
feittype is_geboren_op, het feittype
woont_op_het_adres en het feittype
woont_in.
We geven het feittype dus steeds
aan met de woorden in het midden van de zinnen, die steeds
gelijk zijn. Dat is niet verplicht, maar het is wel handig.
Je
zou het laatste feittype (woont_in) bijvoorbeeld ook wel
woonplaats kunnen noemen, maar dat is niet handig omdat
je waarschijnlijk het object aan het eind van de zin zo
gaat noemen. Wat met een object bedoeld wordt lees je
hieronder.
Objecten en objecttypen
De laatste drie
feiten gingen allemaal over een leerling die in een bepaalde
klas zit.
Met de eerste woorden werd steeds een
leerling aangeduid, en met het laatste woord een
klas.
Die leerlingen en klassen noem je objecten.
Ook
in de zinnen daarboven komen objecten voor, steeds
zitten er in elk zinnetje twee objecten.
Dus de personen en zaken, die in de feiten
voorkomen, noem je objecten.
Je zou
bovenstaand feittype ook op de volgende manier kunnen weergeven, met
zogenaamde invulblokken:
In de eerste rechthoek kan Petra Haarsma
staan, maar ook Henk Jonker of Dominic
Claus.
En in de tweede rechthoek kan V5C
staan, maar ook V5B of V5A .
Objecten zijn dus dingen die in de
invulblokken bij feittypen kunnen worden
geplaatst.
De invulplaatsen noemen we ook wel rollen.
Bij andere
modelleermethoden worden de objecten ook wel entiteiten genoemd.
De
objecten Petra Haarsma en Henk Jonker en
Dominic Claus zijn alledrie van dezelfde soort,
het zijn alledrie personen. Dat wordt het objecttype
genoemd; het objecttype in de eerste rechthoek is dus
een persoon.
Ook de objecten V5C en
V5B en V5A zijn van hetzelfde type: het
objecttype klas.
Het objecttype in de tweede rechthoek is dus een
klas.
Labels en labeltypen
De objecten worden op
een bepaalde manier aangeduid.
Petra Haarsma wordt met
haar voor- en achternaam aangeduid. Ze had ook met haar
leerlingnummer kunnen worden aangeduid, er had dus ook
wel kunnen staan: Leerling 10001 zit in klas V5C
Of
misschien kon er ook wel staan: De oudste dochter van J.
Haarsma uit Oostermeer zit in klas V5C.
Maar dat is
niet gebeurd, ze wordt met haar voor- en achternaam aangeduid, en
dat wordt het label
genoemd.
Je kunt het je voorstellen als een etiket,
dat op het object wordt geplakt om aan te geven wat het
is.
Ook het object, dat eventueel met leerling 10002
had kunnen worden aangeduid, is met het label voor- en
achternaam aangeduid, namelijk met de naam Henk
Jonker.
En ook bij de derde persoon is het label voor- en
achternaam gebruikt.
Bij alle drie is hetzelfde labeltype
gebruikt, namelijk voor- en achternaam.
We hadden
eventueel ook het labeltype leerlingnummer kunnen
gebruiken, maar dat is bij deze feiten niet
gedaan.
Bij andere modelleermethoden worden de labels
ook wel attributen
genoemd.
In bovenstaande figuur zie je het feittype
zit_in_klas, met de bijbehorende
invulvakken.
Op de bovenste regel zijn er objecten in de invulvakken
geplaatst.
Daaronder (met gele achtergrond) zie je de
objecttypen.
En daar
weer onder (met rode achtergrond) de labeltypen.
We zouden het
feittype nu ook op de volgende manier kunnen
noteren:
<Persoon, aangeduid
met zijn voornaam en
achternaam> zit in
klas <Klas, aangeduid met de
klassenaam>
Het afleiden
van een feittype met objecttypen en labeltypen uit een
stel voorbeeldzinnen noemen we kwalificeren.
In het programma
Infagon, dat we gaan gebruiken, worden de engelse termen
qualify, facttype, objecttype en
labeltype gebruikt.