vrg: trefwoord trefwrd onderverdeling omschrijving HS.1 ... · vrg: trefwoord trefwrd...

61
trefwoord trefwrd onderverdeling omschrijving vrg: Informatieanalyse en modellering HS.1 1 Hoofdstuk: Samenhang informatieanalyse, systeem modellen en SQL HS.1 Systeemontwikkeling - 1000 5 1 INFORMATIEANALYSE > is de activiteit vh verkrijgen en analyseren vd informatie die nodig is om het informatiesysteem te kunnen realiseren. MODELLEREN > is de activiteit waarbij in de analyse verkregen informatie wordt vastgelegd in modellen (bouwtekening). Informatieanalyse en Modelleren - blz Projectmanagement en systeemontwikkeling - 1001 6 1.1 SYSTEEMONTWIKKELAAR > zijn activiteiten zijn specialistisch van aard en leveren een direct bijdrage aan het te realiseren resultaat, de aan eenschakeling van deze activiteiten leiden tot het IS. PROJECTLEIDER > zijn activiteiten richten zich op de besturing met als doel het zo efficiënt en effectief mogelijk behalen van het resultaat. Het zijn geen inhoudelijke activiteiten, maar activiteiten die zich richten op de onderlinge afstemming vd uitvoerende activiteiten, de beheersing vd planning en beschikbare financiële middelen. PRODUCT v projectmanegement > is het proces v systeemontwikkeling. PRODUCT v systeemontwikkeling > is het informatiesysteem blz 323 maandag 19 oktober 2015 Pagina 1 van 61

Transcript of vrg: trefwoord trefwrd onderverdeling omschrijving HS.1 ... · vrg: trefwoord trefwrd...

trefwoord trefwrd onderverdeling omschrijvingvrg:

Informatieanalyse en modelleringHS.1 1Hoofdstuk: Samenhang informatieanalyse, systeem modellen en SQLHS.1

Systeemontwikkeling -1000

5

1

INFORMATIEANALYSE > is de activiteit vh verkrijgen en analyseren vd informatie die nodig is om het informatiesysteem te kunnen realiseren.

MODELLEREN > is de activiteit waarbij in de analyse verkregen informatie wordt vastgelegd in modellen (bouwtekening).

Informatieanalyse en Modelleren -

blz

Projectmanagement en systeemontwikkeling -1001

6

1.1

SYSTEEMONTWIKKELAAR > zijn activiteiten zijn specialistisch van aard en leveren een direct bijdrage aan het te realiseren resultaat, de aan eenschakeling van deze activiteiten leiden tot het IS.

PROJECTLEIDER > zijn activiteiten richten zich op de besturing met als doel het zo efficiënt en effectief mogelijk behalen van het resultaat. Het zijn geen inhoudelijke activiteiten, maar activiteiten die zich richten op de onderlinge afstemming vd uitvoerende activiteiten, de beheersing vd planning en beschikbare financiële middelen.

PRODUCT v projectmanegement > is het proces v systeemontwikkeling.PRODUCT v systeemontwikkeling > is het informatiesysteem

blz

323

maandag 19 oktober 2015 Pagina 1 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Projectmanagement -1002

7

1.1.1a

Een organisatie heeft primair tot doel de producten of diensten voort te brengen waarmee zij haar bestaansrecht kan geranderen, dit hoort tot de reguliere activiteiten vd organisatie en wordt uitgevoerd door de lijn.

PROJECTORGANISATIE > Zijn ALLE mensen binnen het project die gericht samenwerken. Is de aangewezen vorm om verbeteringen, veranderingen en vernieuwingen te realiseren naast de reguliere activiteiten. Is verantwoordelijk voor de realisatie en invoering vd gewenste resultaten. Hierbij is van belang dat (petec): - PROCEDURES moeten goed ingericht zijn - de organistructuur EFFICIËNT is - de verdeling van TAKEN, VERANTWOORDELIJKHEDEN en BEVOEGDHEDEN zijn helder - de organistructuur EFFECTIEF is - COMMUNICATIESTRUCTUUR moet goed ingericht zijn

SELECTIEMECHANISME > hanteren om te bepalen welke ideeën en wensen worden omgezet in een project.

BUSINESS CASE > is een rapport waarin de noodzaak, kosten en baten worden beschreven, op basis daarvan kan worden bepaald of het idee geprioriteerd wordt om als project te worden uitgevoerd.

blz

325

324

maandag 19 oktober 2015 Pagina 2 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Projectmanagement -1003

8

1.1.1b

Een PROJECT is een tijdelijk, multidisciplinair samenwerkingsverband gericht op het realiseren ve afgesproken resultaat. Meestal wil men meer functionaliteit implementeren en een hogere kwaliteit leveren, echter dat kost geld. Achteraf duurder uit zijn is nooit goed. Er is sprake ve project als het resultaat: - van TIJDELIJKe aard is - EENMALIG karakter heeft - AFDELINGSOVERSCHRIJDEND is - OMVANGRIJK en COMPLEX is

DOEL en KENMERKEN ve project > het realiseren vh afgesproken resultaat op (fkbt) - FUNCTIONALITEIT - KWALITEIT - binnen beschikbaar BUDGET - binnen beschikbaar TIJDSBESTEK

PROJECTMANAGER > is verantwoordelijk voor de besturing vh informatiesysteem- ontwikkelingtraject, hij stuurt op het te bereiken resultaat en beheerst de bovenstaande aspecten (FKBT).

Project -blz

326

maandag 19 oktober 2015 Pagina 3 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Projectmanagement -1004 **9

1.1.1c

belangrijkste kenmerken: - toetsen vd tussenresultaten (mijlpalen) - toepassen van fasering

PRINCE2 > is een algemene projectmanagementmethode en is bruikbaar voor uitvoering van allerlei soorten projecten. Is algemeen toepasbaar en hanteerbaar op elke ontwikkelmethode.Toepassen ve methode of aanpak dient de volgende doelen: - CHECKLIST > niet alle stappen hoeven altijd doorlopen te worden - FASERING > hierdoor complexiteitsreductie en tijd positionering - STANDAARDISATIE - BESTUURBAARHEID

FASEN zijn: 1. Vooronderzoek 2. Definitiestudie 3. opstellen Functioneel ontwerp 4. opstellen Technische ontwerp 5. Bouw/realisatie 6. Uitvoeren Acceptatietest 7. Invoering informatiesysteem 8. Gebruik en beheer (buiten het traject)

blz 12:Belang v projectmangementaanpak en de systeemontwikkelaanpak optimaal op elkaar afstemmen > daardoor kan optimaal resultaat worden bereikt.SYSTEEMONTWIKKELAANPAK > Een systeemontwikkelaanpak is het productieproces waarin ICT-deskundigen en materiedeskundigen (de bedrijfsvoering) gericht samenwerken met als doel: de realisatie van een informatiesysteem.

projectmanagementmethode - PRINCE2 -

blz

327

Projectmanagement - projectmanagementmethode - PRINCE2 -1005

11

1.1.1d

is een globaal organisatieonderzoek en heeft als doel de huidige situatie in kaart te brengen, werkwijze te achterhalen en knelpunten te inventariseren. Op basis hiervan wordt een advies uitgebracht met mogelijke oplossingsrichtingen en samenhangende kosten.

1. vooronderzoek -blz

maandag 19 oktober 2015 Pagina 4 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Projectmanagement - projectmanagementmethode - PRINCE2 -1006 ***11

1.1.1e

Richt zich op het bepalen vd verschillende oplossingsrichtingen uit het vooronderzoek, activiteiten zijn: - opstellen plan van aanpak / alternatieven bekijken *** - analyse huidige informatievoorziening - bedrijfsprocessen, gegevens, problemen en gewenste veranderingen - evaluatie veranderingsbehoeften en specificatie systeemeisen - systeemconcept bepalen - opstellen eindrapportage vd definitiestudie, waaronder: - beschrijving systeemoplossing - 1e opzet raamwerk acceptatietest - kosten/baten overzicht - systeemontwikkelplan

2. definitiestudie -blz

Projectmanagement - projectmanagementmethode - PRINCE2 -1007

11

1.1.1f

Dit bestaat uit een conceptuele beschrijving van het te realiseren informatiesysteem, activiteiten zijn hier: - opstellen plan van aanpak - analyse en ontwerp v gewenst functionaliteit en kwaliteit vh IS - opstellen eindrapport FO

3. functioneel ontwerp (FO) -

blz

Projectmanagement - projectmanagementmethode - PRINCE2 -1008 ***11

1.1.1g

het functioneel ontwerp wordt hier vertaald naar technische consequenties zodat aan de gestelde prestatie-eisen wordt voldaan, activiteiten zijn hier: - opstellen plan van aanpak - opstellen programmaspecs - ontwerpen opslagstructuur - uitwerken beeldschermspecificaties *** - opstellen specs voor systeemtest - opstellen eindrapport TO

4. technisch ontwerp (TO) -

blz

Projectmanagement - projectmanagementmethode - PRINCE2 -1009

11

1.1.1h

programma's worden geschreven en de DB gerealiseerd, activiteiten zijn hier: - opstellen plan van aanpak - programmeren, bouw DB, uitwerken procedures en handleidingen - uitvoeren systeemtest - opstellen rapportage

5.bouw/realisatie -blz

Projectmanagement - projectmanagementmethode - PRINCE2 -1010

11

1.1.1i

deze wordt door klant/opdrachtgever uitgevoerd met als doel controleren of het systeem aan de gevraagde specs voldoet, het richt zich op de gestelde functionele eisen en de gestelde prestatie eisen, activiteiten zijn hier: - opstellen plan van aanpak/tekstplanning - uitvoeren acceptatietest - opstellen rapportage testbevindingen

6. acceptatietest -blz

Projectmanagement - projectmanagementmethode - PRINCE2 -1011

12

1.1.1j

in gebruik nemen van het IS, activiteiten zijn hier: - opstellen plan van aanpak - inrichten (beheer)organisatie - verzorgen opleidingen - installatie systeem - uitvoeren dataconversie (indien nodig) - invoering - overdracht systeem aan eigenaar

7. invoering -blz

maandag 19 oktober 2015 Pagina 5 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Projectmanagement - projectmanagementmethode - PRINCE2 -1012

12

1.1.1k

Dit valt buiten het project en is nodig zolang het systeem in gebruik is. Het IS wordt hier doorlopen aangepast aan gestelde functionele en prestatie eisen, de belangrijkste soorten onderhoud zijn: - CORRECTIEF onderhoud > herstellen van fouten - PERFECTIEF onderhoud > perfectioneren - ADAPTIEF onderhoud > aanpassen, uitbreiden

8. gebruik en beheer -blz

Projectmanagement - projectmanagementmethode -1013

12

1.1.1l

DSDM is een methode voor incrementele en iteratieve applicatieontwikkeling, waarbij een Is vooral geschikt voor systemen die: - interactief zijn, met een goed zichtbare functionaliteit in userinterface - goed gedefinieerde gebruikersgroep hebben - als complex > decomponeerbare complexiteit bezitten - als groot > opdeelbaar zijn in kleine functionele eenheden - prioteerbare requirements hebben - onduidelijke of veranderlijke requirements hebben

DSDM minder geschikt voor: - procesbesturings- en real-time applicaties - systemen waarbij op voorhand de eisen volledig vast moeten liggen - safety-critical applicaties - projecten waarbij ook herbruikbare componenten moeten worden geleverd.

Uit ISYF > DSDM > applicatie niet in één keer in zijn geheel ontwikkeld wordt, maar in kleine stukjes wordt opgeleverd. Incrementen = kleine stukjes. Het kent de volgende fase: 1. Toepasbaarheidsonderzoek > nagaan of de start vh ontwikkelproces zin heeft en of DSDM juiste methode is 2. Bedrijfsanalyse > beter inzicht krijgen in de te automatiseren bedrijfsprocessen en informatiebehoeften (voor het project) 3. Functioneel model - iteratie > is gericht op verfijnen vd bedrijfsprocessen, de basis voor de protypes 4. Ontwerp & Bouw - iteratie > systeem wordt steeds verder getest en verfijnd en kan overgedragen worden aan gebruikers, op dat moment voldoet het systeem aan een aantal minimaal gestelde eisen nog niet aan alle. 5. Implementatie > het gerealiseerde systeem wordt overgedragen aan gebruikers. Hierbij hoort ook opleiding, voorlichting en trainingen en het maken vd gebruikershandleiding.Voor de priotering vd eisen is het acroniem MoSCoW bedacht:- Must have > eisen zijn essentieel > alleen deze v belang voor oplevering deelsysteem !!- Should have > eisen zijn belangrijk, maar niet noodzakelijk en als we tijd hebben doen we deze- Could have > eisen die weg gelaten zouden kunnen worden- Want to but not now > Want to have but will not have this time around > eisen voor het volgende trajectAls bij deelsysteem een nieuwe must have eis ontstaat, alle andere weer even nakijken of deze nog allemaal must have zijn. Speling inbouwen.

Dynamic Systems Development Method (DSDM) -

blz

113

maandag 19 oktober 2015 Pagina 6 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Systeemontwikkeling -1014

13

1.1.2a

