Upload
nelly-lambrechts
View
218
Download
4
Embed Size (px)
Citation preview
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