Datamodelleren FCO-IM methode
Problemen van een slecht ontworpen database Redundantie: Gegevens meer dan 1 keer in DB Klant doet 2 bestellingen. Klantgegevens worden 2 keer bij de bestelling opgeslagen Inconsistentie: Dezelfde soort gegevens worden op verschillende manieren opgeslagen Postcode: 2233AB en 2345 CD Isolatie: Geen relatie tussen tabellen
Oplossing: Modelleren Verschillende tools en methoden Wij gebruiken: FCO-IM (Fully Communication Oriented Information Modelling) Inhoudelijke expert (opdrachtgever) en Technische expert (uitvoerder) zijn meestal niet dezelfde persoon Communicatieprobleem:
Oplossing: Modelleren FCO-IM tracht communicatieprobleem op te lossen Slaat brug tussen opdrachtgever en uitvoerder FCO-IM destilleert feiten (data) uit ‘gewone’ mensentaal
Informatiebron De data-analist (jij in dit geval) heeft informatie nodig van de opdrachtgever. Deze data is vaak afkomstig uit verschillende bronnen en kan onvolledig en tegenstrijdig zijn: Papieren administratie, of verouderde digitale administratie Input uit een interview met de opdrachtgever of zijn medewerkers Werkschema’s Veldonderzoek (zelf gaan kijken) Etc ... Deze informatie moet worden gefilterd tot de essentie. FCO-IM helpt daarbij
FCO-IM Informatie wordt in voorbeeldzinnen geformuleerd (feitexpressies). Docent Wt geeft het vak Informatica Zinnen moeten elementair zijn Fout: Leerling 8231 zit in klas 4b en heeft een 6 voor scheikunde Goed: Leerling 8231 zit in klas 4b Leerling 8231 heeft een 6 voor scheikunde
Feittypen Zelfde soort feitexpressies alleen objecten verschillen Leerling 86139 zit in klas 4Hc. Leerling 86141 zit in klas 4Va. Leerling 86147 zit in klas 4Hb. Feittype: standaardformulering van dezelfde soort feitexpressies Leerling ... zit in klas ... feitexpressie zit in object leerling 86139 klas 4Hc
Objecttypen Verder generaliseren: Objecttypen Objecttype: soort object Bijvoorbeeld: Leerling, Klas feitexpressie zit in object leerling 86139 klas 4Hc objecttype Klas Leerling
Verder uitsplitsen: labels Label: aanduiding van een specifiek object Bv: 86139 Labeltype: soort label Bv: leerlingnummer feitexpressie zit in object leerling klas objecttype Klas Leerling labeltype klascode leerlingnummer label 86139 4Hc
Stappenplan bij datamodelleren: Gegevens analyseren en omzetten in feitexpressies (voorbeeldzinnen) Classificeren en kwalificeren van feitexpressies mbv CaseTalk Relaties en constraints invoeren in Casetalk Optimaliseren in Casetalk Database genereren (Casetalk-> DBMS) Database vullen (DBMS) Database gebruiken en beheren