wordt gebruik van gemaakt om toenemende noodzaak tot uitbreiden en migreren vd bestaand informatievoorziening te kanaliseren. Elke architectuurlaag heeft de volgende aspecten: - CRITERIA > omvat uitgangspunten, principes, voorschriften en richtlijnen - GRAFISCH > omvat modellen, structuren en ontwerpenOp elk niveau worden de criteria en grafische aspecten vh BOVENliggende niveau uitgediept.BEDRIJFSARCHITECTUUR > is het startpunt voor informatievoorzienings-architectuur. Is een gestructureerde omschrijving v alleen die zaken die voor de informatievoorzienings-architectuur relevant zijn. Het bevat een schematische blauwdruk vd totale gewenste indeling in gebieden die elk een specifiek doel hebben en bevatten soms complete architecturen op zichzelf.INFORMATIEVOORZIENINGSARCHITECTUUR > Schetst een beeld vd (toekomstige) informatievoorziening. Interpreteert de bedrijfsarchitectuur en stelt de consequenties voor de informatievoorziening vast. De principes beschrijven de eisen die aan de individuele informatiesystemen worden gesteld. Gevolg is dat de reorganisatie de voor haar best passende pakketten selecteren of systemen ontwikkelen, terwijl toch de samenhang bewaakt blijft. Belangrijke onderdelen zijn: - functionaliteitsmodel > - WELKE toepassingen verwerken gegevens / WAAR vindt dat plaats / WAAR zijn de gegevens opgeslagenINFORMATIESYSTEEMARCHITECTUUR > vertaalt de informatievoorzienings-architectuur naar de werkende informatievoorziening en bevat op basis v principes en modellen richtlijnen en ontwerpen. De richtlijnen zijn constructie eisen die rechtstreeks zijn afgeleid uit de principes vd informatievoorzienings-architectuur. Deelarchitecturen zijn hier: - applicatiearchitectuur > hoe worden applicaties gebouwd - gegevensarchitectuur > welke eisen voor fysieke gegevensverzamelingenINFRASTRUCTUUR > bevat voorschriften die afgeleid zijn vd principes uit de informatievoorzienings-architectuur en bevatten eisen ten aanzien v beveiliging en beheerSbaarheid.

architectuurbenadering -

blz

328

241

maandag 19 oktober 2015 Pagina 7 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Systeemontwikkeling -1015 ***16

1.1.2b

INFRASTRUCTUUR > fysieke wereld waarbinnen het informatiesysteem geïmplementeerd is.APLLICATIESTRUCTUUR > is de inwendige structuur van een IS.

Een IS bevat de volgende componenten > - invoerfaciliteiten - verwerkingsfaciliteiten - opslagfaciliteiten - uitvoerfaciliteiten

Informatieanalisten, systeemontwerpers en toekomstige gebruikers zullen de specificaties vaststellen en daarna gaan de programmeurs en ontwikkelaars overgaan tot realisatie.

SYSTEEMONTWIKKELINGSAANPAK : is het productieproces waarin ICT/deskundigen en materiedeskundigen (de bedrijfsvoering) gericht samenwerken met als doel de realisatie ve informatiesysteem. DOEL > via een zo effieciënt en effectieve mogelijke aaneenschakeling v stappen komen tot het gewenste IS dat optimaal is afgestemd op de eisen en wensen vd opdrachtgever. STRATEGIËN om gewenst resultaat te bereiken zijn afhankelijk vd aard en complexiteit > - invulling vd ontwikkelcyclus - benaderingswijze - denkwijze Ontwikkelcycli kunnen toegepast worden - LIE > *** - LINEAIR > alle stappen sequentieel doorlopen en compleet afleveren. Werkt bij kleine projecten of projecten waarbij op voorhand DUIDELIJK is hoe het moet worden. - INCREMENTEEL * > voor ieder volwaardig onderdeel stappen iteratief doorlopen, prioriteiten leggen op deelsystemen, waar onzekerheid is later doen. - EVOLUTIONAIR * > voor ieder onderdeel stappen iteratief doorlopen en het hele systeem in een aantal iteraties opgeleverd waarbij iedere functionaliteit wordt toegevoegd. Deze aanpak kiezen als er onzekerheid is over de volledige functionaliteit van het op te leveren systeem. Rudimentair prototyping. GEHEEL ONDUIDELIJK.Benaderingswijzen > TOP-DOWN > processen als uitgangspunt, organisatie gericht, voordeel > meer samenhang tussen strategisch en operationeel niveau. BOTTOM-UP > Benodigde data als uitgangspunt, mensgericht, voordeel > betere fit vh IS met belevingswereld eindgebruikers.TESTEN, regels zijn o.a. > - uitgangspunt is FO - resultaten vd test vooraf vaststellen - testgegevens moeten representatief zijnTESTEN, aspecten > - functioneren volgens de functionele specificaties op gebied van: - volledigheid / juistheid / betrouwbaarheid / tijdigheid / gebruiksvriendelijkheid - functioneren overeenkomstig de prestatie eisen - POF: - performance / onderhoudbaarheid / flexibiliteitGebruikers organisatie is verantwoordelijk voor de acceptatietesten.ICT-deskundigen zijn verantwoordelijk voor technische testen (bv systeem- en DB-testen).

Het is belangrijk om onderscheid te maken tussen besturing en inhoudelijke activiteiten bij realisatie van een IS. Systeemontwikkelaars zijn samen met gebruikersorganisatie verantwoordelijk voor inhoudelijk resultaat en voor het daadwerkelijk realiseren vd functionaliteit volgens gewenste kwaliteit.

architectuurbenadering -

blz

329

maandag 19 oktober 2015 Pagina 8 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Systeemontwikkeling volgens MAD (Modelbased Application Development) -1016

21

1.2.1

MAD aanpak bevat handvatten voor projectmangement en systeemontwikkeling.MAD is een vorm v RAD (Rapid Application Devolement), waarbij de nadruk ligt op modelleren. Bij MAD wordt ook gebruikgemaakt van JAD (Joint Application Design) om gebruikersparticipatie optimaal te waarborgen. Scope vd projectaanpak is breder dan de scope vd ontwikkelingsaanpak.De overkoepelende fase beheerden de MAD-ontwikkelcyclus heeft de fasering > 1. definieer project 2. definieer increment 3. realisatie 4. installatieOntwikkelactiviteiten binnen MAD zijn > - opstellen bedrijfsmodellen bevat > - bedrijfsactiviteitenmodel, - informatiemodel en - afbakening systeemgrenzen - opstellen systeemmodellen bevat > - definitie vd gegevensstructuur - gedrag - userinterface vh increment - ontwikkel increment - installeer increment

overzicht vd methode -

blz

330

maandag 19 oktober 2015 Pagina 9 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Systeemontwikkeling volgens MAD (Modelbased Application Development) -1017

22

1.2.2a

Ontwikkelfilosofie van MAD > - hanteren v modelmatige specificaties en hergebruik v modellen - toepassen v iteratieve en incrementele systeemontwikkeling - actieve betrokkenheid v toekomstige gebruikers - optimaal gebruik maken v prototypes - effectief gebruik van tools (applicatiegenerators)MAD onderscheidt zich doordat de methode het documenteren (modelleren) verankert in de methode. Modellen zijn het uitgangspunt en worden gebruikt als specificatie voor het geneneren van het systeem, hierdoor blijven ze actueel.Men begint altijd met het opstellen ve bedrijfsactiviteitenmodel > doel > inzicht krijgen in de eisen vanuit het bedrijfsproces.

INCREMENTELE ontwikkeling > het systeem wordt opgedeeld in deelsystemen nadat de bedrijfsactiviteiten en de informatiebehoefte voor de volle breedte zijn bepaald en vastgelegd.DEELSYSTEEM > is een logische geïsoleerde eenheid vd functionaliteit die los ontwikkeld en geïmplemeerd kan worden, hierdoor is parallele systeemontwikkeling mogelijk.Volgorde van ontwikkelen is afhankelijk van de afhankelijkheden tussen incrementen en gestelde prioriteiten door de opdrachtgever.

JAD (Joint Application Design) > gebruiker actief laten participeren, de volgende deelnemers zijn bij een JAD sessie aanwezig: - Sessie-leider > taak > sessie faciliteren - Opdrachtgever > taak > beslissen over beschikbaarheid en budget - Gebruikersvertegenwoodigers > taak > verwoorden vd functionele eisen en wensen - Informatie-analisten > taak > opstellen vd bedrijfs- en systeemmodellen - Secretaresse> taak > notuleren - Specialisten (eventueel) > taak > beantwoorden v specifieke vragenVoorwaarden ve goede JAD-sessie > - juiste personen met juiste kennis - deelnemers moeten gedurende hele project beschikbaar zijn - deelnemers moeten beslissingsbevoegd zijn bij keuzes voor functies vh IS

kenmerken -blz

331

maandag 19 oktober 2015 Pagina 10 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Systeemontwikkeling volgens MAD (Modelbased Application Development) -1018

24

1.2.2b

is een methode om op iteratieve wijze in nauwe samenwerking met gebruikers in korte tijd een prototype te ontwikkelen met als doel de kwaliteit vh te ontwikkelen IS te verhogen, doordat met behulp van prototyping betere functionele specificaties worden verkregen.De protoype-cyclus is een iteratie vd onderstaande activiteiten > - specificatie en ontwerp vh prototype - bouwen protoype - het protypen met gebruiker - evalueren vh prototype om vervolgens de specificatie en het ontwerp te kunnen aanpassen

Applicatiegenerator > ontwikkeltool ter ondersteuning voor systeemontwikkelaars.

prototyping -blz

Systeemontwikkeling volgens MAD (Modelbased Application Development) -1019

25

1.2.3a

Op basis ve businesscases kan beoordeeld worden of nieuwe ideeën en/of wensen aan de doelstelling vd organisatie voldoen.

Het informatieplan vertaalt het beleid naar een planning in de tijd. Het omschrijft de volgende onderwerpen:1. informatiesysteemarchitectuurplan2. programma (= overzicht vd uit te voeren projecten)3. plan voor gebruik van tools4. plan voor technische infrastructuur5. middelenplan6. sociaal plan7. organisatieplan

MAD-projectinrichting -

blz

332

maandag 19 oktober 2015 Pagina 11 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Systeemontwikkeling volgens MAD (Modelbased Application Development) -1020

26

1.2.3b

MAD heeft veel overeenkomsten met PRINCE2 en bestaat uit de volgende fase:1. OPSTARTEN en INITIEREN project Voorbereidingen starten en randvoorwaarden invullen, plan van aanpak maken. Projectorganisatie bepalen, verantwoordelijkheden en bevoegdheden verdelen. Overzicht v op te leveren producten maken, diverse planningen Risico-analyse uitvoeren.2. BEHEERSEN vd MAD-ontwikkelcyclus > subfasen: a. DEFINIEER PROJECT b. DEFINIEER INCREMENT c. REALISATIE d. INSTALLATIE 3. IMPLEMENTATIE informatiesysteem Oplevering vd incrementen, opleiden en nazorg4. BEHEER en ONDERHOUD Projectmanager moet beheer en onderhoud regelen, maakt SLA. Beheer en onderhoud zelf valt buiten het project.5. AFSLUITING project 1. Projectmanager stelt eindrapportage op, legt verantwoording af en geeft resultaat. 2. Opdrachtgever verleent decharge. 3. Projectmanger draagt project over aan de lijnorganisatie.

VERANTWOORDELIJKHEDEN: PROJECTMANAGER/leider > besturing en beheersing. ICT deskundigen > realiseren vh IS volgens functionele eisen en prestatie eisen die door gebruikers zijn bepaald.

MAD projectinrichting -

blz

333

maandag 19 oktober 2015 Pagina 12 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Systeemontwikkeling volgens MAD (Modelbased Application Development) -1021 ***28

1.2.3c

2. BEHEERSEN vd MAD-ontwikkelcyclus > subfasen:

a. ***DEFINIEER PROJECT ***> 1. opstellen bedrijfsactiviteitenmodel > doel > bedrijfsprocessen en informatiebehoefte in kaart brengen 2. maak globaal informatiemodel 3. ***afbakening systeemgrenzen *** > *** DOEL > benoemen welke informatieverwerking daadwerkelijk gerealiseerd wordt binnen het informatiesysteem. Wat binnen de systeemgrens valt en wordt gerealiseerd. Hiermee wordt de scope vh systeem bekend (bepaal zelfstandignaamwoorden, dan werkwoorden en daarna de scope = grenzen). b. DEFINIEER INCREMENT > 4. definitie van de incrementen > In logische eenheden indelen die zelfstandig ontwikkeld en geïnstalleerd kunnen worden. Kernsysteem eerst ontwikkelen. Logische samenhang tussen incrementen is ook bekend.!!Activiteiten 1 t/m 4 worden voor het hele systeem doorlopen !!!!Activiteiten 5 t/m 9 worden per increment doorgelopen !! c. REALISATIE > 5. definieer gegevensstructuur per increment 6. definieer het gedrag van increment > uitwerken van > - domeinen voor de verschillende attributen - afhankelijkheidsregels voor de verschillende attributen - statusovergangen voor de verschillende attributen - updaten & delete regels voor de attributen - onderlinge samenhang tussen associaties - procesgegevens - autorisaties 7. definieer user-interface voor increment > - GUI = grafische userinterface - welke output en in welke vorm (bv rapportages) 8. ontwikkel increment > - genereren vd basisfunctionaliteit vh increment - toevoegen event-getriggerde regels - bouw GUI/menustructuren - bouw rapportages - integratie met andere reeds ontwikkelde incrementen - systeemtest d. INSTALLATIE > 9. installeer increment

Testen is hier vaak lastig > aandachtspunten > - ontwikkel testbare software (kleine componenten) - wissel bouw en test voordurend af - (her)gebruik eerder geteste componenten - gebruik ondersteunende test-tools

MAD projectinrichting - beheersen vd MAD-ontwikkelcyclus -

blz

334

maandag 19 oktober 2015 Pagina 13 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Systeemontwikkeling volgens MAD (Modelbased Application Development) -1022 ---31

1.2.3d

MOSQUITO = GROKIT (Geld - Risico - Organisatie - Kwaliteit - Informatie - Tijd/planning) - Money / safety (risico) / QUality / Information / Time and resources / Organization > ad Organisatie > belangrijk voor slagen is> kleine projectteams / brede inzetbaarheid vd projectleden / flexibiliteit vd projectleden / leden moeten kunnen anticiperen op wijzigingen

