Presentatie bij hoofdstuk 12 van Informatica Edu’Actief Informatie Analyse Presentatie bij hoofdstuk 12 van Informatica Edu’Actief
Informatie Analyse Er zijn veel manieren om een database te vullen Informatie-analyse met FCO-IM
Informatie Analyse Een eerste poging:
Informatie Analyse Kun je Access goed laten zoeken in deze tabel? 1. Zoek alle cijfers van een leerling (bijv. leerling 105): SELECT Llnr, Voornaam, ned, eng, wia, inf, ges, bio, ecn FROM cijfers WHERE Llnr = "105" Oke, maar wel veel lege plekken
Informatie Analyse Kun je Access goed laten zoeken in deze tabel? 2. Zoek alle cijfers van een vak (bijv. nederlands): SELECT Llnr, Voornaam, ned FROM cijfers WHERE ned IS NOT NULL Ok, maar het is wel erg verschillend van de vorige, terwijl de vraag bijna hetzelfde is!
Informatie Analyse Kun je Access goed laten zoeken in deze tabel? 3. Zoek alle onvoldoendes: SELECT Llnr, Voornaam, ned, eng, wia, inf, ges, bio, ecn FROM cijfers WHERE ??? (onvoldoende kan overal staan)
Informatie Analyse Zoek de onvoldoendes: gaat niet! ned<5.5 of eng<5.5 of wia<5.5 of inf<5.5 of ges<5.5 of ....
Informatie Analyse Tweede poging
Informatie Analyse Kun je Access goed laten zoeken in deze tabel? Door alle lege plekken lukt het niet eens om de tabel in Access in te voeren.... Maar als dat wel zou lukken, geven de lege plekken problemen bij het zoeken.
Informatie Analyse ok eng Zoek cijfers voor eng:
Informatie Analyse ok nee Zoek cijfers voor eng: eng
Informatie Analyse Zoek cijfers voor eng: ok nee nee nee nee nee nee
Informatie Analyse Resultaat:
Informatie Analyse Wij lezen tabel als: .... database-programma niet!
Informatie Analyse Oplossing?
Informatie Analyse Je kunt Access goed laten zoeken in deze tabel! 1. Zoek alle cijfers van een leerling, (bijvoorbeeld leerling 105): SELECT Llnr, Voornaam, Vak, Cijfer FROM cijfers3 WHERE Llnr = "105" 2. Zoek alle cijfers van een vak, (bijvoorbeeld van nederlands): SELECT Llnr, Voornaam, Vak, Cijfer FROM cijfers3 WHERE Vak = "ned" 3. Zoek alle onvoldoendes: SELECT Llnr, Voornaam, Vak, Cijfer FROM cijfers3 WHERE Cijfer < 5.5
Informatie Analyse In deze tabel worden wel erg veel gegevens dubbel ingevuld..... Gegevens dubbel opslaan is een bron van fouten
Informatie Analyse De oplossing: Je kunt altijd koppelen tabel Cijfer tabel Leerling
Informatie Analyse Je kunt Access goed laten zoeken in deze tabel! 1. Zoek alle cijfers van een leerling, (bijvoorbeeld leerling 105): SELECT Leerling.Llnr, Voornaam, Vak, Cijfer FROM Leerling, Cijfer WHERE Leerling.Llnr = Cijfer.Llnr AND Leerling.Llnr = "105" 2. Zoek alle cijfers van een vak, (bijvoorbeeld van nederlands): SELECT Leerling.Llnr, Voornaam, Vak, Cijfer FROM Leerling, Cijfer WHERE Leerling.Llnr = Cijfer.Llnr AND Vak = "ned" 3. Zoek alle onvoldoendes: SELECT Leerling.Llnr, Voornaam, Vak, Cijfer FROM Leerling, Cijfer WHERE Leerling.Llnr = Cijfer.Llnr AND Cijfer < 5.5
Informatie Analyse Er zijn veel manieren om een database te vullen Informatie-analyse met FCO-IM
FCO-IM Het modelleren in FCO-IM verloopt in 5 stappen: 1:Verwoord de informatie in Nederlandse zinnen. 2: Splits de zinnen, zodat je zo kort mogelijke zinnen krijgt. 3: Vind de feiten die op elkaar lijken. Geef de invulplaatsen aan. 4:Teken het diagram. 5:Vind de beperkingsregels.
FCO-IM Stap 1: Verwoord de informatie in Nederlandse zinnen.
FCO-IM Leerling 256 heeft de voornaam Ayesha en heeft als mentor PvdB. Leerling 256 heeft voor ned een 6.9, voor eng 7.6, voor wia 8.6, voor inf 8.6 en voor bio 6.1. Leerling 521 heeft de voornaam Jurgen en heeft als mentor PvdB. Leerling 256 heeft voor ned een 7.6, voor ges 8.7 en voor ecn 8.5. Leerling 252 heeft de voornaam Marijn en heeft als mentor RFQ. Leerling 252 heeft voor ned een 7.6, voor eng 7.3, voor wia 4.7, voor bio 4.9 en voor ecn 7.1.
FCO-IM Stap 2: Splits de zinnen, zodat je zo kort mogelijke zinnen krijgt.
FCO-IM Daarbij mag er geen informatie verloren gaan! Stap 2: Splits de zinnen, zodat je zo kort mogelijke zinnen krijgt. Daarbij mag er geen informatie verloren gaan!
FCO-IM Daarbij mag er geen informatie verloren gaan! Stap 2: Splits de zinnen, zodat je zo kort mogelijke zinnen krijgt. Daarbij mag er geen informatie verloren gaan! Elementaire feiten
FCO-IM Leerling 256 heeft de voornaam Ayesha. .... en heeft als mentor PvdB. Leerling 256 heeft voor ned een 6.9, voor eng 7.6, voor wia 8.6, voor inf 8.6 en voor bio 6.1. Leerling 521 heeft de voornaam Jurgen Leerling 521 heeft voor ned een 7.6, voor ges 8.7 en voor ecn 8.5. Leerling 252 heeft de voornaam Marijn en heeft als mentor RFQ. Leerling 252 heeft voor ned een 7.6, voor eng 7.3, voor wia 4.7, voor bio 4.9 en voor ecn 7.1.
FCO-IM Leerling 256 heeft de voornaam Ayesha. PvdB is de mentor van leerling 256. .... Leerling 256 heeft voor ned een 6.9, voor eng 7.6, voor wia 8.6, voor inf 8.6 en voor bio 6.1. Leerling 521 heeft de voornaam Jurgen en heeft als mentor PvdB. Leerling 521 heeft voor ned een 7.6, voor ges 8.7 en voor ecn 8.5. Leerling 252 heeft de voornaam Marijn en heeft als mentor RFQ. Leerling 252 heeft voor ned een 7.6, voor eng 7.3, voor wia 4.7, voor bio 4.9 en voor ecn 7.1.
FCO-IM Leerling 256 heeft de voornaam Ayesha. PvdB is de mentor van leerling 256. Leerling 256 heeft voor ned een 6.9. .... voor eng 7.6, voor wia 8.6, voor inf 8.6 en voor bio 6.1. Leerling 521 heeft de voornaam Jurgen en heeft als mentor PvdB. Leerling 521 heeft voor ned een 7.6, voor ges 8.7 en voor ecn 8.5. Leerling 252 heeft de voornaam Marijn en heeft als mentor RFQ. Leerling 252 heeft voor ned een 7.6, voor eng 7.3, voor wia 4.7, voor bio 4.9 en voor ecn 7.1.
FCO-IM Leerling 256 heeft de voornaam Ayesha. PvdB is de mentor van leerling 256. Leerling 256 heeft voor ned een 6.9. Leerling 256 heeft voor eng een 7.6. .... voor wia 8.6, voor inf 8.6 en voor bio 6.1. Leerling 521 heeft de voornaam Jurgen en heeft als mentor PvdB. Leerling 521 heeft voor ned een 7.6, voor ges 8.7 en voor ecn 8.5. Leerling 252 heeft de voornaam Marijn en heeft als mentor RFQ. Leerling 252 heeft voor ned een 7.6, voor eng 7.3, voor wia 4.7, voor bio 4.9 en voor ecn 7.1.
FCO-IM Leerling 256 heeft de voornaam Ayesha. PvdB is de mentor van leerling 256. Leerling 256 heeft voor ned een 6.9. Leerling 256 heeft voor eng een 7.6. Leerling 256 heeft voor wia een 8.6. Leerling 256 heeft voor inf een 8.6. Leerling 256 heeft voor bio een 6.1. Leerling 521 heeft de voornaam Jurgen. PvdB is de mentor van leerling 521. .... Leerling 521 heeft voor ned een 7.6, voor ges 8.7 en voor ecn 8.5. Leerling 252 heeft de voornaam Marijn en heeft als mentor RFQ. Leerling 252 heeft voor ned een 7.6, voor eng 7.3, voor wia 4.7, voor bio 4.9 en voor ecn 7.1.
FCO-IM Leerling 256 heeft de voornaam Ayesha. PvdB is de mentor van leerling 256. Leerling 256 heeft voor ned een 6.9. Leerling 256 heeft voor eng een 7.6. Leerling 256 heeft voor wia een 8.6. Leerling 256 heeft voor inf een 8.6. Leerling 256 heeft voor bio een 6.1. Leerling 521 heeft de voornaam Jurgen. PvdB is de mentor van leerling 521. Leerling 521 heeft voor ned een 7.6. Leerling 521 heeft voor ges een 8.7. Leerling 521 heeft voor ecn een 8.5. Leerling 252 heeft de voornaam Marijn. RFQ is de mentor van leerling 252. Leerling 252 heeft voor ned een 7.6. Leerling 252 heeft voor eng een 7.3. Leerling 252 heeft voor wia een 4.7. Leerling 252 heeft voor bio een 4.9. Leerling 252 heeft voor ecn een 7.1.
FCO-IM Splitsen? Leerling 256 heeft voor ned een 6.9. Leerling 256 heeft voor eng een 7.6. Splitsen? Leerling 256 heeft ned gedaan. Leerling 256 heeft (daarvoor) een 6.9. Leerling 256 heeft eng gedaan. Leerling 256 heeft (daarvoor) een 7.6.
FCO-IM Zinnen moeten op zichzelf staan Informatieverlies: Leerling 256 heeft (daarvoor) een 7.6. Leerling 256 heeft (daarvoor) een 6.9. Informatieverlies: Welk cijfer hoort bij welk vak? Leerling 256 heeft ned gedaan. Leerling 256 heeft eng gedaan.
FCO-IM Stap 3: Vind de feiten die op elkaar lijken. Geef de invulplaatsen aan.
FCO-IM Leerling 256 heeft de voornaam Ayesha. Leerling 521 heeft de voornaam Jurgen. Leerling 252 heeft de voornaam Marijn. PvdB is de mentor van leerling 256. PvdB is de mentor van leerling 521. RFQ is de mentor van leerling 252. Leerling 256 heeft voor ned een 6.9. Leerling 256 heeft voor eng een 7.6. Leerling 256 heeft voor wia een 8.6. Leerling 256 heeft voor inf een 8.6. Leerling 521 heeft voor ned een 7.6. Leerling 521 heeft voor ecn een 8.5. Leerling 252 heeft voor ned een 7.6. Leerling 252 heeft voor eng een 7.3. ........
FCO-IM Stap 3(vervolg): Gebruik de invulplaatsen om te bepalen welke objecten een rol spelen en om de namen van de objecten te vinden.
FCO-IM Stap 3(vervolg): Gebruik de invulplaatsen om te bepalen welke objecten een rol spelen en om de namen van de objecten te vinden. Dit heet kwalificeren
FCO-IM PvdB staat voor een Docent <Docent> is de mentor van leerling 256. PvdB
FCO-IM leerling 256 staat voor een Leerling <Docent> is de mentor van <Leerling>. PvdB leerling 256
FCO-IM Een docent wordt aangeduid met de docentcode <Docent> is de mentor van <Leerling>. <docentcode> leerling 256 PvdB
FCO-IM Een leerling wordt aangeduid met een leerlingnr <Docent> is de mentor van <Leerling>. <docentcode> leerling <leerlingnr> PvdB 256
FCO-IM Feittype <Docent> is de mentor van <Leerling>. <docentcode> leerling <leerlingnr> PvdB 256
FCO-IM Objecttype <Docent> is de mentor van <Leerling>. <docentcode> leerling <leerlingnr> PvdB 256
FCO-IM Labeltype <Docent> is de mentor van <Leerling>. <docentcode> leerling <leerlingnr> PvdB 256
FCO-IM Hetzelfde voor de cijfers <Leerling> heeft voor <Vak> een <Cijfer>. leerling <leerlingnr> <vakcode> <getal> 256 ned 6.9
FCO-IM Stap 4: Teken het diagram.
FCO-IM Laat het casetool het diagram tekenen! Stap 4: Teken het diagram. Nog handiger: Laat het casetool het diagram tekenen!
FCO-IM Diagrammen: het labeltype Een labeltype teken je als een gestippelde bol, met de naam erbij
FCO-IM Diagrammen: het objecttype Een objecttype teken je als een gewone bol, met de naam erbij. In de bol staat een vakje: de invulplek.
FCO-IM Diagrammen: de rol De invulplek verbind je met het labeltype. Zo kun je zien dat er op die plek alleen leerlingnummers ingevuld mogen worden. De invulplek noemen we een rol.
FCO-IM Diagrammen: het feittype ... is mentor van ... Een feittype teken je als een serie van invulplekken. Bij mentor zijn er twee invulplekken (voor Docent en Leerling), dus zijn er twee plekken, oftewel twee rollen.
FCO-IM Diagrammen: de rollen in het feittype ... is mentor van ... Ook deze rollen moet je verbinden met de objecten die daar ingevuld mogen worden.
FCO-IM Diagram van het feittype Mentor Het casetool zet er voorbeelden bij en doet ook veel nummering.
FCO-IM Diagram van het feittype Leerlingvoornaam De rol kan ook worden ingevuld door een labeltype.
FCO-IM De drie feittypen in een enkel diagram
FCO-IM Stap 5: Vind de beperkingsregels.
Stap 5: Vind de beperkingsregels. Uniciteitsregels Totaliteitsregels
Bij een uniciteitsregel zoek je uit of een object maar één keer voor mag komen PvdB is de mentor van leerling 256. PvdB is de mentor van leerling 521. Twee keer dezelfde docent, kan dat?
Bij een uniciteitsregel zoek je uit of een object maar één keer voor mag komen PvdB is de mentor van leerling 256. PvdB is de mentor van leerling 521. Twee keer dezelfde docent, kan dat? Ok, docent is mentor van dan één leerling
Bij een uniciteitsregel zoek je uit of een object maar één keer voor mag komen PvdB is de mentor van leerling 256. RFQ is de mentor van leerling 256. Twee keer dezelfde leerling, kan dat?
Bij een uniciteitsregel zoek je uit of een object maar één keer voor mag komen PvdB is de mentor van leerling 256. RFQ is de mentor van leerling 256. Twee keer dezelfde leerling, kan dat? Nee, leerling heeft maar één mentor!
In het diagram teken je een uniciteitsregel met een dubbele pijl.
Bij een feittype met drie invulplekken bekijk je combinaties van twee Leerling 256 heeft voor wia een 8.6. Leerling 256 heeft voor inf een 8.6. Leerling heeft twee keer hetzelfde cijfer: ok!
Bij een feittype met drie invulplekken bekijk je combinaties van twee Leerling 256 heeft voor wia een 8.6. Leerling 256 heeft voor inf een 8.6. Leerling heeft twee keer hetzelfde cijfer: ok! Leerling 521 heeft voor ned een 7.6. Leerling 252 heeft voor ned een 7.6. Twee leerlingen hebben hetzelfde cijfer voor een vak: ok!
Bij een feittype met drie invulplekken bekijk je combinaties van twee Leerling 256 heeft voor wia een 8.6. Leerling 256 heeft voor inf een 8.6. Leerling heeft twee keer hetzelfde cijfer: ok! Leerling 521 heeft voor ned een 7.6. Leerling 252 heeft voor ned een 7.6. Twee leerlingen hebben hetzelfde cijfer voor een vak: ok! Leerling 256 heeft voor wia een 6.6. Leerling heeft twee cijfers voor één vak: niet ok!
Ook nu teken je een dubbele pijl, maar nu over de twee rollen.
Bij een totaliteitsbeperking moet elk object voorkomen. Heeft iedere leerling een mentor? Ja. Is elke docent mentor van een of andere leerling? Nee. Totaliteitsbeperkingen worden met een bolletje getekend.
In het diagram teken je een totaliteitsregel met een stip.
Alle beperkingsregels in het diagram
Stap 6: Tabellen ontwerpen. Kun je ook door het casetool laten doen!
Korte toelichting van het principe (niet in de presentatie houden): 1. Feittypen met een uniciteitspijl over een enkele rol kun je ‘in het object trekken’ dat die unieke rol vervult. Dit gebeurt bij Mentor en Leerlingvoornaam. De rollen 1 en 6 gaan naar leerling toe, 2 en 5 zijn dan niet meer nodig. 2. Als alle feittypen zo behandeld zijn, kijk je of je objecten overhoudt waar niks bij gekomen is. Die kun je gewoon weghalen. Dit gebeurt in het voorbeeld met Docent, Vak en Cijfer. Onder Docent staat alleen een lijstje van de docenten die als Mentor voorkwamen en dat heb je niet meer nodig, die informatie staat al bij Leerling. De labeltypen verbind je direct met de rol: docentcode met rol 1 die nu in Leerling zit. 3. Tenslotte gum je de resterende bollen weg, niet meer nodig! Wat je dan krijgt staat op de laatste sheet. Eventueel kun je de uitleg over groeperen overslaan, of demonstreren met de Step-by-Step mogelijkheid van het Casetool Zie ook eind hoofdstuk 12
In het diagram staan al veel kleine tabellen. In het voorbeeld zijn er zeven van deze kleine tabellen.
Alle beperkingsregels in het diagram
Sommige tabellen kunnen we samen nemen. Een feittype haal je dan binnen de bol van een object.
Sommige tabellen kunnen we samenvoegen. Een feittype haal je dan binnen de bol van een object. Dit mag alleen als er een uniciteitsbeperking over de rol van dat object staat. Dit heet groeperen.
Wordt: uniciteit over de rol van Leerling Rol 5 (llnummer) niet meer nodig, Rol 6 (voornaam) bij leerling.
Hetzelfde kan met feittype mentor.
Daarna worden de bollen weggehaald. (in het casetool: lexicaliseren) De objecten waar niets bijgekomen is verdwijnen zelfs helemaal. (in het casetool: reduceren)
Hetzelfde kan met feittype mentor. bol weg niets erbij, helemaal weg!
Docent verdwijnt, Leerling raakt de bol kwijt. We hebben nu een tabel voor de database.
Het eind- resultaat:
Is hetzelfde als de tabellen die we al hadden! tabel Cijfer tabel Leerling