110 likes | 232 Views
Datamodelleren. 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
E N D
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) 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
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
Classificeren • Vang alle relevante feiten in enkele voorbeeldzinnen en zet ze bij elkaar:(Dit geeft een beeld van de structuur van de feiten) • Leerling 86139 heeft naam Ronald van Putten • Leerling 86141 heeft naam Hans Reinders. • Leerling 86147 heeft naam René Franquinet. • Leerling 86139 zit in klas 4Hc. • Leerling 86141 zit in klas 4Va. • Leerling 86147 zit in klas 4Hb. • Leerling 86139 heeft vak sk van docent kox. • Leerling 86141 heeft vak sp van docent agu. • Leerling 86147 heeft vak ak van docent bht.
Kwalificatie • Geef elke groep feitexpressies een zinnige naam: • Leerling 86139 heeft naam Ronald Leijtens. • Leerling 86141 heeft naam Hans Reinders. • Leerling 86147 heeft naam René Franquinet. • Leerling 86139 zit in klas 4Hc. • Leerling 86141 zit in klas 4Va. • Leerling 86147 zit in klas 4Hb. • Leerling 86139 heeft vak sk van docent kox. • Leerling 86141 heeft vak sp van docent agu. • Leerling 86147 heeft vak ak van docent bht. Leerlingnaam Leerlingklas Leerlingdocent
feitexpressie zit in object leerling 86139 object klas 4Hc 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 objecttype Leerling objecttype Klas object leerling 86139 object klas 4Hc Objecttypen • Verder generaliseren: Objecttypen • Objecttype: soort object • Bijvoorbeeld: Leerling, Klas
feitexpressie zit in objecttype Leerling objecttype Klas object leerling object klas labeltype klascode labeltype leerlingnummer label 86139 label 4Hc Verder uitsplitsen: labels • Label: aanduiding van een specifiek object • Bv: 86139 • Labeltype: soort label • Bv: leerlingnummer
Stappenplan • Gegevens analyseren en omzetten in feitexpressies (voorbeeldzinnen) • Classificeren (groepen en kwalificeren (naam geven)) van feitexpressies • Afleiden van objecttypen en labeltypen • Digitaal invoeren (Infagon) • Optimaliseren (Infagon) • Database genereren (Infagon -> MS Access) • Database vullen (MS access) • Database gebruiken en beheren