Voor de priotering vd eisen en TIME is het acroniem MoSCoW bedacht:- Must have > eisen zijn essentieel > alleen deze v belang voor oplevering deelsysteem !!- Should have > eisen zijn belangrijk, maar niet noodzakelijk en als we tijd hebben doen we die- Could have > eisen die weg gelaten zouden kunnen worden- Want to but not now > Want to have but will not have this time around > eisen voor het volgende traject

MAD projectinrichting - beheersen vd MAD-ontwikkelcyclus -

blz

MAD-systeemontwikkelingsaanpak -1023

35

1.2.4a

- modelmatige specificaties en hergebruik van modellen- iteratieve en incrementele systeemontwikkeling- specificaties bepalen in samenspraak gebruikers én ontwikkelaars- prototype gebruiken - (grotendeels) generen met applicatiegeneratoren.

Zie figuur 343 voor de ontwikkelingsfase en bijbehorende activiteiten, modellen en producten. - bedrijfsanalyse > in kaart brengen probleemgebied - systeemspecificatie > systeemafbakening, scope en opstellen incrementen - systeembouw > daadwerkelijke realisatie

uitgangspunten -blz

336

343

maandag 19 oktober 2015 Pagina 14 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

MAD-systeemontwikkelingsaanpak - uitgangspunten -1024 ***36

1.2.4b

heeft de volgende functies: - verkrijgen v inzicht in bedrijfsproces - Uitgangspunt voor het vaststellen van de systeemgrenzen - Uitgangspunt voor het opstellen van een globaal informatiemodel - Uitgangspunt voor het vaststellen van de informatieregels - Uitgangspunt voor het opstellen en vaststellen van de userviews - Communicatiemiddel

Voor het modelleren van het bedrijfsactiviteitenmodel wordt hier gebruik gemaakt van zgn A-schema's van de ontwikkelmethode van ISAC of DFD's diagrammen van de ontwikkelmethode Yourdon.

GEGEVENSSTROMEN > de pijlen > zelfstandige naamwoorden in de tekst. - INPUT STROOM > gaat in de activiteitblok, is invoer - CONTROLE STROOM > pijl van boven af, die info geeft, alleen raadplegen - OUTPUT STROOM > komt uit de activiteiten blok, is uitvoerEen informatiestroom heeft een naam. Deze naam is een zelfstandig naamwoord en geeft de inhoud van de informatiestroom weer.

ACTIVITEITEN > de blokken > werkwoorden uit de tekst.Activiteiten hebben een naam en een nummer. De naam wordt altijd uitvoergericht gekozen en bestaat uit een werkwoord eventueel gevolgd door een zelfstandig naamwoord. De naam duidt de verwerking aan die door de activiteit wordt uitgevoerd.Iedere activiteit heeft minimaal één invoerstroom en één uitvoerstroom.

bedrijfsactiviteiten model -

blz

337

maandag 19 oktober 2015 Pagina 15 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

MAD-systeemontwikkelingsaanpak - uitgangspunten -1025 ***37

1.2.4c

is een semantisch model > er wordt nog geen rekening gehouden met implementatie beperkingen.DOEL > informatiebehoefte inventariseren en vastleggen.De figuren 1.19 en 1.20 vormen SAMEN het informatiemodel en bestaat dus uit: 1. INFORMATIESTRUCTUURMODEL >ERD >entiteiten, attributen en hun onderlinge samenhang 2. INFORMATIEREGELS > - identificatieregels > primairy key, uniek gegeven - verplichte attributen > moeten minimaal bekend zijn - validatieregels > toegestane waarden - afhankelijkheidsregels > geeft relatie tussen attributen v verschillende entiteiten weer - ***afleidingsregels > *** op welke wijze de waarde ve attribuut afgeleid of berekend kan worden (21C). - transitieregels > beschrijven toegestane statuswijzigingen ve attribuut. Bv patient van "in behandeling" naar "onder controle".***Dus het informatiemodel bestaat uit het informatiestructuurmodel én de informatieregels!!

informatiemodel -blz

338

MAD-systeemontwikkelingsaanpak - uitgangspunten -1026

39

1.2.4d

DOEL > bepalen welke bedrijfsactiviteiten voor automatisering in aanmerking komen en daadwerkelijk gerealiseerd worden.

De scope vh te realiseren systeem wordt gemodelleerd mbv een contextdiagram, dit is een afbeelding vh te automatiseren systeem in relatie met haar omgeving. Het systeem wordt in dit diagram beschouwd als een black box. Is bedoel om de grenzen af te bakenen en de relatie met de omgeving te tonen.

Dit context-diagram is ook gelijk het A-0 schema

afbakening systeemgrenzen -

blz

340

maandag 19 oktober 2015 Pagina 16 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

MAD-systeemontwikkelingsaanpak - uitgangspunten -1027

40

1.2.4e

DOEL > identificeren en vast stellen van incrementen. Incrementen zijn als het ware logische eenheden die zelfstandig ontwikkeld en geinstalleerd kunnen worden.Deze opdeling vindt plaats aan de hand vh informatiemodel. Opsplitsen gebeurd daar waar er zoweinig mogelijk informatiestromen lopen. Ontwikkel principes van coupling en binding worden hier gebruikt.

BINDING (intern+max) > een maximale interne samenhang > sterke > dan hebben ze een eigen afgebakende verantwoordelijkheid.COUPLING (extern-min) > een minimale externe afhankelijkheid > beschrijft de mate waarop incrementen van elkaar afhankelijk zijn, deze moet zo klein mogelijk zijn. Doet uitspraken over de communicatie tussen incrementen.

Sterke binding en zwakke coupling**

definieer de incrementen -

blz

341

365

maandag 19 oktober 2015 Pagina 17 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

MAD-systeemontwikkelingsaanpak - uitgangspunten -1028 ---41

1.2.4f

is een systeemgerichte activiteit. Is per increment vastleggen welke gegevens in welke vorm worden opgeslagen. Hiervoor wordt het conceptuele informatiemodel (ERD) omgezet naar een fysiek model. Dit gaat gepaard met de vertaalslag die men normaliseren noemt.

Relationele model bestaat uit: - tabellen; - attributen; - primaire en vreemde sleutels.

MAD hanteer principe van gecontroleerde redundantie > men kan afwijken van het volledig uit normaliseren vd gegevensverzameling. Twee doelen > - ervoor te zorgen dat de juiste schermen worden gegenereerd - uit performance overwegingen

definieer de gegevensstructuur -

blz

MAD-systeemontwikkelingsaanpak - uitgangspunten -1029 ---42

1.2.4g

gebeurt om de gewenste functionaliteit te specificeren. De volgende specs uitwerken > - domeinen voor attributen - verplichte attributen - internal events (afhankelijkheidsregels en statusovergangen) - update en delete regels - afleidingsregels - autorisaties - aanvullende programma's

definieer het gedrag -blz

MAD-systeemontwikkelingsaanpak - uitgangspunten -1031 ---43

1.2.4h

dit beïnvloedt in sterke mate de kwaliteit vd software en bepaalt o.a. > - snelheid waarmee men de software leert kennen - bedieningsgemak - kans op bedieningsfouten - visuele aantrekkingskrachtBij ontwerpen is van belang > - gebruikerstaak - frequentie van de taak - duur van de taak - mogelijkheden tot taakonderbreking en schakelen tussen verschillende taken

definieer de user interface -

blz

MAD-systeemontwikkelingsaanpak - uitgangspunten -1031 ---43

1.2.4i

Doel > realiseren vh increment.Activiteiten > - genereer basisfunctionaliteit - event getriggerde regels toevoegen - bouw user interface - bouw rapportages - test - integreer met reeds ontwikkelde incrementen - systeemtest

Daarna wordt het geinstalleerd.

ontwikkel het increment -

blz

maandag 19 oktober 2015 Pagina 18 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

MAD-systeemontwikkelingsaanpak -1032 ---44

1.2.5

Wijzigingen aan informatiesystemen zijn in een vijftal categorieen te plaatsen (PAPAC): - CORRECTIEF onderhoud > verbeteren van fouten die ontdekt zijn. - PREVENTIEF onderhoud > voorkomen van mogelijke fouten. - ADAPTIEF onderhoud > veranderen als gevolg van externe ontwikkelingen. - PERFECTIEF onderhoud > vernieuwen vanwege technische ontwikkelingen. - ADDITIEF onderhoud > veranderen als gevolg van nieuwe wensen en eisen, het toevoegen van nieuwe functionaliteiten, veranderingen als gevolg van functionele eisen.

beheer en onderhoud -

blz

190

Modelmatige aanpak -1033 ---45

1.3

Een MODEL is een beperkte vereenvoudigde afbeelding van de werkelijkheid vanuit een bepaald gezichtspunt voor een bepaalde doelgroep.

MODELLEREN > is het geheel van activiteiten om een aspect uit de werkelijkheid te transformeren tot een model.

Richtlijnen > vanuit een bepaald gezichtspunt of voor een bepaalde doelgroep.Er moet bij modellering altijd een doorgaande resultaatlijn en een doorgaande communicatielijn gehanteerd worden.

Per model maar één gezichtspunt visualiseren.

Mogelijke systeemonderdelen (zie figuur)1. verwerking > hart vh systeem2. user interface > manier voor gebruiker en verwerking om gegevens uit te wisselen3. via data toegangslaag krijgt gegevens de data van de data opslag4. data toegang zorgt voor communicatie met de data opslag laag

model -blz

342

maandag 19 oktober 2015 Pagina 19 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Samenhang tussen MAD-modellen -1034 ***49

1.4a

ANALYSEMODEL > is het samenstel v modellen die gericht zijn op het afbeelden vd bedrijfsgerichte specificaties.SPECIFICATIEMODEL > is het samenstel v modellen die gericht zijn op het afbeelden vd systeemgerichte specificaties.

AFBAKENING > richt zich op het modelleren vd bedrijfsgerichte specificaties.

BEDRIJFSACTIVITEITENMODEL > vormt het startpunt vd modellencyclus binnen MAD.

INFORMATIEMODEL *** > de binnen het bedrijfsactiviteitenmodel opgestelde A-schema's bevatten activiteiten en de verbindende informatiestromen, deze worden geanalyseerd om de entiteiten af te leiden om zodoende een globaal informatie-structuurmodel (ERD) op te stellen.Dit informatiestructuurmodel wordt door interviews en workshops via een aantal iteraties steeds verder gedetaillieerd > gevolg totaal overzicht van alle atributen per entiteit > daaruit kunnen weer de informatieregels worden opgesteld e.d.

De in A-schema's gemodelleerde activiteiten bieden vooral inzicht in de aard van de informatieregels.

blz

344

maandag 19 oktober 2015 Pagina 20 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Samenhang tussen MAD-modellen -1035

51

1.4b

CONTEXTDIAGRAM > wordt vh bedrijfsactiviteitenmodel afgeleid, de basis activiteiten uit het basismodel (A-0 schema) worden tot één activiteit geaggregeerd. Geeft ook inzicht in de begrenzing vh IS en kan er worden overgegaan in opdelen naar incrementen.

SPECIFICATIEMODEL > zodra incrementen zijn gedefinieerd worden op iteratieve wijze per increment het gegevensmodel, functiemodel en userinterfacemodel opgesteld. Daarna kun je gaan protoypen. Zie figuur.

GEGEVENSMODEL > is de kern vh systeem, hier worden tabellen, gegevens, sleutels en domeinen gespecificeerd.FUNCTIEMODEL > omvat specificaties vd update & delete regels, event getriggerde regels, afleidingsregels en overige functionaliteitsregels.USER INTERFACE MODEL > welke gegevens op welk scherm, hoe worden ze benaderd, welke functionaliteit is mogelijk en wie is waarvoor geautororiseerd.

PROTOTYPING > inzicht krijgen in de eisen en de wensen vd gebruikers ten aanzien vh specificatiemodel.

blz

345

maandag 19 oktober 2015 Pagina 21 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Templates en applicatiegeneratie -1036 ***53

1.5a

Over *** Systeemspecificatie *** deel komt een examen vraag. Dit is de kern. (Y)Bij MAD aanpak.TEMPLATE of rompsysteem of cassosysteem of designware > is een bedrijfsmodel dat is opgeslagen in de repository vd applicatiegenerator, ze kunnen hergebruikt worden.REFERENTIEMODEL > is een template die algemeen toepasbaar is voor een bepaald toepassingsgebeid.

SPECIFICATIEMODEL > componenten zijn > - relationeel gegevensmodel - programmadelen - schermdefinities - menustructuur definitiesSPECIFICATIEMODEL > onderdelen zijn > *** - gegevens - gedrag - kern *** - userinterface

template -blz

331

maandag 19 oktober 2015 Pagina 22 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Templates en applicatiegeneratie -1037

54

1.5b

maakt deel uit van een casetool.CASETOOL > is een samenhangende set ontwikkeltools voor analyse, ontwerp, modellering, prototyping en generatie van informatiesystemen. Focus ligt op het functioneel ontwikkelen en ze bieden de volgende faciliteiten > - grafische ondersteuning - onderhoudsfaciliteiten voor de modellen en specs - mogelijkheden tot prototyping - integratie met SQL - hergebruik mogelijk - voor gedefinieerde events beschikbaar op conceptueel en extern niveau - mogelijkheden om business rules te definieren - automatische generen van programmacode voor diverse platformsUPPERCASE TOOLS > vooral geschikt voor opstellen vd bedrijfsmodellenLOWERCASE TOOLS > zijn voornamelijk voor specificatiesmodellen en geschikt voor applicatiegeneratoren.Modellen uit de uppercase > worden getransformeerd naar > modellen vd lowercase tools.

