LauwersCollege Buitenpost LauwersCollege Buitenpost Informatica Informatica Hoofdstuk 11...

Post on 14-Jun-2015

218 views 4 download

Transcript of LauwersCollege Buitenpost LauwersCollege Buitenpost Informatica Informatica Hoofdstuk 11...

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Informatica Hoofdstuk 11

Informatie-analyse met FCO-IM

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 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.

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Informatie-analist

Een informatie-analist (dat is een 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 bedrijf, zo iemand wordt een domeindeskundige genoemd.

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Stappen bij het maken van een database

Bij het ontwerpen van een database moet je de volgende stappen ondernemen:

Je moet eerst weten welke eisen er aan het systeem gesteld worden.

Je moet weten welke informatie van belang is voor het systeem

Je moet de structuur van de gegevens bepalen

Je moet het ontwerp van de database maken

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Herhaalde kolommen

Herhaalde kolommen, zoals in de tabel hier onder, moet je voorkomen.

Achteraf nog kolommen toevoegen is lastig.

Ook overzichten per bedrijf zijn moeilijk te maken doordat verschillende leveranciers in verschillende kolommen staan. Het kan niet voor elke leverancier met dezelfde query

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Redundantie

Dezelfde gegevens meer dan één keer in de database opnemen (zoals in de tabel hier onder) wordt redundantie genoemd, en dat moet je proberen te voorkomen.

Je kunt dan gemakkelijk tegenstrijdige informatie in de tabel krijgen: bij een leverancier staan bijv. verschillende tel.nummers op verschillende plaatsen. Je zegt dan dat de database inconsistent is.

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Dit zijn de gegevens die we willen verwerken:De eindexamencijfers van een klas

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Stap 1:Verwoord de informatie in zinnen.

Welke tabellen met welke kolommen zijn in Access nodig om deze gegevens vast te leggen?

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Leerling 2358 heet Janke Deelstra, ze heeft als mentor PB, en ze heeft voor ne een 7, voor en 6, voor gs 6, voor wb 6, voor na 6 en voor bi 7

Informatie verwoordt in zinnen

Leerling 2477 heet Fokke de Jong, hij heeft als mentor VR, en hij heeft voor ne een 6, voor fa 6, voor en 6, voor wb 5, voor na 6 en voor ec 6

Leerling 2189 heet Akke van der Meer, ze heeft als mentor PB, en ze heeft voor ne een 6, voor en 7, voor gs 7, voor ak 7, voor wb 5, en voor na 6

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Stap 2:

Splits de zinnen, zodat jezo kort mogelijke zinnen krijgt.

Daarbij mag er geen informatie verloren gaan!

De zinnetjes die je dan krijgt noem je elementaire feiten

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Leerling 2358 heet Janke DeelstraPB is de mentor van leerling 2358 Leerling 2358 heeft voor ne een 7Leerling 2358 heeft voor en een 6Leerling 2358 heeft voor gs een 6Leerling 2358 heeft voor wb een 4Leerling 2358 heeft voor na een 6Leerling 2358 heeft voor bi een 7

Leerling 2358 heet Janke Deelstra, ze heeft als mentor PB, en ze heeft voor ne een 7, voor en 6, voor gs 6, voor wb 4, voor na 6 en voor bi 7

Splits de zinnen in elementaire feiten

elementaire feiten

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Leerling 2358 heeft voor ned een 7Leerling 2358 heeft voor eng een 6

Leerling 2358 heeft ned gedaan.Leerling 2358 heeft eng gedaan.Leerling 2358 heeft een 7Leerling 2358 heeft een 6

Splitsen?

Ternaire feiten

Dit kan niet, er is informatieverlies,want welk cijfer hoort bij welk vak?

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Stap 3:

Zoek de feiten die op elkaar lijken.

Dat zijn feittypen

Geef de invulplaatsen aan.

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Leerling 2358 heet Janke Deelstra.Leerling 2477 heet Fokke de Jong.Leerling 2189 heet Akke van der Meer.

Zoek de feittypen

PB is de mentor van leerling 2358. VR is de mentor van leerling 2477. PB is de mentor van leerling 2189.

Leerling 2358 heeft voor ned een 7.Leerling 2358 heeft voor eng een 6.Leerling 2358 heeft voor gs een 6.Leerling 2358 heeft voor wb een 4.Leerling 2477 heeft voor ned een 6.Leerling 2477 heeft voor fa een 6.........

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Stap 4:

Zoek uit welke objecten een rol spelen.De objecten worden ook wel invulplaatsen genoemd omdat je bij het feittype verschillende objecten in kunt vullen.

Dit heet kwalificeren.

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

<Docent> is de mentor van leerling 2358

PB

PB staat voor een Docent

leerling 2358 staat voor een Leerling

<Docent> is de mentor van <Leerling>.

PB leerling 2358

Welke objecten spelen een rol

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Stap 5:

Zoek uit met welke labels de objecten worden aangegeven.Een object wordt op een bepaalde manier (mb.v. een "etiketje") aangegeven, een leerling kan bijv. met zijn voornaam of met zijn leerlingnummer of met zijn voornaam+achternaam worden aangegeven.

Die "etiketjes" noem je labels.

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

<Docent> is de mentor van <Leerling>.

PB

Een docent wordt aangeduid met de docentcode

<docentcode> leerling 2358

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

<Docent> is de mentor van <Leerling>.

PB 2358

Een leerling wordt aangeduid met een leerlingnr

<docentcode> <leerlingnr>

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

<Docent> is de mentor van <Leerling>.

PB 2358

Feittype: is de mentor van

<docentcode> <leerlingnr>

Kwalificeren: drie lagen

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

<Docent> is de mentor van <Leerling>

PB 2358

Objecttypen

<docentcode> <leerlingnr>

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

<Docent> is de mentor van <Leerling>.

PB 2358

Labeltypen

<docentcode> <leerlingnr>

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

<Leerling> heeft voor <Vak> een <Cijfer>.

ne2358

<leerlingnr> <vakcode> <getal>

7

Kwalificeer op de zelfde manier de andere feiten

Heb je dit met alle elementaire feiten gedaan dan noem je dat het Informatie-grammatica (het IG)

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Stap 6:

Teken het diagram. (het IGD)

Nog handiger:Laat het casetool het diagram tekenen!

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Het labeltype in een diagram

Een labeltype teken je als een gestippelde cirkel,met de naam erbij

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Het objecttype in een diagram

Een objecttype teken je als een gewone cirkel,met de naam erbij. In de bol staat een rechthoek: de invulplek.

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

De rol in een diagram verbinden met het label

De rechthoek verbind je met het labeltype.De rechthoek of invulplek noemen we een rol.

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Het feittype in een diagram

Een feittype teken je als een aantal rechthoeken.Bij mentor zijn er twee rechthoeken (voor Docenten Leerling), dus er zijn twee rollen.

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Diagram van het feittype is mentor van

Ook de rollen in het feitype moet je verbinden met deobjecten die daar ingevuld mogen worden.Het casetool zet de voorbeelden er bij en geeft nummers

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Diagram van het feittype heet

De rol kan ook worden ingevuld door een labeltype, zoals je ziet, het object bij naam vervalt hier.

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

De drie feittypen in een enkel diagram

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Stap 7:

Zoek de beperkingsregels.

UniciteitsbeperkingenenTotaliteitsbeperkingen

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

PB is de mentor van leerling 2358. PB is de mentor van leerling 2189.

Twee keer dezelfde docent, kan dat?

Bij een uniciteitsregel zoek je uit of een object maar één keer voor mag komen

Ja, dus de docent voldoet niet aan de uniciteitsbep.

De uniciteitsbeperking

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Bij een uniciteitsregel zoek je uit of een object maar één keer voor mag komen

PB is de mentor van leerling 2358. VR is de mentor van leerling 2358.

Twee keer dezelfde leerling, kan dat?

Nee, dus de leerling voldoet wel aan de uniciteitsbep.

De uniciteitsbeperking

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Uniciteits-beperking : dubbele pijl.

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Uniciteitsbeperking bij een ternair feittype: bekijk combinaties van twee

Leerling 2358 heeft voor ne een 7Leerling 2358 heeft voor bi een 7Dit kan, dus llnr + cijfer geen uniciteitsbeperking

Leerling 2358 heeft voor en een 6Leerling 2477 heeft voor en een 6Dit kan, dus vak + cijfer geen uniciteitsbeperking

Leerling 2358 heeft voor wb een 4Leerling 2358 heeft voor wb een 6Leerling heeft twee cijfers voor één vak: dit kan niet, dus llnr + vak voldoen aan de uniciteitsbeperking

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Nu een dubbele pijl over twee rollen.

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Totaliteitsbeperking : elk object heeft er een

Heeft iedere leerling een mentor?Ja, dus leerling voldoet aan de totaliteitsbep.

Is elke docent mentor van een of andere leerling?Nee, dus docent voldoet niet aan de totaliteitsbep.

Totaliteitsbeperkingen worden met een stip aangegeven.

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Totaliteits-beperking : een dikke stip.

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Alle beperkingen aangegeven in het diagram

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Stap 8:

Tabellen ontwerpen.

Dat kun je het casetool laten doen!

Maar je moet het ook zelf kunnen.

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

In het diagram staan al veel kleine tabellen, zeven in dit voorbeeld, kijk maar

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Sommige tabellen kun je samenvoegen.Een feittype haal je dan binnen de cirkel van een object.

Dit mag als er een uniciteitsbeperking over de rolvan dat object staat, kijk maar in de volgende dia

Dit heet groeperen.

Groeperen

Als je in FCO-CASE het GLR-algoritme step-by-step laat uitvoeren kun je volgen wat er gebeurt

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Wordt:

Groeperen

uniciteit over derol van Leerling

Rol 5 (llnummer)niet meer nodig,

Rol 6 (naam)bij leerling.

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Hetzelfde kan met feittype mentor

uniciteit over derol van Leerling

Rol 2 (llnummer)niet meer nodig,Rol 1 (mentor)

bij leerling.

Wordt:

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Daarna worden de cirkels weggehaald.(in het casetool heet dit lexicaliseren)

Lexicaliseren en reduceren

De objecten waar niets is bijgekomenverdwijnen ook (in het casetool heet dit reduceren)

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Lexicaliseren en reduceren

bol weg

niets erbij,helemaal

weg!

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Docent verdwijnt, Leerling raakt de cirkel kwijt.We hebben nu een tabel voor de database.

De eerste tabel

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

Het eindresultaat: Twee tabellen !

LauwersCollege Buitenpost Informatica

LauwersCollege Buitenpost

In Access dus twee tabellen: Cijfer en Leerling

tabel Cijfer

tabel Leerling

Einde