Hoofdstuk 11. Informatiemodellering
11.1 Het bouwen van een database
Bij het ontwerpen van een database
komt heel wat kijken.
Misschien heb je wel eens je cd's of dvd's in een database gezet, of
alle gegevens van je vrienden en kennissen.
Dat vond je misschien heel simpel. Maar een database met een cd-verzameling
is niet te vergelijken met een database die in een groot bedrijf wordt gebruikt,
bijvoorbeeld een database met alle klantgegevens of alle productgegevens.
In dat geval gaat het om grote aantallen gegevens, die regelmatig
veranderd moeten worden en die van groot belang zijn voor het functioneren van het bedrijf.
Het maken van een bruikbare en betrouwbare database is een vak apart.
Er zijn meestal heel veel tabellen in zo'n database, maar hoe
kom je er nu achter hoeveel tabellen er nodig zijn in
een database, en welke kolommen er in die tabellen
voorkomen?
Als je dat zo goed mogelijk probeert uit te zoeken dan ben je bezig met
informatiemodellering of
informatieanalyse.
Bij het ontwerpen van een database moet je de volgende stappen ondernemen:
- Je moet eerst weten welke eisen er aan het systeem gesteld worden.
Wat moet je met de database kunnen, welke vragen moet je ermee kunnen beantwoorden?
Welke informatie wil je bijhouden?
Wil je kunnen sorteren, en zo ja, waarop?
Als het bijvoorbeeld een database voor een school is, moet het systeem dan rapporten voor
alle leeringen kunnen afdrukken?
En moet het gemiddelde cijfer per vak en/of per docent berekend kunnen worden?
- Je moet weten welke informatie van belang is voor het systeem.
Als je weet welke eisen er aan het systeem gesteld worden kun je ook bepalen welke gegevens
daarvoor nodig zijn.
Je moet voorbeelden van deze gegevens verzamelen om bij de analyse te gebruiken.
Als het bijvoorbeeld een database voor een school is, waarmee ook rapporten voor alle leeringen
kunnen worden afgedrukt, moeten dan alle cijfers in het systeem worden ingevoerd? Dus alle
repetitiecijfers en alle proefwerkcijfers enz, of is het voldoende als alleen de rapportcijfers
in het systeem worden ingevoerd?
- Je moet de structuur van de gegevens bepalen.
Als je weet welke gegevens er allemaal in de database moeten dan kun je daarna onderzoeken
wat de verbanden tussen die gegevens zijn. En wat er bij die verbanden wel en niet
mogelijk is. Als het bijvoorbeeld een database voor een school is, waarbij alle cijfers in
het systeem worden ingevoerd, dan moet bij elk cijfer duidelijk zijn bij welk vak het hoort
en bij welke docent, en hoe zwaar het meetelt. Moet iedereen voor elk vak dat hij of zij
heeft een cijfer hebben? Heeft iedereen Nederlands?
- Je moet het ontwerp van de database maken.
Wanneer de structuur van de gegevens duidelijk is (dat noem je wel het informatiemodel)
dan kan die structuur worden vertaald naar een ontwerp van een database. Het is dan dus
duidelijk welke tabellen er in de database moeten komen, en welke kolommen er in welke
tabel zitten, en wat de relaties zijn.
FCO-IM
Er zijn verschillende methoden voor het modelleren van informatie.
In dit hoofdstuk bespreken we de FCO-IM methode.
FCO-IM is de afkorting van Fully Communication Oriented Information Modelling.
Het is een modelleermethode die sterk in opmars is.
Er zijn heel wat grote organisaties die hun hele informatiesysteem op de schop nemen en
vervolgens met behulp van FCO-IM een nieuw database-ontwerp maken.
Het Erasmus Medisch Centrum in Rotterdam maakt er bijvoorbeeld gebruik van en de NS heeft het bij de
laatste reorganisatie gebruikt.
FCO-IM is de opvolger van de NIAM-methode
(Nijssens Informatie Analyse Methode).
De methode FCO-IM is verder geëvolueerd in Infagon, het programma dat jij gaat gebruiken.
Infagon gaat net als FCO-IM uit van communicatie: de informatie-analist
(dat is de database-bouwer, een ICT'er) vraagt mensen van het bedrijf, waarvoor de database gemaakt
moet worden, welke informatie ze belangrijk vinden en wat er vastgelegd moet worden.
Hij gaat praten met mensen uit het bedrijf die weten waar het om draait in het betreffende bedrijf,
zo iemand wordt een domeindeskundige genoemd. Die heeft veel
domeinkennis, dus kennis van de belangrijke zaken van het bedrijf, maar hoeft geen verstand van databases
te hebben.
Het is natuurlijk onmogelijk om het database-ontwerp voor het Erasmus Medisch Centrum in
Rotterdam te laten maken door ICT'ers, zonder dat ze met mensen van dat ziekenhuis gepraat hebben.
In een ziekenhuis als het EMC zijn er zoveel specialismen, waarbij er zoveel geregistreerd moet worden,
dat het absoluut noodzakelijk is dat verschillende domeindeskundigen hun medewerking verlenen aan de informatie-analyse.