Minimale input voor een applicatiegenerator bestaat uit een relationeel model. De TRIVIALE functionaliteit bestaat uit > - de DB structuur; - menustructuur; - onderhoudsfunctionaliteit voor tabellen; - navigatiepaden tussen tabellen; - zoek funcionaliteit in tabellen; - bewaken referentiele integriteit; - bewaking update- en delete regels; - basisschermen voor de gebruiker.

applicatiegenerator -blz

346

2Hoofdstuk: BedrijfsactiviteitenmodelHS.1

maandag 19 oktober 2015 Pagina 23 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Business Proces Redisign (BPR) -1038

66

2

DOEL > processen beter op klant af stemmen OF de processen efficiënter laten verlopen.Bedrijfsprocessen worden rond klantwaarden georganiseerd.

BPR is het opnieuw inrichten vh bedrijfsproces, waarbij infomatietechnologie als bij het ontwerp vh bedrijfsproces wordt meegenomen, met als doel snel en flexibel op veranderende behoeften ingespeeld kan worden en concurrentieposities verbeterd kunnen worden.

Succesfactoren > - bedrijfsstrategie wordt heroverwogen; - bedrijfsprocessen herontwerpen; - ict optimaal wordt ingezet ter ondersteuning vd bedrijfsprocessen.Valkuilen > - te laat toepassen van ICT en niet alle ICT mogelijkheden benutten; - teveel aandacht schenken aan kostenbesparingen.

blz

Begrippen en toepassing -1039

68

2.1a

bestaat uit 3 technieken > - IDEF0 > voor modelleren van activiteitenschema's - IDEF1 > voor modelleren van gegevensschema's - IDEF2 > voor modelleren van gedragHebben een top-down structuur.

Integration DEFinition = IDEF -

blz

maandag 19 oktober 2015 Pagina 24 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Begrippen en toepassing -1040 ***68

2.1b

moet eenduidigheid scheppen over alle modellen, dit kan door volgende aspecten in beschouwing te nemen > - CONTEXT > is de omgeving waarbinnen het model wordt opgesteld; - DOEL - GEZICHTPUNT > standpunt van waaruit het model wordt opgesteld; - CONTENT > onderwerp vd modellering.Binnen een A-schema is het HOE een activiteit cq verwerkingsproces (werkwoord) dat invoer en uitvoer oplevert. De invoer wordt getransformeerd tot uitvoer. Ook vastleggen met welke hulpmiddelen WAARMEE en wie of wat WAARDOOR de activiteit gestuurd wordt.A-schema bestaat uit de volgende componenten >; - ACTIVITEIT > is een functie waarbinnen een verwerking plaats vindt; - INPUT STROOM > is informatie-/materiestroom die de input levert voor een activiteit; - CONTROL STROOM > is een informatiestroom voor alleen te raadplegen; - OUTPUT STROOM > is de informatiestroom de activiteit levert/resultaat vd verwerking; - MECHANISM STROOM > is een stroom die op meerdere manier kan worden toegepast. Deze bestaat niet in Actimod en wordt alleen in IDEF gebruikt.

*** Volgorde ve A-schema is: A-0 > A0 > A1 > A2 …..etc*** De bedrijfsanalyse begint met het A0 schema.*** Volgorde v opstellen ve A-schema is: A0 dan terug naar A-0 en dan verder met A1 > A2 etcA-0 > toont de applicatie als een activiteit (contextdiagram)A0 > toont diagram met de hoofdactiviteit

A-schema en Actimod -

blz

348

349

maandag 19 oktober 2015 Pagina 25 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Begrippen en toepassing -1041

70

2.1c

bij opstellen van A-schema's is het belangrijk dat de activiteiten binnen een schema ten opzicht van elkaar een gelijkwaardige omvang hebben.

horizontal balancing -blz

Begrippen en toepassing -1042

70

2.1d

Bij decompositie is het v belang dat de consistentie met de bovenliggende modellen wordt bewaakt.level balancing -blz

Notatiewijze en conventies -1043

71

2.2a

Activiteiten hebben een naam en nummer.Iedere activiteit heeft minimaal één invoer en minimaal één uitvoerstroom!

Vuistregel > binnen een A-schema bij voorkeur 3 tot maximaal 6 activiteiten opnemen, deze moeten kwa niveau van gelijke zwaarte zijn (horizontal balancing).

Informatiestroom = zelfstandignaamwoord > geeft de inhoud vd informatiestroom weer.

BRANCHING/SPLITTING > het splitsen ve hoofdstroom in meerdere deelstromen.JOINING > samenvoegen van meerdere deelstromen tot een deelstroom.

REALTIME STROOM > geeft ten allen tijde de actuele informatie aan, pijl met 2 punten.TUNNELING > op een lager abstractie niveau een stroom introduceren die op een hoger niveau niet relevant is. Wordt toegepast bij invoer-, control-, en uitvoerstromen, en wordt tussen haakjes gemodelleerd.

blz

350

353

maandag 19 oktober 2015 Pagina 26 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Notatiewijze en conventies -1044

74

2.2.3a

feedback > vanuit een latere activiteit terug gaan naar een eerdere.

figuur 355 links > INVOER FEEDBACK (bv bij maken en beoordelen v rontgenfoto's)figuur 355 rechts > CONTROLE FEEDBACK

figuur 354 links > voorwaarlijke stroom uit activiteit 1 die als controlestroom geldt voor activiteit 3figuur 354 rechts > parallele verwerking van activiteit 2 en 3, ze kunnen tegelijkertijd gestart worden.

feedback -blz

354

355

maandag 19 oktober 2015 Pagina 27 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Analyse en modellering -1045 ***79

2.3a

bedrijfsactiviteitenmodel opstellen > stappen >1. verzamel de benodigde informatie2. bepaal het doel vh model3. bepaal het gezichtspunt vh model4. *** maak een A0-diagram > is basisdiagram met hoofdactiviteiten. Horizontal balancing is belangrijk. Activiteiten van linksboven naar rechtsonder modelleren en verbinden met informatiestromen.5. *** maak een A-0 diagram > toont één activiteit met de relevante invoer-, controle en uitvoerstromen. Kan worden afgebeeld als een groot blok om het A0-schema te zetten en dan te beschouwen als een activiteit, daarna moeten de invoer-, uitvoer- en controle stromen nog geplaatst worden.6. *** maak uitgaande vh A0-diagram de benodigde decomposities > per activiteit vaststellen uit welke deelactiviteiten het bestaat, bijvoorbeeld: Deelactiviteit 1 van activiteit 1 > in A1 diagram, > dan weer in A11 diagram… Deelactiviteit 2 van activiteit 1 > in A1 diagram, > dan weer in A12 diagram… Deelactiviteit 1 van activiteit 2 > in A2 diagram, > dan weer in A21 diagram… Deelactiviteit 2 van activiteit 2 > in A2 diagram, > dan weer in A22 diagram…etc Level balancing niet uit het oog verliezen, zie figuur 2137. review en controle

opstellen A schema's - topdown -

blz

357

356

maandag 19 oktober 2015 Pagina 28 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Opstellen ve A-schema -1046

83

2.3.2a

Benoem maximaal 4 activiteiten die samen een representatief beeld vormen vd activiteiten.Voeg eerst de externe en interne invoer- en uitvoerstromen toe en bepaal daarna de interne hoofdstroom. Deze stromen vormen samen de workflow of rode draad.

top-down -blz

358

Opstellen ve A-schema -1047

84

2.3.2a

stappen > 1. maak een datalijst > invetariseer de informatiestromen (de zelfstandige naamwoorden)2. maak een activiteitenlijst > (de werkwoorden)3. leg associaties tussen de datalijst en activiteitenlijst 4. transformeer de datalijst en activiteitenlijst naar een 1e concept A-schema5. verfijn het A-schema6. controleer het A-schema

bottom up -blz

359

3Hoofdstuk: InformatiemodelHS.1

maandag 19 oktober 2015 Pagina 29 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Informatiemodel -1048 ***101

3a

DOEL > is om de informatiebehoefte voor het toepassingsgebied te inventariseren en vast te leggen. Het informatiemodel is een semantisch model, dwz dat er nog geen rekening wordt gehouden met implementatiebeperkingen.Het informatiemodel brengt de informatiebehoefte in kaart en bestaat uit > - informatiestructuurmodel én - informatieregels

Het informatiestructuurmodel is een ERD (Entity Relationship Diagram). Entiteiten, attributen en hun onderlinge samenhang is vastgelegd.

Functies van het informatiemodel zijn > - inzicht verkrijgen - communicatiemiddel - uitgangspunt voor identificeren en afbakenen v incrementen - uitgangspunt voor afleiden specificatiemodelInformatiemodel kent de volgende informatieregels > - identificatieregels - verplichte en optionele attributen - validatieregels (domeinen) - afhankelijkheidsregels (beschrijving relaties) - afleidingsregels (procesgegevens) - transitieregels (bv statusovergangen)

blz

364

maandag 19 oktober 2015 Pagina 30 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Begrippen en toepassing -1049

103

3.1a

ENTITEITTYPE > is het concrete object waarover informatie wordt vastgelegd. De entiteit is de instantie ve entitiettype.ATTRIBUUTTYPE > is een soort kenmerk of de eigenschap vh eintiteitype (veldnaam). Attribuut of attribuutwaarde is een instantie ve attribuuttype.RELATIONSHIPTYPE > is het element waarmee de samenhang tussen entiteittypen wordt gemodelleerd. Geeft de relatie tussen de verschillende objecten weer.

onderdelen ERD -blz

366

Begrippen en toepassingen -1050

104

3.1.1a

ZWAK entiteittype > is een entiteittype dat niet zelfstandig beschikt over een uniek identificerend attribuut, het is daarvoor afhankelijk v een andere entiteit. Als er in de primaire sleutel ook een of meerdere vreemde sleutels zitten.

SUPERTYPE > is de moeder entiteit met de gemeenschappelijke basisattributen.

SUBTYPE > bevat de specifieke attribuuttype die alleen van toepassing zijn op het subtype en via het principe van overerving zijn daarnaast de gemeenschappelijke basis attribuuttypen voor ieder subtype van toepassing.

entiteittype -blz

Begrippen en toepassing -1051 ***104

3.1.2a

SINGLE VALUED attribuuttype > is een attribuuttype dat voor een entiteit maximaal één attribuutwaarde vertegenwoordigt, bv woonplaats.

MULTIEVALUED attribuuttype ***> is een attribuuttype dat voor een entiteit op moment x meerdere attribuutwaarden kan bevatten, bv gevolgde opleiding bij student. Dit kan dus ook een samengesteld attribuuttype zijn en vise versa.

SAMENGESTELD attribuuttype > WORDT NIET MEER TOEGESTAAN. Is een attribuuttype dat een samenstelling van attribuutwaarden bevat, bv adres is straat+huisnr+toevoeging.

ENKELVOUDIG attribuuttype > is een attribuuttype dat voor de entiteit een atomische attribuut waarde bevat, het kan dus niet verder worden opgesplitst, bv huisnummer.

SLEUTELattribuut > is het identificerende attribuuttype van de entiteit. Dit is de kleinst mogelijke samenstelling van attribuuttypen die een entiteit uniek identificeert.

attribuuttypen -blz

maandag 19 oktober 2015 Pagina 31 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Begrippen en toepassing -1052 ***105

3.1.3a

geeft de associatie aan tussen entiteittypen. We onderscheiden > - CONNECTIVITEIT of FUNCTIONALITEIT > geeft weer of er sprake is van respectivelijk een 1:1, een 1:n of een n:m relatie tussen de geassocieerde entitteiten gelden. Mogelijkheden zijn > 1:1 > één entiteittype hoort bij één ander entiteittype; 1:n > één entiteittype hoort bij meerdere andere entiteittypen; n:m > meerdere entiteittypen horen bij meerdere andere entiteittypen. *** n > noemt men hier de maximale kardinaliteit - AARD > hiermee kan worden aangegeven of een relatie tussen entiteittype optioneel/partioneel of verplicht/totaal is. - GRAAD of DIMENSIE > geeft aan hoeveel entiteittypen aan een relatie deelnemen. De graad kan maximaal N-air zijn. De volgende graden zijn o.a. mogelijk > - uniair > er paticipeert één entiteittype in de relatie; - binair > er paticipeert twee entiteittypen in de relatie; - tertiar > er paticipeert drie entiteittype in de relatie; - N-air > er paticipeert een onbeperkt aantal entiteittypen in de relatie. De connectiviteit/functionaliteit en de aard worden gemodelleerd voor het vastleggen vd kardinaliteiten (hiermee wordt aangegeven hoeveel relaties er mogelijk zijn tussen relaties).

relationshiptypen of relatie -

blz

Begrippen en toepassing -1053 ***106

3.1.4a

de volgende worden onderkend > - IDENTIFICATIEREGELS > geeft het attirbuut of de combinatie v attributen weer die de entiteit uniek identificeren. - VERPLICHTE en OPTIONELE attributen > geven aan welke attributen van een entiteit minimaal bekend moeten zijn cq minimaal ingevuld moeten zijn. - VALIDATIE (domeinen) > geven een opsomming vd toegestane waarden weer die voor dat attribuut geldig zijn. - AFHANKELIJKHEIDSREGELS > geven de relaties weer tussen attributen van verschillende entiteiten. - ***AFLEIDINGSREGELS (procesgegevens)*** > beschrijven op welke wijze de waarden ve attribuut kan worden afgeleid of berekend op basis van andere attributen. - TRANSITIEREGELS > beschrijven de toegestane statuswijzigingen voor een attirbuut.

informatieregels -blz

Begrippen en toepassing -1054

107

3.1.5a

OCCURENCE > is de fysieke instantie van een bepaald entiteittype, bv patiënt Janssen.

POPULATION > is de verzameling fysieke entiteiten op een willekeurig moment, bv de verzameling van alle patiënten op 12 mei.

occurence en population -

blz

maandag 19 oktober 2015 Pagina 32 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Notatiewijzen en conventies -1055

108

3.2.1a

ENTITEIT RELATIE DIAGRAM = ERD (Entity relation ship diagram) > is een schematische weergave vd samenhang tussen entiteittypen. Hierin kunnen de entiteittypen en relatietype worden weergegeven.Hier wordt de notatiewijze zoals in ISO-rapport omschreven, toegepast.Omdat in de praktijk er teveel entiteiten voorkomen worden attributen tekstueel toegevoegd, het model zou anders veel te groot worden.

Zie figuur 3.3 voor de notatiewijze.

syntax -blz

367

Notatiewijzen en conventies -1056

109

3.2.2a

ENTITEITTYPE > is een rechthoek met een naam

Bij SUBTYPE en SUPERTYPEN wordt het volgende onderscheid gemaakt: - DISJUNT of EXCLUSIEF > bv een patiënt mag alleen maar bij OF een kaakchirug OF een dermatoloog geregistreerd staan maar niet bij beide. - NIET-DISJUNCT > Bv een patiënt mag bij een dermatoloog en bij een kaakchirurg geregistreerd zijn.

Bij een VOLLEDIGE VERZAMELING wordt dit weergegeven met een gevulde zwarte pijl.

conventies voor het modelleren v entiteittypen -

blz

235

maandag 19 oktober 2015 Pagina 33 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Notatiewijzen en conventies -1057 ***110

3.2.3

Een RELATIONSHIPTYPE wordt weergegeven dmv een ovaal met een naam erin. Hier in x zitten altijd de sleutels in van A en B (zie figuur 3.9).De aard en de connectiviteit/functionaliteit worden gemodelleerd aan de hand van kardinaliteiten. De minimum kardinaliteit bepaalt de aard en de maximum kardinaliteit bepaalt de connectiviteit/functionaliteit. De notatie wijze is (min, max).

De MINIMUM KARDINALITEIT kan waarde 0 of 1 hebben en betekent dat dit entiteittype optioneel of partieel deelneemt in de relatie.Als de minimum kardinaliteit 1 is > het entiteittype neemt altijd deel in de relatie en dan is de aard verplicht/totaal.

De MAXIMUM KARDINALITEIT kan een waarde van 1 of n hebben. ***Als de maximum kardinaliteit = 1 > dit entitteittype neemt maximaal één maal deel in de relatie.Als de maximum kardinaliteit = n > dit entitteittype neemt maximaal n keer deel in de relatie.

De GRAAD of DIMENSIE betreft het aantal deelnemende entiteiten in een relatie, maximum is N-air. De volgende graden zijn o.a. mogelijk > - UNIAIR > er paticipeert één entiteittype in de relatie; - BINAIR > er paticipeert twee entiteittypen in de relatie; - TERTIAIR > er paticipeert drie entiteittype in de relatie (T-structuur); *** - N-AIR > er paticipeert een onbeperkt aantal entiteittypen in de relatie.

AGGREGATIE > is een abstractie waarbij een relatie met zijn entiteittypen als een entiteit op een hoger niveau wordt weergegeven. Zie figuur 3.11.

*** Fig 3.7, 3.8 en 3.9 *** Hier komen enkele examenvragen over.

conventies voor modelleren v relationshiptypen -

blz

237

229

maandag 19 oktober 2015 Pagina 34 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Notatiewijzen en conventies -1058 ---113

3.2.4

ISO-notatie > kenmerkend is het hanteren ve grafische en tekstuele component. De attribuuttypen worden bij het entiteittype in de tekstuele bijlage opgenomen. Hier geldt de volgende syntax, voor de > - tekstuele componenten ve entiteit > - Entity-type : <naam> bv patiënt - Identifier : <naam/namen> pnummer - Description : <attribuuttype namen> pnaam, padres, pte - tekstuele component ve relatie > - Relationshiptype : <naam> bv gebruiken - Dimension : <aantal> 2 - Collection : <namen> patiënt en medicijn - Cardinality : <namen (min,max)> patient 0,n en medicijn 0,n

notatie volgens ISO -blz

375

Analyse en modellering -1059 ---114

3.3

ERD komt met volgende stappen tot stand:1. bepalen en benoemen vd entiteittypen;2. bepalen en benoemen v relationshiptypen;3. maken ve primiair diagram;4. bepalen vd kardaniliteiten;5. bepalen en benoemen vd attribuuttypen;6. bepalen vd identificerende attribuuttypen;7. bepalen v het type attribuuttypen;8. onderzoek naar toepasbaarheid van specialisatie/generalisatie;9. controle vh uitgewerkte ERD.

opstellen ERD volgens gesturctureerd stappenplan -

blz

maandag 19 oktober 2015 Pagina 35 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Analyse en modellering -1060 ---117

3.3.2

deze gaat uit vh tegelijkertijd inventariseren v entiteittypen, relationshiptypen en attribuuttypen.Via een inventarisatiemodel ontstaat een basismodel dat naar een definitieve uitwerking wordt omgezet.Zodra een entiteit wordt gevonden noteert men deze op de entiteitregel, de identificatie wordt de regel eronder genoteerd en vervolgens de attribuuttypen. Daarboven noteert men de relationshiptype. Zo komt men tot een model dat vertaalt kan worden naar ERD's. Daarbij moeten de sub- en supertypes niet vergeten worden.

opstellen ve ERD via analytische aanpak -

blz

376

maandag 19 oktober 2015 Pagina 36 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Analyse en modellering -1061 ---118

3.3.3

Een ERD is als het ware het fundament vd database.Bij opstellen ve ERD is hetvolgende van belang > 1. ALGEMENE REGELS > - Binnen één ERD hebben entiteittypen unieke namen; - Binnen één entitetitype heb attributen een uniek naam.2. FORMELE MODELLERINGSREGELS > - Enkelvoudige attribuuttypen > multivalued attribuuttypen worden in een entiteittype omgezet. - Normalisatie > controleren op > - voorkomen van herhaalde groepen; - voorkomen v attribuuttype die niet afhankelijk zijn van een hele sleutel; - voorkomen v transitieve afhankelijkheden. - Decompositie > als er 3 entiteittypen betrokken zijn > - Tertiair relationshiptype > de functionaliteit vh relationshiptype moet eenduidig zijn met de aangesloten entiteittypen.3. PRAGMATISCHE MODELLERINGSREGELS > bieden adviezen voor het modelleren van > - entitetitypen zonder relevante attribuuttypen; - impliciete enttiteittypen; - relationshiptypen met attribuuttypen.

Controleregels voor ERD -

blz

368

maandag 19 oktober 2015 Pagina 37 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

MDD = Multidimensionale Databases -1062 ---135

3.5.1

MDD > Multidimensionale Databases.OLTP > OnLine Transaction Processing > systemen met heel veel invoer.DSS > Decision Support System > is een primaire generiek toepassing van een MDD.

DWH > DataWareHouse > is het op een zodanige manier structureren en koppelen van bestanden dat alle informatie via een uniform medium beschikbaar wordt.DWH > DataWareHouse > hoofddoel > om deze gegevens te integreren en optimaliseren voor analysedoeleinden om o.a. in de managementinformatie te kunnen voorzien. Andere toepassingen kunnen zijn > marketing, fraudedetectie, ondersteuning bedrijfsprocessen en financiële dienstverlening.

MDD > Multidimensionale Databases > is een vorm v databasetechnologie voor de efficiënte opslag en bevraging van grote hoeveelheden complexe gerelateerde data vanuit verschillende applicaties vanuit verschillende onderdelen vd organisatie, waarbij data worden opgeslagen in een kruistabel waardoor data beter toegankelijk zijn voor analyses vanuit verschillende invalshoeken. Omvat feitelijk een datawarehouse met BI-tool functionaliteit.

BI-tool is een software-tool dat bedoelt is voor de presentatie en analyse van grote hoeveelheden data.

blz

maandag 19 oktober 2015 Pagina 38 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

MDD = Multidimensionale Databases -1063 ***136

3.5.2a

OLAP > On Line Analytical Processing > zijn systemen die snelle analyses maken op grote hoeveelheden data met als doel bruikbare informatie te produceren. Deze zijn over het algemeen te complex om in een gewone SQL omgeving te kunnen doen.

Presentatiewijze gebeurt in vorm van kubussen of meerdimensionale kruistabellen. In de matrix zijn de gegevens zo gegroepeerd en gestructureerd dat directe mogelijkheden tot vergelijking ontstaan. De wijze van structerering in de presentatie vergroot direct het inzicht en de toegankelijkheid vd gegevens.De dimensie geeft het perspectief of de invalshoek van waaruit de materie bekeken wordt.

De meerdimensionale datamatrix is vooral geschikt voor de onderstaande toepassingsmogelijkheden > - financiële analyse en reporting - butgettering - kwaliteitsbeheersing/controle - productvergelijking - strategische analyses - management en besturingsinformatie verwerking

Belangrijk opties voor BI-tool/MDD worden geboden door verder data-analyse zijn > - rotation *** > anders invalshoek/zienswijze > zie figuur 3.25! - ranging > inzoomen - hierarchies - rekentools

functionele toepassingsmogelijkheden BI-tools/MDD -

blz

383

385

maandag 19 oktober 2015 Pagina 39 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

MDD = Multidimensionale Databases -1064 ***141

3.5.2b

ROTATION of DATA-SLICING > hiermee is het mogelijk om informatie vanuit meerdere gezichtpunten te kunnen tonen zonder dat er complexe queries aan ten grondslag liggen. De essentie ligt in de mogelijkheid data vanuit verschillende invalshoeken te bekijken door de "kubus" telkens zodanig te draaien dat de gegevens vanuit de gewenste invalshoek beschouwd kan worden.

Het draaien ve driedimensionale datamatrix biedt 6 mogelijkheden (de 6 zijden vd kubus),zie figuur 3.27 ***!! > 1. specialisme versus pijnbestrijding met locatie op achtergrond 2. pijnbestrijding versus specialisme met locatie op achtergrond 3. locatie versus pijnbestrijding met specialisme op achtergrond 4. pijnbestrijding versus locatie met specialisme op achtergrond 5. locatie versus specialisme met pijnbestrijding op achtergrond 6. specialisme versus locatie met pijnbestrijding op achtergrond

ROTATION of DATA-SLICING > ANDERE ZIENSWIJZE !! Bekijken vanuit een andere hoek ***

rotation of data slicing -

blz

387

maandag 19 oktober 2015 Pagina 40 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

MDD = Multidimensionale Databases -1065 ***142

3.5.2c

RANGING of DATA DICING > hier ontstaat een selectiemogelijkheid van de gewenste cellen per dimensie. Dmv ranging is het als ware mogelijk om op een bepaalde positie van een of meedere dimensies in te zoomen.

RANGING of DATA DICING > beperktere range aangeven…inzoomen op gewenste info

ranging of data-dicing -

blz

388

MDD = Multidimensionale Databases -1066

144

3.5.2d

De informatiebehoefte binnen een dimensie beweegt zich vaak over verschillende hiërarchische niveau's binnen deze dimensie. De feitelijke informatiebehoefte veranderd niet, maar wel het hiërarchische niveau. Soms moet het meer gedetaillieerd zijn en een andere keer weer geaggregeerd.Via ROLL-UP wordt de informatiebehoefte geaggregeerd en via DRILL-DOWN wordt deze gedetaillieerder tot een lage hiërarchisch niveau.

DDD > Drill-Down = geDetaillieerder

hiërarchisch -blz

390

maandag 19 oktober 2015 Pagina 41 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

MDD = Multidimensionale Databases -1067

145

3.5.2e

MDD's bieden ook veel rekentools en bevatten parameters op gebied van begroting, budget e.d.Andere voordelen zijn beschikbaarheid v gereedschappen voor regressie, forcasting en what-if-analyses en de mogelijkheden voor verschillende meetwaarden.YTD > Year to date > cumulatief totaal binnen het lopende jaar tot de huidige periode.MAT > Moving Anual Total > totaal over de laatste 12 maanden.

MDD heeft specifieke eigenschappen > - spreadsheet look-alike (gebruiksvriendelijk) - goede performance bij onsluiting v grote hoeveelheid gegevens - flexibele analyse mogelijkheden met verschillende invalshoeken - heeft ingebouwde hiërarchieën voor verschillende dimensies, bv tijd - biedt uitgebreide rekenmogelijkheden.

NA-VELDEN > NOT AVAILEBLE VELDEN > mogelijkheid om aan te geven welke velden nog actief zijn, dit verbeterd de performance.

rekentools -blz

MDD = Multidimensionale Databases -1068

145

3.5.3a

informatie die is en wordt vastgelegd is beschikbaar voor analysemogelijkheden.OLAP > OnLine Analytical Processing > Componenten ve OLAP omgeving omvat in relationele servers een laadproces dan bestaat uit hybride componenten en een multidimensionale server.RDBMS > bevatten de brongegevens.RAM > Relationele Access Manager > via RAM worden de gegevens bekend gemaakt binnen het MDBMS.

Er zijn 3 architecturen mogelijk voor de implementatie van een OLAP > 1. ROLAP > is een RELATIONELE OLAP > alle gegevens blijven in relationele DB, er worden geen gegevens getransformeerd naar MBBMS. Via RAM SQL-statements wordt de analyse rechtstreeks in de relationele DB uitgevoerd.2. MOLAP > is een MULTIDIMENSIONALE OLAP > de analyseren gegevens worden overgebracht naar het MDBMS en daar worden ook de analyses uitgevoerd.3. HOLAP > is een HYBRIDE OLAP > hier maakt men gebruik van een combinatie van ROLAP en MOLAP. De keuze welke ROLAP, MOLAP of HOLAP wordt bepaald door > - omvang vd gegevens - beheersaspecten vd gegevens - omvang vd totaal benodigde aggregaties (hiërarchieën) - mate van gebruikersdistributie - vereiste beveiligingBij een DWH ligt ook een gegevensmodel aan te grondslag, hier moet rekening worden gehouden met analysedoeleinden, dit kan door denormalisatie en bijbehorende redundantie.

kenmerken informatiestructuurmodel DWH/MDD -

blz

391

maandag 19 oktober 2015 Pagina 42 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

MDD = Multidimensionale Databases -1069

147

3.5.3b

STERSCHEMA - is een relationeel ontwerp waarbij men vanuit een centrale tabel, de zgn feitentabel, verwijzigngen zijn naar een of meerdere tabellen, deze laatste zijn de zgn dimensietabellen.

De feitentabel omvat het onderwerp waarover de gegevens verzameld worden, staat centraal in de "ster" en is gerelateerd aan de verschillende dimensies.

sterschema -blz

392

4Hoofdstuk: SpecificatiemodelHS.1

maandag 19 oktober 2015 Pagina 43 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Specificatiemodel -1070 ***159

4.1

RELATIE > is de tabel en bestaat uit rijen en kolommen (entiteittype).ATTRIBUUT > is het kenmerk of het de eigenschap die van de relatie wordt vastgelegd.INTENSIE > is de definitie vd relatie en wordt weergegeven door een opsomming van de attribuuttypen. *** is de definitie (zoals je het in het informatiemodel opneemt).EXTENSIE > is de populatie vd relatie op een bepaald moment = dus ALLE MOGELIJKE WAARDEN, cq een opsomming ALLE WAARDEN zoals die in op een bepaald moment in de populatie/database voorkomen.ATTRIBUUTWAARDE > betreft een concrete instantie ve attribuut (veldinhoud).TUPEL > record, is de inhoud van een rij uit de relatie.KARDINALITEIT > betreft het aantal rijen.GRAAD > betreft het aantal kolommen.DOMEIN > is de opsomming v toegestane waarden (of formule) voor een bepaalde kolom, cq de definitie ve attribuut. Kenmerken > - één domein kan voor meerdere kolommen gelden. - niet alle voorkomende waarden in een domein hoeven als actuele waarden in een kolom voor te komen. KANDIDAATSLEUTEL > is het attribuut dat of het kleinst mogelijke samenstelling van attributen binnen de relatie, die uniek zijn. Een kandidaat sleutel kan een primaire sleutel worden, maar hoeft het niet te worden.PRIMAIRE SLEUTEL > is de gekozen kandidaatsleutel. Is het attribuut of de kleinste samenstelling v attributen, die een tupel in de relatie uniek maakt. Wordt onderstreept weegegeven.FUNCTIONELE AFHANKELIJKHEID > houdt in dat de primaire sleutel de waarde bepaald vd overige attributen in de relatie. Een attribuut B is funtioneel afhankelik vd attribuut A als bij elke attribuutwaarde A preciés één attribuutwaarde van B hoort.DETERMINANT > is het attribuut waar andere attributen afhankelijk van zijn (valt onder de functionele afhankelijkheid).ENTITEIT-INTEGRITEITSREGEL > bepaald dat elke relatie een uniek primaire sleutel moet hebben, deze moet altijd een waarde bevatten en mag niet leeg zijn.ALTERNATIEVE SLEUTEL > is een mogelijke sleutel van een relatie die naast de primaire sleutel voorkomt.NULL-WAARDE > betekent dat een attribuut voor een bepaalde tupel geen waarde bevat (leeg).VREEMDE SLEUTEL > is een attribuut of combinatie van attributen uit een relatie die in een andere relatie als primaire sleutel gebruikt. Wordt tussen <...> en onderstreept weergegeven als het een onderdeel ve primaire sleutel is. REFERENTIËLE INTEGRITEIT > bewaakt de relatie tussen de primaire en haar vreemde sleutels, deze mag dus ook niet NULL zijn, cq niet leeg zijn.INTEGRITEIT > is de mate waaraan de DB voldoet aan de gestelde regels zodat het een betrouwbare weergave van de werkelijkheid is.REDUNDANTIE > is een vorm van overtolligheid in de DB doordat dezelfde gegevens op meerdere plaatsen worden bijgehouden of doordat de DB afleidbare gegevens bevat.INCONSISTENTIE > is de situatie waarbij het hetzelfde attirbuut op verschillende plaatsen in de DB verschillende waarden hebben. Dit ontstaat vaak ten gevolge van redundantie, de integriteit van de DB is dan aangetast.

begrippen en toepassing relationeel model -

blz

366

maandag 19 oktober 2015 Pagina 44 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Specificatiemodel -1071

163

4.2.2

Eisen die aan een relationeel model worden gesteld > - entiteitsintegriteitsregel - referentiële integriteitsregel - geen 2 rijen zijn identiek - iedere kolom heeft een unieke naam - volgorde vd kolommen en rijen is niet van belang - een gegeven in een kolom moet atomair zijn - domeinregels - afleidingsregels - algemene regels

algemene conventies -

blz

Specificatiemodel -1072 ***164

4.2.3

hebben tot doel de referentiële integriteit te bewaken.OWNER > is de primaire sleutel.MEMBER > is een vreemde sleutel.

Syntax >1. ON UPDATE/DELETE Restricted2. ON UPDATE/DELETE Cascades3. ON UPDATE/DELETE Nulify

ad 1. RESTRICTED (NO ACTION) > is standaard. Een tupel mag niet worden verwijderd of we mogen de primaire sleutel niet wijzigen zolang er nog vreemde sleutels zijn die de waarde vd betreffende primaire sleutel hebben.ad 2. CASCADES > betekent waterval. Is als we een de primaire sleutel wijzigen, de vreemde sleutel die hier ook naar verwijst, ook gewijzigd. Als we een primaire sleutel verwijderen, worden alle tupels/records en de wordt ook de foreign key die naar deze primaire key die hierna verwijzen ook (volledig) verwijderd.ad 3. NULIFY / SET NULL / NULL FILES > hierbij worden alle verwijzigingen in een vreemde sleutel leeggemaakt (NULL).

update & delete regels -

blz

Specificatiemodel - analyse en modellering relationeel model -1073 ***166

4.3.1

Grondlegger ve relationeel model is CODD.NORMALISEREN > is een ongestructureerd model in stappen terugbrengen naar een gestructureerd model. Is een acitivteit die het elimeneren van redundantie tot doel heeft. Op deze manier is het mogelijk een complexe brei aan gegevens systematisch op te splitsen en in seperate tabellen waaruit alle vormen van redundantie geëlimineerd zijn.Elke normalisatiestap levert een resultaat, dit heet een NORMAALVORM. De eerste stap is 1NF, de tweede stap 2NF en de enerlaatste 3e stap 3NF, waarin NF = Normal Form is.De laatste vierde stap noemt men BCNF = Boyce-Codd Normal Form.

1NF > meerwaardige attributen (vector) of samengesteld meerwaardige attributen (**repeating group**) zijn niet toegestaan.*** 1R2NF > Indien er sprake is van een samengestelde primaire sleutel, mag geen enkel attribuut afhankelijk zijn ve deel vd sleutel in plaats vd gehele sleutel. Transitieve afhankelijkheden zijn niet toegestaan. 2S3NF > Alle attributen moeten volledig afhankelijk zijn vd sleutel en mogen niet functioneel afhankelijk zijn ve ander attribuut uit de relatie. Maw **transitieve** afhankelijkheden zijn niet toegestaan.*** 3TBCBF > het aantal kandidaatsleutels is gelijk aan het aantal determinanten.***

normaliseren -blz

maandag 19 oktober 2015 Pagina 45 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Specificatiemodel - analyse en modellering relationeel model - normaliseren -1074

168

4.3.2

De stappen om tot 1NF te komen is als volgt > 1. inventariseer en benoem de elementaire gegevens2. verwijder de procesgegevens (afleidbare gegevens)3. verwijder herhalende groepen 3.1 geef de sleutel aan 3.2 geef herhalende deelverzamelingen aan 3.3 maak een tabel van iedere herhalende deelverzameling 3.4 geef de sleutel aan van iedere tabel

eerste normaalvorm - 1NF -

blz

Specificatiemodel - analyse en modellering relationeel model - normaliseren -1075

169

4.3.3

De te volgen stappen zijn hier > 1. geef per tabel de niet-sleutel attributen aan, die niet afhankelijk zijn vd gehele primaire sleutel.2. maak een aparte tabel aan voor ieder deel van de sleutel, waarvan niet sleutelattributen afhankelijk zijn.3. neem in iedere tabel op: - het betreffende sleuteldeel - de van dit sleuteldeel afhankelijke attributen4. verwijder de laatstgenoemde attributen uit de oorspronkelijke tabel

tweede normaal vorm - 2NF -

blz

Specificatiemodel - analyse en modellering relationeel model - normaliseren -1076

170

4.3.4

De te volgen stappen zijn hier > 1. geef aan welke atrributen functioneel afhankelijk zijn van andere attributen2. maak een tabel voor elk attribuut, waarvan andere attributen functioneel afhankelijk zijn3. de sleutel van zo'n tabel wordt het attribuut, waarvan de andere attributen afhankelijk zijn.4. de afhankelijke attributen worden de overige attributen vd betreffende tabel.5. verwijder de afhankelijke attributen uit de oorspronkelijke tabel.

In het BACHMAN DIAGRAM krijgt iedere tabel een rechthoek met de naam van de tabel erin. Iedere vreemde sleutel wordt weergegeven door een pijl die begint bij de rechthoek van de tabel waar de vreemde sleutel oorspronkelijk instaat en wijst naar de rechthoek met de tabel waarin deze vreemde sleutel als vreemde sleutel is opgenomen. Bijv. in figuur 4.4 in de tabel "Ziekenhuis" is de sleutel het veld "Locatienr" en in tabel "Verpleegkundige" wordt het veld "Locatienr" uit "Ziekenhuis" als vreemde sleutel opgenomen.De namen van de velden zie je in dit diagram niet terug. Alleen de tabellen en de onderlinge relaties van hun vreemde sleutels in deze tabellen.

derde normaalvorm - 3NF -

blz

395

maandag 19 oktober 2015 Pagina 46 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Specificatiemodel -1077

172

4.3.5

regels > - elk entiteittype uit het ERD is een relatie in het relationele model - elk attribuuttype uit het ERD is een attribuut in de relatie - elke N:M relatie uit het ERD is een relatie in het relationele model en er geldt dat bij een 1:N of N:1 relatie uit het ERD wordt een vreemde sleutel toegevoegd aan de relatie.

transformatie vh informatiemodel naar het rationele model -

blz

396

369

maandag 19 oktober 2015 Pagina 47 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

Specificatiemodel -1078

177

4.4

is gebaseerd op het principe van triggers

EVENT TRIGGERED RULES > als zich een bepaalde situatie voordoet (event), zal als dat aan een bepaalde voorwaarde voldoet (conditie) een bepaalde actie (proces) worden uitgevoerd.

ON eventIF conditieTHEN proces

De volgende syntax geldt > - ON event > - pre/post change attribute - pre/post update/insert/delete tupel/query/commit - menu option - IF conditie > - statusvalidatie - vergelijking - THEN proces > - waardetoekenning variabele - procedure/proces/query/commit - controle

LET OP > bij On event > CHANGE wordt hier alleen gebruikt bij wijziging van een single attribuut en update bij een wijzigen vh hele record.Bij PRE/POST > hiermee wordt aangegeven of het net na of net voor een bewerking moet gebeuren > - vlak NA > een update, delete of insert van een heel record (tupel) > aanduiden met POST-UPDATE, POST-DELETE, POST-INSERT - vlak VOOR > een update, delete of insert van een heel record (tupel) > aanduiden met PRE-UPDATE, PRE-DELETE, PRE-INSERT - vlak NA of vlak VOOR een verandering van een attribuut > aanduiden met POST-CHANGE, PRE-CHANGE

modellering gedrag -blz

5Hoofdstuk: SQL-Structured Query LanguageHS.1

maandag 19 oktober 2015 Pagina 48 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

SQL - Structures Query Language -1079

190

5.1

DDL > Definieren (---------> Dcm)DCL > Controleren (---------> dCm)DML > Manipuleren (---------> dcM)

DATABASE > is een door een DBMS beheerder geintegreerde verzameling v gegevens, waarbij de structuur vd gegevens aan een aantal specifieke eisen voldoen.TABEL > een verzameling v gelijksoortige rijen van gegevens.VIEW > is een virtuele tabel die de uitkomst laat zien ve select opdracht.DOMAIN > is de verzameling toegestane waarden voor een bepaald gegeven.SCHEMA DEFINITION > beschrijving vd structuur en onderlinge samenhang vd binnen de DB gebruikte tabellen. Schema vormt een logische beschrijving en de DB is de fysieke verschijning.TABLE DEFINITION > een beschrijving vd samenstelling v kolommen ve bepaalde tabel uit het relationele schema. Wordt gemaakt met de opdracht CREATE TABLE.TABLE CONSTRAINT DEFINITION > is de definitie vd voor de gecreëerde tabel en kolommen geldende specifieke eisen.COLUMN DEFINITION > de vastlegging vd specifieke eisen waaraan de gegevens in een bepaalde kolom moeten voldoen.VIEW DEFINITION > is de beschrijving ve bepaalde view, wordt gemaakt met de opdracht CREATE VIEW.HOST LANGUAGE > is een programmeertaal waarmee het mogelijk is door specifieke toegevoegde taalelementen de DB te kunnen benaderen vanuit deze programmeertaal.QUERY LANGUAGE > is een taal waarmee het direct mogelijk is toegang tot de DB te krijgen.

kolom: een attribuut in z'n domeinrij: een tupel of recordobject / tabel: een relatie of entiteitselectie: deel van de inhoud van de tabel

begrippen -blz

maandag 19 oktober 2015 Pagina 49 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

SQL - Structures Query Language -1080

191

5.1.2a

DDL > Definieren (---------> Dcm)DCL > Controleren (---------> dCm)DML > Manipuleren (---------> dcM)

DDL = DATA DEFENITION LANGUAGE > deze worden gebruikt bij het aanmaken van een DB, is op beheerdersniveau. Het gaat hier om structureren. De basiscommando's zijn: - CREATE (maken)- DROP (verwijderen)- ALTER (wijzigen)

DCL = DATA CONTROL LANGUAGE > hiermee kunnen we de rechten van gebruikers en gebruikersgroepen aanpassen, toekennen en afnemen, is op beheerniveau. Het gaat hier om rechten. De basiscommando's zijn: - GRANT (toestemming geven)- REVOKE (intrekken)Hierbij kun je voor de negatieve benadering kiezen, dat is eerst alles intrekken en dan toekennen wat mag.

DML = DATA MANIPULATION LANGUAGE > hiermee kun je gegevens uit de DB opvragen, toevoegen, wijzigen en verwijderen, voor beheerder en gebruiker en gebeurt op record/tupel niveau. Het gaat hier om de inhoud, de gegevens. De basiscommando's/opdrachten zijn: - SELECT (keuze maken)- INSERT (invoegen)- UPDATE (bijwerken/wijzigen)- DELETE (verwijderen)

Kunnen met de volgende clausules gebruikt worden: - SELECT (selecteer)- SELECT * (selecteer alle attributen)- FROM (van de DB) - WHERE (waarvoor geldt, bij rijen)- AND (en)- OR (of)- NOT (niet)- DISTINCT (uniek)- GROUP BY (groeperen per attribuut) - HAVING: gebruik je bij een aggregatie met voorwaarden, bijvoorbeeld "geef het aantal onderwerpen per module waarbij het aantal onderwerpen minimaal 4 bedraagt: SELECT code, count(*) FROM onderwerp GROUP BY code HAVING count(*) >= 4;- INSERT INTO (invoegen in)- VALUES (waardes,in combinatie met INSERT INTO)- DELETE FROM (verwijder van)- UPDATE (wijzig)- SET (in combinatie met Update)

kolom: een attribuut in z'n domeinrij: een tupel of recordobject / tabel: een relatie of entiteitselectie: deel van de inhoud van de tabel

blz

maandag 19 oktober 2015 Pagina 50 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

SQL - Structures Query Language - DDL -1081

191

5.1.2b

Gegevenstypen/domeinen (standaarddomeinen, in de praktijk zijn er veel meer) zijn:- INTEGER: gehele getallen- SMALLINT: kleine gehele getallen- DATE: datum (jaar-maand-dag)- TIME: tijd (hh:mm:ss)- CHAR(n): string met vaste lengte n en moet de totale lengte bij ieder veld gevuld zijn.- VARCHAR(n): string met variable lengte, met max lengte n, hele veld hoeft niet gevuld te zijn.

Het commando om een tabel te maken ziet er als volgt uit: CREATE TABLE tabelnaam ( kolomnaam1 domein1 [NOT NULL], [kolomnaam2 domein2 [NOT NULL],] [kolomnaam3 domein3 [NOT NULL],] [kolomnaam4 domein4 [NOT NULL],] [primaire sleutel,] [vreemde sleutel], )tussen [….] is optioneel.Er moet altijd minimaal 1 kolomnaam in een nieuwe tabel worden aangemaakt.

Een primaire sleutel moet altijd een waarde hebben en dit veld moet dus altijd met de optie NOT NULL worden aangemaakt.

Een primaire sleutel wordt als volgt gedefinieert, moet altijd direct na de attributen/velden worden geplaatst én mag maar één keer voorkomen:

PRIMAIRY KEY (kolomnaamX [, kolomnaamY]…)

In dit geval zou het veld met naam: kolomnaamX ook met NOT NULL moeten zijn aangemaakt bij de velden.Als er gebruik wordt gemaakt van een vreemde sleutel moet die ook toegewezen worden, dit gebeurd na de toewijzen van de primairy key, als volgt:

FOREIGN KEY (kolomnaamX [, kolomnaamY]…) REFERENCES tabelnaam

De tabelnaam is de naam vd tabel waar uit de foreign key komt. De naam van de foreign key hoeft niet gelijk te zijn aan de naam die die heeft in de tabel van waar hij uit komt.Door het definiëren ve vreemde sleutel implementeren we de referentiële integriteitsregels.Indien met vreemde sleutels gewerkt wordt, moet natuurlijk eerst de tabel aangemaakt zijn waar de vreemde sleutel uit komt, voordat je de tabel met de koppeling naar die vreemde sleutel aanmaakt. Men kan niets koppelen als het nog niet bestaat.

Hier een voorbeeld met een samengestelde vreemde sleutel: CREATE TABLE exameneis ( code VARCHAR(6) NOT NULL, CHECK (CODE IN 'a', 'b', 'c') naam VARCHAR (50) UNIQUE, eisnr SMALLINT NOT NULL, eisomschrijving VARCHAR(50), ISBN CHAR(20), PRIMAIRY KEY (code, nummer, eisnr), FOREIGN KEY (code, nummer) REFERENCES onderwerp, FOREIGN KEY (ISBN) REFERENCES Literatuur ON UPDATE CASCADES ON DELETE NULLIFYING)

CHECK > De toevoeging CHECK zorgt ervoor dat alleen de waarden tussen de haakjes mogen worden gebruikt.UNIQUE > deze toevoeging wordt gebruikt bij een alternatieve sleutel waarbij de waarde

DDL-statements - tabellen maken -

blz

maandag 19 oktober 2015 Pagina 51 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

uniek moet blijven.

397

SQL - Structures Query Language - DDL -1082

195

5.1.2c

Dat kan met het commando:

DROP TABLE tabelnaam

Hiermee wordt de tabel volledig inclusief inhoud, definitief verwijderd. De volgorde van verwijderen is van belang als er vreemde sleutels in de tabel zitten.

tabellen verwijderen -blz

SQL - Structures Query Language - DDL -1083

195

5.1.2d

Kan met het commando: ALTER TABLE tabelnaamdaarna komt de regel waarin we de verandering aangeven, bv:

ALTER TABLE module RENAME tijd examentijdHiermee veranderen we bv de kolomnaam tijd naar examentijd.

ALTER TABLE tabelnaam ADD kolomnaam gegevenstypeHiermee voegen we een kolom toe aan de tabel

ALTER TABLE tabelnaam MODIFY kolomnaam gegeventypeHiermee veranderen we een kolom binnen de tabel.

tabellen wijzigen -blz

maandag 19 oktober 2015 Pagina 52 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

SQL - Structures Query Language - DDL -1084

195

5.1.2e

Nadat een DB is gemaakt, is het vaak gewenst om indexen aan de DB toe te voegen, dit verbetert de performance. Door toepassen ve index hoeven niet alle rijen doorlopen worden aan de hand ve waarde voor een kolom. Keuze is oplopen of aflopend.Bv

CREATE [UNIQUE] INDEX indexnaam ON tabelnaam(kolomnaam_1 [ASC | DESC])

UNIQUE zorgt ervoor dat er geen dubbele waarde in de index komen.Het DBMS bepaald zelf wanneer er gebruik wordt gemaakt vd index.

index -blz

SQL - Structures Query Language - DDL -1085

196

5.1.2f

BASE-TABLE > is een table die met CREATE is aangemaakt.VIEW > is een virtuele tabel welke is samengesteld uit zogenaamde base-tables met als doel de gebruiker informatie te verschaffen uit een subset vd database.

Opdracht om een view te maken wordt: CREATE VIEW naamview [kolomnaam1, kolomnaam2] AS (SELECT * FROM tabelnaam WHERE vergelijking)

Opdracht om een view te verwijderen wordt: DROP VIEW naamview

view -blz

maandag 19 oktober 2015 Pagina 53 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

SQL - Structures Query Language - DCL -1086

197

5.1.3

DCL = DATA CONTROL LANGUAGE > hiermee kunnen we de rechten van gebruikers en gebruikersgroepen aanpassen, toekennen en afnemen, is op beheerniveau. Het gaat hier om rechten. De basiscommando's zijn: - GRANT (toestemming geven)- REVOKE (intrekken)Hierbij kun je voor de negatieve benadering kiezen, dat is eerst alles intrekken en dan toekennen wat mag. De autorisatie wordt ook al in de praktijk vaak afgedwongen door de applicatie/programma dat van de database gebruik maakt.We kunnen de autorisatie per gebruikers groep of per gebruiker bepalen, voor iedereen te gelijk doet men dat met (PUBLIC).

AUTORISEREN toestaan doen we met de opdracht: GRANT wat1 [,wat2]….ON tabel1 [, tabel2]…. TO wie1 [, wie2]…. Een voorbeeld van iederen laten selecteren en wijzigen is dus: GRANT SELECT, UPDATE ON tabel1 TO PUBLIC

AUTORISEREN intrekken doen we met de opdracht: REVOKE wat1 [,wat2]….ON tabel1 [, tabel2]…. FROM wie1 [, wie2]…. Een voorbeeld van iederen laten intrekken is dus: REVOKE SELECT, UPDATE ON tabel1 FROM PUBLIC

Sequentie bij autorisatie:- negatieve benadering > eerst alles revoken en daarna onderdelen toestaan (voorkeur).- positieve benadering > eerst alles toestaan en wat niet mag daarna revoken.Bij autorisatie, met name als je GRANT en REVOKE opdrachten door elkaar gebruikt is de volgorde van de commando's van cruciaal belang. Het DBMS voert de opdrachten in volgorde na elkaar uit, en als de volgorde niet juist is, kan het zijn dat bepaalde opdrachten door vervolgopdrachten weer teniet gedaan worden.

OPDRACHTEN: - GRANT (toekennen) - REVOKE (afnemen)

CLAUSULES (rechten die je kunt toekennen of afnemen): - SELECT (select opdracht uitvoeren) - UPDATE (aanpassen tupel/gebruiker mag kolommen en rijen aanpassen en kolommen definieren) - INSERT (invoegen tupel op tabel/men mag rijen toevoegen) - DELETE (verwijderen tupel/gebruiker mag rijen cq tupels cq records verwijderen) - ALTER (wijzigen tabel/structuur wijzigen, kolommen toevoegen, hernoemen en vewijderen) - ALL (alle rechten) * ON (op de tabel..) * TO (aan de persoon...bij GRANT) * FROM (van de persoon .. bij REVOKE)

PUBLIC: algemeen aan iedereen rechten tegelijk toekennen kan met PUBLIC.

GRANT {SELECT | INSERT | DELETE | UPDATE [kolomnaam] ? | INDEX | ALTER | ALL } ON tabelnaam TO {PUBLIC | gebruikernaam ? }

REVOKE {SELECT | INSERT | DELETE | UPDATE | INDEX | ALTER | ALL } ON tabelnaam FROM {PUBLIC | gebruikernaam ? }.

DCL = data Control language -

blz

maandag 19 oktober 2015 Pagina 54 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

SQL - Structures Query Language - DML -1087

198

5.2a

DML = DATA MANIPULATION LANGUAGE > hiermee kun je gegevens uit de DB opvragen, toevoegen, wijzigen en verwijderen, voor beheerder en gebruiker en gebeurt op record/tupel niveau. Het gaat hier om de inhoud, de gegevens. Een van de basiscommando's is:- SELECT (keuze maken) / opvragen gegevens uit de DB

enkele voorbeelden van het gebruik van select: SELECT kololmnaam1 [, kolomnaam2]….. FROM tabelnaam [WHERE] vrw1 [AND/OR] vrw2] SELECT * FROM tabelnaam SELECT DISTINCT kololmnaam1 FROM tabelnaam

DISTINCT > zorgt ervoor dat de DB alleen maar rijen vertoont waarvan de inhoud nog niet is weergeven. Een rij moet volledig gelijk zijn aan een andere rij voordat deze wordt overgeslagen.

Clausules / voorwaarden toevoegen doen we als volgt: SELECT kololmnaam1 [, kolomnaam2]….. FROM tabelnaam WHERE (voorwaarde1 AND voorwaarde2)of: SELECT kololmnaam1 [, kolomnaam2]….. FROM tabelnaam WHERE (voorwaarde1 OR voorwaarde2)

bij de WHERE-clausule vergelijken we in de voorwaarden met OPERATORS, hiervan kennen we de volgende soorten: > groter dan < kleiner dan = gelijk aan >= groter dan of gelijk aan <= kleiner dan of gelijk aan <> ongelijk aan AND / OR / NOT > boolean-operatoren BETWEEN-operator IN alle waarden die in een lijst genoemd wordt. NOT IN niet in subquery met [NOT] IN: gebruik je bijvoorbeeld bij de vraag :geef een overzicht van alle docenten die geen modules onderwijzen. Dit kun je niet in één query defineeren, dus moet je subquery maken: SELECT naam FROM docent WHERE nummer NOT IN (SELECT nummer FROM docentmodule); LIKE bv "Er%" is alles weergeven dat begint met "Er" % is een wildcard voor een of meerdere tekens NULL - operator

Technisch gezien opent het systeem de tabellen achter FROM, dan wordt er rij voor rij gekeken of deze aan de voorwaarden van de WHERE clausule voldoen, als dat zo is worden ze getoond en anders niet. Voor de duidelijkheid mag men ronde haken plaatsen

We kunnen met select ook gegevens uit meerdere tabellen tegelijk opvragen. Deze tabellen kunnen we ook een alias geven (bijnaam voor het gemak), dat doe je door achter de tabelnaam minimaal één spatie te zetten en dan de aliasnaam op te geven. Bijv: SELECT t1.veldtb1, t1.veldtb2, t2.veldtb1, t2.veldtb2 FROM tabel1 t1 tabel2 t2 WHERE t1.veldtb1 = t2.veldtb2 AND t2.veldtb1 = t1.veldtb2

Eerst wordt bij where gekeken of een record meetelt en daarna wordt gekeken welke velden er in het resultaat moeten staan.

SELECT {[tabelnaam.]* | {[tabelnaam.]kolomnaam1 | [,functie1]|berekening} [[tabelnaam.]kolomnaam2 | [,functie2]|berekening]?} FROM tabelnaam1 [alias] [, tabelnaam2 [alias]}?

SELECT -blz

maandag 19 oktober 2015 Pagina 55 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

[WHERE-clausule] [GROUP BY [tabelnaam.]kolomnaam1 [, [tabelnaam2 ] ] ] [HAVING functievoorwaarde1 [{AND|OR} functievoorwaarde2 ] ] ] [WHERE voorwaarde1 [ {AND | OR} voorwaarde2 ] ?]

Voorwaarde{{constante | berekening | [tabelnaam.]kolomnaam} {=|>|<|>=|<=|<>} {{constante | berekening | [tabelnaam.]kolomnaam|(subquery1)} |[tabelnaam.]kolomnaam {IS [NOT] NULL | [NOT] IN (subquery2) | [NOT] EXISTS subquery3) }

functievoorwaarde{functie | constante } {=|>|<|>=|<=|<>} {functie | constante }

SQL - Structures Query Language - DML -1088

201

5.2b

In een JOIN zijn betrokken tabellen op een zodanige manier samen gevoegd dat de gegevens met elkaar verband houden en de niet relevante rijen zijn weggelaten. Het gaat dus om een koppeling tussen twee tabellen aan de hand van een primaire en vreemde sleutel.Voor een JOIN is van belang dat > - bij de SELECT en/of de FROM worden de betrokken tabellen en kolommen genoemd. - bij de WHERE wordt de koppeling gelegd door de sleuteld te vergelijken. - tabelnaam en kolomnaam moeten als volgt benoemd worden en gescheiden worden door een punt > tabelnaam.kolomnaam

We kunnen met select ook gegevens uit meerdere tabellen tegelijk opvragen. Deze tabellen kunnen we ook een alias geven (bijnaam voor het gemak), dat doe je door achter de tabelnaam minimaal één spatie te zetten en dan de aliasnaam op te geven. Bijv: SELECT t1.veldtb1, t1.veldtb2, t2.veldtb1, t2.veldtb2 FROM tabel1 t1 tabel2 t2 WHERE t1.veldtb1 = t2.veldtb2 AND t2.veldtb1 = t1.veldtb2

JOIN en ALIAS -blz

maandag 19 oktober 2015 Pagina 56 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

SQL - Structures Query Language - DML -1089

202

5.2c

Als we een query willen maken die iets zegt over de verzameling. Worden gebruikt bij het SELECT commando.AGGREGATIES zijn:- SUM > optellen/totaaltelling > werkt alleen bij numeriek velden- AVG > gemiddelde weergeven > werkt alleen bij numeriek velden- MAX > hoogste waarde weergeven > werkt alleen bij numeriek velden- MIN > laagste waarde weergeven > werkt alleen bij numeriek velden- COUNT > aantal records die voldoen tellen > deze kan altijd gebruikt worden (enige) kan als COUNT(*) of als COUNT(kolomnaam) gebruikt worden.

GROUP BYAls we, bij gebruik van aggregaties de geselecteerde gegevens willen groeperen moeten we dit aangeven, dat kan bijvoorbeeld als volgt: SELECT veld1, AVG(veld2) FROM tabel1 GROUP BY veld1

Stelregel is dat niet alle geaggregeerde velden verplicht in een GROUP BY voorkomen. Als we het aantal records willen tellen doen we dat als volgt: SELECT COUNT(*) FROM tabel1of als het gebruikt moet worden met group by….. SELECT COUNT(*) FROM tabel1 GROUP BY veld3 >> er wordt hier gegroepeerd op veld3 en aangegeven hoeveel records hier tot diezelfde groep horen.

GROUP BY …. HAVINGBij GROUP BY kunnen we ook HAVING gebruiken en een voorwaarde stellen wat er gegroepeerd moet worden. Bijv: SELECT veld1, COUNT(*) FROM tabel1 GROUP BY veld1 HAVING count(*)>=4 >> Hier worden alleen het aantal records per groep weergegeven als dat aantal groter of gelijk is aan 4.

Bij GROUP BY gebruiken we altijd de clausule HAVING voor de voorwaarde in de query en niet de clusule WHERE.

aggregatie en GROUP BY -

blz

maandag 19 oktober 2015 Pagina 57 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

SQL - Structures Query Language - DML -1090

205

5.2d

In een query kun je ook nog een of meerdere subqueries zetten. De subquery wordt als eerste uitgevoerd. De sub-query komt vaak voor als we een vraag stellen met een ontkenning ve primaire-vreemde sleutel relatie. Sub-queries bouwen we in twee fasen. We maken eerste de subquery en daarna de hoofdquery.Bijvoorbeeld: SELECT veld1 [, veld2]….. FROM tabel1 WHERE veld1 NOT IN (SELECT veld3 FROM tabel2)met een subquery maken we een tijdelijke tabel aan met de gewenste resultaten, de query haalt dan weer zijn resultaten uit die tijdelijke tabel. Bij WHERE……IN….. Moeten ze wel in de tijdelijke tabel staan en bij WHERE…..NOT IN…… niet.Echter als we in een subquery het gelijk aan (=) teken gebruiken mag het resultaat van die query maar een record opleveren.

Binnen een subquery mag geen ORDER BY gebruikt worden.Een selectcomponent van een subquery mag maar één kolomexpressie bevatten, waarbij het datatype moet overeenkomen met datatype vd voorwaarde vd query.De uitkomst ve subquery is bepalend voor het gebruik v operatoren, als > - de uitkomst vd query een tabel is, kan [NOT] IN gebruikt worden. - de uitkomst één numerieke waarde is, kunnen vergelijkings-operatoren worden gebruikt. - niet de uitkomst maar het resultaat van belang is, kan {NOT} EXISTS worden gebruikt.

Voordeel ve subquery ipv een JOIN, is dat er bij de suquery minder rijen vergeleken hoeven te worden. Nadeel, alleen kolommen vd buitenste query kunnen in de uitvoer worden opgenomen.

subqueries -blz

maandag 19 oktober 2015 Pagina 58 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

SQL - Structures Query Language - DML -1091

207

5.2e

EXISTS > is een logische operator die de waarden "waar" of "niet waar" kan aannemen welke wordt gebaseerd op de aanwezigheid van uitvoer bij een subquery. Als de subquery een of meer rijen opleverd is EXISTS waar en worden gegevens uit de hoofdquery getoond.Wordt meestal gebruikt om te bepalen of er voor een bepaald object een bepaalde eigenschap voorkomt of niet.Is alleen zinvol in gebruik met gecorreleerde subquery's.Wordt vaak gebruikt in combinatie met de operator NOT.Het is toegestaan een * als asterisk te gebruiken als de enige taak is het kijken of er wel of geen uitvoer is en niet van belang is welke.Het is niet toegestaan in een subuery achter de EXISTS een verzamelfunctie te gebruiken.Bv: SELECT DISCTINCT levplaats FROM zorgaanbieder buiten WHERE EXISTS (SELECT * FROM zorgaanbieder binnen WHERE binnen.levplaats = buiten.levplaats AND binnen.levnr <> buiten.levnr)Deze toont de plaatsen met meerder zorgaanbieders.

Bij een GECORRELEERDE SUBQUERY wordt in de subquery verwezen naar een kolom uit de buitenste query. Deze kan dan dus niet uitgevoerd worden, echter dan wordt eerst de eerste regel uit de buitenste qeury verwerkt, deze wordt meegenomen naar de subquery en dan daar uitgevoerd. Daarna wordt de output vd subquery weer in de buitenste query geëvalueerd, dit wordt voor alle records herhaald.MAW Per regel vd hoofdquery wordt de subquery uitgevoerd en daardoor kan per regel een verschillend resultaat ontstaan. Bv: SELECT * FROM zorgaanbieder WHERE 10-10-99 IN (SELECT adatum FROM afname WHERE zorgaanbieder.levnr = afname.levnr)Deze query geeft een overzicht van alle zorgaanbieders waarbij op 10-10-99 iets besteld is.

De gecorrelleerde subquery DIENT ALTIJD te worden gebruikt in situaties waarbij sprake is van vergelijkingen tussen objecten (verzamelingen) waarbij voor de vraagstelling geldt > - net zoveel / evenveel; - meer dan; - minstens. Deze zijn namelijk alleen op te lossen mbv een gecorreleerde subquery en deze heeft altijd het volgende formaat > SELECT …… WHERE NOT EXISTS ……. (SELECT …….. WHERE NOT IN ………….. (SELECT…………………………………..))

EXISTS en gecorreleerde subqueries -

blz

maandag 19 oktober 2015 Pagina 59 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

SQL - Structures Query Language - DML -1092

209

5.2f

Bij GROEPS-GROEPS VERGELIJKINGEN worden verschillende verzamelingen met elkaar vergeleken op overeenkomsten.De bovenste subquery dient dan altijd de deelverzameling of groep vd beschouwde verzameling te bevatten (verzameling met de eigenschappen waarvan moet gelden dat ze allemaal moeten voorkomen als de eigenschap in de groep vd onderste subquery).De onderste subquery dient altijd de beschouwde verzamling of groep te bevatten.De plek vd correlatie kan zowel de bovenste als de onderste query zijn. Dit is afhankelijk van de waarde die dienst te variëren per uitkomst.Bv: SELECT * FROM tentamen WHERE NOT EXISTS (SELECT * FROM resultaat WHERE datum = "13 mei 2006" AND vakcode = "A13" AND cusistnr NOT IN (SELECT cursistnr FROM resultaat WHERE tentamen.datum = resultaat.datum AND tentamen.vakcode = resultaat.vakcode))

Een nadere beschouwing leer hier dat de deelverzameling na de NOT EXISTS volgt en de hoofdverzamleing na de NOT IN. De correlatie is opgenomen in de onderste subquery.De uitkomst is de verzameling cursisten die hebben deelgenomen aan het tentamen A13 van 13 mei 2006.

groeps-groeps vergelijkingen -

blz

SQL - Structures Query Language - DML -1093

211

5.2.3a

DML = DATA MANIPULATION LANGUAGE > hiermee kun je gegevens uit de DB opvragen, toevoegen, wijzigen en verwijderen, voor beheerder en gebruiker en gebeurt op record/tupel niveau. Het gaat hier om de inhoud, de gegevens. De basiscommando's zijn: - INSERT (invoegen)/ toevoegen gegevens in de DB

Toevoegen van rijen doen we met > INSERT INTO tabelnaam (kolom(men)) VALUES (waarden)

Als we alle kolommen willen vullen is het niet nodig om de kolommen allemaal te benoemen, de tabelnaam is voldoende met de opgave van de waarden. BV: INSERT INTO tabel VALUES ("tekst1", 10, "Tekst2")

Er komt met het commando insert altijd een nieuwe rij/nieuw record in de DB. INSERT INTO tabelnaam [ (kolomnaam1 [.kolomnaam2]) ] {VALUES (waarde1 [,waarde2]..) | query }

INSERT TO -blz

SQL - Structures Query Language - DML -1095

212

5.2.3b

DML = DATA MANIPULATION LANGUAGE > hiermee kun je gegevens uit de DB opvragen, toevoegen, wijzigen en verwijderen, voor beheerder en gebruiker en gebeurt op record/tupel niveau. Het gaat hier om de inhoud, de gegevens. Een van de basiscommando's is:- DELETE (verwijderen)

Met het commando DELETE verwijderen we records/rijen uit de tabel. Dit gaat als volgt: DELETE FROM tabel

Deze opdracht verwijdert alle rijen die er zijn.Als we maar een aantal rijen willen verwijderen die aan een bepaalde voorwaarde voldoen kan dit weer met WHERE, bv: DELETE FROM tabel WHERE veld1=X

DELETE FROM tabelnaam [WHERE-clausule]

DELETE -blz

maandag 19 oktober 2015 Pagina 60 van 61

trefwoord trefwrd onderverdeling omschrijvingvrg:

SQL - Structures Query Language - DML -1095

211

5.2.3c

DML = DATA MANIPULATION LANGUAGE > hiermee kun je gegevens uit de DB opvragen, toevoegen, wijzigen en verwijderen, voor beheerder en gebruiker en gebeurt op record/tupel niveau. Het gaat hier om de inhoud, de gegevens. Een van de basiscommando's is:- UPDATE (bijwerken)Met het commando UPDATE kunnen we gegevens bijwerken in de tabel. Dit gaat als volgt: UPDATE tabel SET veld1 = waarde

Ook hier kunnen we weer voorwaarden toevoegen met WHERE, bv: UPDATE tabel SET veld1 = waarde1 WHERE veld2=waarde2

UPDATE -blz

9Hoofdstuk: Overige InfoHS.1

Diversen -1096 ***999

9

- Kan een samengesteld attribiittype multivalued zijn ? JA- Kan een multivalued attribiittype samengesteld zijn ? JA- Een hele rij is een tupel (record)- examen > 21C en 29E

INFORMATIE > de kennis die dmv informatiesystemen overgedragen wordt.GEGEVENS > de weergave van die kennis.

blz

389

maandag 19 oktober 2015 Pagina 61 van 61