Ontwerp van data warehouses: opslag van data en integratie van constraints

Maat: px
Weergave met pagina beginnen:

Download "Ontwerp van data warehouses: opslag van data en integratie van constraints"

Transcriptie

1 Ontwerp van data warehouses: opslag van data en integratie van constraints Ferry Kemperman Huissen / Nijmegen Februari December 2000 Afstudeerscriptie nr. 475 Bedrijfsgerichte Informatica Faculteit der Natuurwetenschappen, Wiskunde en Informatica Katholieke Universiteit Nijmegen 1

2 2

3 VOORWOORD CONTEXTBEPALING WAT IS EEN DATA WAREHOUSE EN WAT KUN JE ER MEE DOEN? DE DATA WAREHOUSE ARCHITECTUUR De operationele systemen De extractietools: Wrapper en Monitor De Integrator De data warehouse gezien als database De metadata De data mart De multidimensionale database De Molap/Rolap server De front end tools of OLAP tools PROBLEMATIEK OMTRENT DE OPSLAG VAN DATA EN INTEGRATIE VAN CONSTRAINTS Iets over data opslag in data warehouses CONSTRAINTS IN EEN DATA WAREHOUSE, EEN VERKENNING VIA PSM KORTE INTRODUCTIE VAN HET DIMENSIONALE MODEL Een case uitwerking Introductie van de case De case wordt in het dimensionale model gegoten Case invulling van het geschetste model van Down Under CONSTRAINTS IN HET DIMENSIONALE MODEL, EEN BENADERING VIA HET RELATIONELE MODEL Introductie van PSM Populaties in PSM Universe of instances gedefinieerd Populaties gedefinieerd Constraints in PSM Relationele algebra Schema gedefinieerd Val gedefinieerd Meer relationele operaties Constraints onder de loep Total role constraint Uniqueness constraint Uniqueness constraint applied to one facttype Uniqueness constraint applied to more facttypes Uniqueness constraint applied to objectification Occurrence frequency constraint Set constraints Enumeration constraint Power type constraints Specialisation constraints Subtype defining rules Schema type constraints Constraint definities HET DIMENSIONALE MODEL UITGEDIEPT EEN VERDERE VERKENNING VAN CONSTRAINTS IN HET DIMENSIONALE MODEL FUNCTIES VAN DE CONSTRAINTS IN HET DIMENSIONALE MODEL EEN VERKENNING VAN DE CONSTRAINTS IN DE DATA CUBE VIA EEN VOORBEELD De data cube geanalyseerd Perspectieven van dimensies: de rotate-functie Aggregatie van data: Drill Up/Down en Roll Up Begrippenkader De presentatie van gegevens in data cube jargon Enkelvoudige cel Tweedimensionale slice Multidimensionale sub cube DE CASE DOWN UNDER IN HET DATA CUB E CONCEPT De intra-cube constraints De inter-cube constraints

4 3.5 CONSTRAINTS BENADERD VANUIT HET DIMENSIONALE MODEL VIA STAR JOIN SCHEMA VOORBEELD VAN HET GEBRUIK VAN DE JOIN EN APPLICATION CONSTRAINT De dimensie geografische ligging en de application constraint SQL en de join constraint RELATIONEEL EN DIMENSIONAAL: EEN VERGELIJKEND ONDERZOEK MET BETREKKING TOT CONSTRAINTS EN MEER INTRODUCTIE VAN NESTED DATA CUBES NESTED DATA CUBES OPGEBOUWD NESTED DATA CUBES: EEN EERSTE VERKENNING VIA DOWN UNDER KLASSIEKE DATASTRUCTUREN IN NDC NDC ALGEBRA De bagify operator De extend operator De nest operator De unnest operator De duplicate operator De select operator De rename operator De aggregate operator MODELLERING VAN RELATIONELE OPERATOREN IN HET NDC MODEL NDC ALGEBRA TOEPASBAAR OP ELKE DIEPTE IN EEN NDC EEN INFORMELE MAPPING VAN RELATIONEEL OP DIMENSIONAAL EN VICE VERSA DOWN UNDER IN PSM: EEN VERGELIJKING MET HET NDC MODEL OPSLAG VAN AGGREGATIES IN EEN DATA WAREHOUSE MULTIDIMENSIONALE BENADERING VAN AGGREGATIES IN PSM GEMODELLEERD EEN AANZET TOT DE BESCHRIJVING VAN DE SEMANTIEK VAN CONSTRAINTS IN HET DIMENSIONALE MODEL EEN INTERMEZZO OVER VIEW MAINTENANCE CONCLUSIES EN VERDER ONDERZOEK SAMENVATTING ALGEMENE CONCLUSIES VERDER ONDERZOEK TERUGBLIK BIBLIOGRAFIE BRONVERMELDING FIGUREN EN TABELLEN INDEX FIGURENINDEX TABELLENINDEX

5 Voorwoord Voor u ligt mijn afstudeerscriptie Ontwerp van data warehouses: opslag van data en integratie van constraints, de kroon op mijn studie Bedrijfsgerichte Informatica. Deze scriptie heeft mij veel tijd en moeite gekost, evenals mijn studie. Moeizame periodes wisselden zich tijdens mijn studietijd af met momenten van goede motivatie. Sommige vakken vond ik zeer interessant (vooral die uit de specialisatierichting en de leerzame GiP-reeks) en gingen me dan ook redelijk goed af, maar andere bezorgden me hoofdbrekens. Met name P4, W4 en W6 vielen me erg zwaar en hebben me de nodige moeite gekost te halen. Na 8 jaar middelbare school en 6½ jaar universiteit vind ik het mooi geweest. Ik wil iedereen bedanken die mij gedurende mijn gehele studietijd en scriptie heeft geholpen, op welke wijze dan ook. Mensen die ik in dit verband bij name wil noemen zijn: mijn ouders en mijn broer Mark, mijn goede vrienden Ernest Neijenhuis en Jaap Penders met wie ik zeer veel heb samengewerkt in het verleden, mijn goede vriend en studiegenoot Dennis Noy voor een perfecte samenwerking gedurende de gehele studie aan de KUN. We vulden elkaar perfect aan. Verder mijn afstudeerbegeleider Patrick van Bommel voor de goede begeleiding en de (bijna) wekelijkse nuttige bijeenkomsten. Verder heb ik gedurende mijn studie prettig samengewerkt met mijn goede vriend Sander van Woerkom en Richard Arts. Zij hebben mij geholpen bij vakken die me moeilijk vielen. Zonder hen was ik hier nooit gekomen! Bedankt allemaal! Ferry Kemperman 22 december 2000 Een tweetal opmerkingen vooraf: Dit werk is in de wij-vorm geschreven. Ik heb hier bewust voor gekozen. De definitie van Val wordt in de literatuur beschreven met een ruimtelijk haakje. Door printerproblemen is in dit werk het een gewoon haakje ( [ en ] ) geworden. Informatie over de auteur: Ferry Remon Kemperman werd op 16 januari 1974 geboren in Huissen. Na de HAVO ( ) aan het Nederrijn College in Arnhem vervolgde hij op dezelfde school met het VWO ( ). In september 1994 begon hij met de opleiding Informatica aan de Katholieke Universiteit Nijmegen. In de periode december 2000 rondde hij in de specialisatierichting Bedrijfsgerichte Informatica deze studie af met het voor u liggende werk. Het afstudeerpraatje werd gehouden op 12 januari 2001 om uur in colloquiumkamer A

6 They say it's always the same, two steps forward one step back Whatever he arranges, we must do the best we can Your pain is mine, my blood is yours, can you hear me, I'm calling you You have the power over me, I'm rendered helpless, you've got me on my knees You have the power over me, nothing is certain, I wait for recovery Power Over Me, Mr.Mister 1 Contextbepaling In dit eerste hoofdstuk zal een kader worden geschept voor de probleemstelling die wordt behandeld in deze scriptie. Als eerste zal worden ingegaan op de vraag wat een data warehouse nu precies inhoudt en wat je ermee kan doen. Vervolgens zal een introductie worden gegeven over hoe een data warehouse technisch gezien eruit ziet en wat voor specifieke problemen er kunnen optreden bij het opzetten van zo n data warehouse. Als laatste zal dit hoofdstuk worden afgesloten met een uiteenzetting naar de specifieke probleemstelling van deze scriptie, namelijk de opslag van data in data warehouses voor OLAP-toepassingen en de integratie van constraints. Hier zullen ook de verschillende problemen aan bod komen. 1.1 Wat is een data warehouse en wat kun je er mee doen? De term data warehouse komt al geruime tijd voor in wetenschappelijke en technische vakbladen, maar ook in magazines en tijdschriften van specifieke maatschappelijke en commerciële sectoren. Een voorbeeld van zo n sector is het bankwezen. Hieronder zien we een artikel dat door NCR banken uit Noorwegen op het WWW is gezet als persbericht [WWW03]. In dit persbericht wordt een mooie toepassing geschetst van een data warehouse, in het Nederlands ook wel gegevenspakhuis genoemd. De toekomst volgens NCR en Sparebanken NOR Amsterdam, 7 augustus Volgens NCR Corporation en Sparebanken NOR (Noorwegen) wordt bankieren gemakkelijker, sneller en leuker voor de consument, leidt het tot minder kosten voor de banken en tot minder papierwerk voor iedereen. De twee bedrijven hebben tezamen het bankfiliaal van morgen bedacht, ontworpen en ingevoerd. Zodra een klant een filiaal van Sparebanken NOR binnenloopt, voert hij zijn bankcard in. Met een speciaal genummerd kaartje wordt hij geïdentificeerd door het gegevenspakhuis, dat een bericht terugstuurt met de klantgegevens. Een videoscherm boven de baliemedewerker toont op de klant gerichte advertenties en de baliemedewerker zelf heeft alle relevante gegevens onmiddellijk bij de hand, zoals welke folders naar deze klant zijn gestuurd en welke diensten verder kunnen worden aangeboden. Klanten bekrachtigen hun opdrachten elektronisch, zodat geen papier nodig is. Dit concept maakt ook de omvangrijke procedureboeken en de dagelijkse papieren administratie van het bankkantoor overbodig. Iedere week worden vijf filialen van Sparebanken NOR herbouwd en uitgerust, en worden de medewerkers omgeschoold. Inmiddels zijn meer dan 140 nieuwe filialen omgevormd. Volgens plan zullen medio 1999 alle 350 kantoren in het netwerk van Sparebanken NOR en zijn partners volgens dit concept zijn aangepast. In dit artikel wordt de indruk gewekt dat de data warehouse een soort grote database is met een grote mate van flexibiliteit m.b.t. tot het vinden van informatie en verbanden in die informatie. Dit laatste is onder meer te halen uit de zin Een videoscherm boven de baliemedewerker toont op de klant gerichte 6

7 advertenties en de baliemedewerker zelf heeft alle relevante gegevens onmiddellijk bij de hand. Nu er een gedachte is gecreëerd omtrent het begrip data warehouse kunnen we een definitie aangeven op een hoog abstractieniveau. Een data warehouse is een concept dat is opgebouwd uit hard- en software elementen dat het mogelijk maakt om zeer grote hoeveelheden gegevens te analyseren om zodoende managers in staat te stellen om betere bedrijfsbeslissingen te nemen op strategisch en tactisch niveau Een kanttekening die hier geplaatst dient te worden is het volgende. Een data warehouse is op vele abstractieniveaus te definiëren, van zeer abstracte naar technisch zeer gedetailleerde definities. Tevens is er een groot aantal definities in omloop, waarbij een ieder zijn eigen interpretatie aan dit begrip geeft. In dit document zullen we de bovenstaande definitie aanhouden wanneer we praten op het niveau van het gebruik van data warehouses (dus de meer algemene definitie) en de definitie die wordt gegeven in de volgende paragraaf in het geval er op technisch niveau over data warehouses wordt gesproken. Dan is er ook nog een derde interpretatie die in dit document voorkomt, namelijk de data warehouse beschouwende als een database. Deze interpretatie zal uitsluitend voorkomen bij het gebruik in figuren en bespreking van deze figuren. Wanneer we de definitie onder de loep nemen, vallen gelijk aan aantal zaken op. Een data warehouse is een concept en geen nieuwe technologie. Een data warehouse moet men dus beschouwen als een vernieuwd inzicht opgebouwd uit al reeds bekende zaken. Een van die zaken zijn de zogenaamde legacy-systemen, bestaande uit een informatiesysteem en een database die er zijn voor operationele doeleinden. Een intuïtieve definitie die men van een data warehouse zou kunnen geven is een grote verzameling gegevens (een soort super database) die geanalyseerd kan worden om bepaalde verbanden en trends te vinden om zo een betere bedrijfsvoering er op na te kunnen houden. Vragen die hierbij rijzen zijn natuurlijk: Hoe kom je aan zo n grote verzameling gegevens? Welke gegevens komen er in die super database en op welke wijze? Welke eisen dienen er gesteld te worden aan die gegevens? Welke analyses moeten er met de gegevens gemaakt kunnen worden? Hoe pak je die analyses aan? Etcetera Een antwoord op enkele van deze vragen zal in de loop van deze scriptie worden gegeven. Een andere vraag die gesteld kan worden is de vraag naar de noodzaak van zo n data warehouse. Zijn operationele systemen (ook wel OLTP of legacy-systeem genoemd) niet in staat de gevraagde analyses te plegen? Een ontkennend antwoord moet hier worden gegeven. Een dergelijke analyse vereist een aantal belangrijke aspecten van het systeem en de gegevens. Operationele systemen konden dit niet aan vanwege [Hobo97]: Gebrek aan historische data Inconsistentie en verandering van gegevens Gegevens die nodig zijn voor een analyse zitten vaak in verschillende operationele systemen Query uitvoeringen duren extreem lang (zeer complexe query s, slechte retrievaltijd) De belangrijke verschillen tussen een operationeel systeem en een data warehouse kunnen hieruit direct worden afgeleid (gedeeltelijk afgeleid uit [Hobo97]). Tijdsfactor In een data warehouse is het van groot belang dat de historie van gegevens wordt vastgehouden. Er wordt dus een historie opgeslagen van de gegevens. Er worden geen updates van de gegevens gemaakt en de gegevens zijn in principe read-only in een data warehouse. In een operationeel systeem is een historie niet aanwezig. De tijdsdimensie van gegevens is een zeer belangrijk aspect bij een data warehouse. 7

8 Onderwerp georiënteerde kijk In een data warehouse gaat het erom de eindgebruiker als referentiepunt te zien in het presenteren van de gegevens. In een operationeel systeem zijn de gegevens vaak georganiseerd naar het perspectief van een applicatie. Grote hoeveelheid gegevens Bij een data warehouse gaat het om beheer van zeer grote aantallen gegevens. Dit komt mede door het feit dat er historische gegevens dienen te worden opgeslagen (in principe wordt er in een data warehouse niets verwijderd vanuit historisch perspectief). In tegenstelling tot een operationeel systeem, waarbij vaak historische gegevens worden geüpdate, is het hier dus van essentieel belang deze juist te bewaren. Samenvattingen en geaggregeerde gegevens In operationele databases is er vaak een zeer grote mate van detail aanwezig in de gegevens. Een data warehouse zal samenvattingen en aggregatie van gegevens moeten toepassen om tot goed gebruik te komen van de data warehouse. Dit is een noodzaak om informatie te kunnen extraheren die voor beslissingsondersteunde doeleinden worden gebruikt. Integratie en associatie van gegevens uit verschillende bronnen De data warehouse voedt zichzelf via vaak al bestaande (operationele) systemen en verschillende applicaties. Deze verschillende bronnen gebruiken vaak verschillende manieren waarop hun gegevens worden opgeslagen en worden beheerd. Voor opname in de data warehouse dienen de gegevens consistent te zijn en moeten bepaalde zaken geconverteerd worden. Dit alles om een bruikbare data warehouse te verkrijgen. Multidimensionaliteit van gegevens Gegevens die in een data warehouse worden opgeslagen kunnen vanuit meerdere dimensies worden opgeslagen. Dit om er voor te zorgen dat de gegevens vanuit elk gewenst perspectief bekeken en geraadpleegd kunnen worden. Een toepassing hiervan is de presentatie van gegevens in een kubus i.p.v. de traditionele 2-dimensionale tabellen. Nu we een beeld hebben gevormd van een data warehouse en zijn doelen kunnen we in de volgende paragraaf doorgaan met het conceptidee achter een data warehouse. We doen dit door aan de hand van een meer technisch perspectief naar een data warehouse te kijken. 1.2 De data warehouse architectuur Het begrip data warehouses passeert vaak de revue in de vakliteratuur over databases. In deze literatuur worden allerlei verschillende technische definities gebruikt voor een data warehouse. Om een goed kader te geven aan het begrip data warehouse in technische zin is het noodzakelijk in te zien dat we een data warehouse moeten beschouwen als een architectuur van deels al reeds bestaande systemen en technieken. Een data warehouse is eigenlijk een architectuur voor het genereren van informatie die kan ondersteunen bij bedrijfsbeslissingen op het tactisch en strategisch managementniveau. Nu zullen we een bespreking geven van de algemene architectuur van een data warehouse. Wanneer het technische kader rond een data warehouse is geschept, kunnen we ons toespitsen op de problematiek omtrent gegevensopslag in de volgende paragraaf. In onderstaande figuur (figuur 1) zien we een algemene structuur van een data warehouse. Het figuur is ontleend aan [SMKK98]. 8

9 Figuur 1: De data warehouse architectuur We zullen de verschillende onderdelen van de architectuur afzonderlijk bespreken in de nu volgende paragrafen. Dit draagt bij aan het creëren van een goed inzicht in de architectuur van een data warehouse, hetgeen weer belangrijk is als fundament voor het inzicht in de opslag van data in een data warehouse De operationele systemen Onder operationele systemen worden die systemen verstaan die in een bedrijf als dagelijks gebruik dienen. Deze systemen zorgen voor de dagelijkse informatievoorziening van het bedrijf en bevatten gegevens van alledag. Een operationeel systeem is vaak een eenvoudige database met relatief weinig (complexe) informatie en een onderliggend informatiesysteem. We hebben reeds gezien wat de kenmerken van dergelijke systemen zijn (paragraaf 1.1). Een belangrijk kenmerk van operationele systemen is het ontbreken van een historie. De gegevens in een operationeel systeem zijn bedoeld voor dag tot dag beslissingen. [Hobo97] spreekt over gegevens voor het draaiende houden van de onderneming. Een belangrijk inzicht bij operationele systemen is dat ze van heel verschillende aard kunnen zijn. De systemen kunnen zeer uiteenlopend zijn qua gegevensopslag, soort database, soort informatie, manier van beheer, manier van retrieval van informatie (en daarmee samenhangend de responsietijden). Voorbeelden zijn een Relational Database Management Systemen (RDBMS) of andere, bijvoorbeeld, heterogene informatiesystemen. De bedoeling is nu om gegevens uit deze operationele systemen als bron te gebruiken voor de data warehouse data. Om deze gegevens in een data warehouse te kunnen opnemen is het noodzakelijk de gegevens te bewerken. Dit wordt gedaan door de zogenaamde extractietools als de wrapper en de monitor. Deze worden in de volgende paragraaf besproken De extractietools: Wrapper en Monitor De wrapper is een stuk software dat er voor zorgt dat de informatie afkomstig uit de operationele gegevenbronnen wordt geanalyseerd voor opname in de data warehouse. De gegevens dienen te worden geselecteerd, getransformeerd en te worden opgeschoond alvorens ze worden doorgegeven 9

10 aan de zogenaamde integrator. De integrator zal in de volgende paragraaf worden besproken. De wrapper gaat bijvoorbeeld kijken of de gegevensmodellen van de operationele gegevensbronnen aansluiten bij het gegevensmodel van de data warehouse. Wanneer dit niet het geval is, zal de wrapper een transformatie moeten maken van de presentatie van deze gegevens. Een voorbeeld van zo n transformatie is de presentatie van flat files in de vorm van een relationeel gegevensmodel (wanneer de data warehouse gebruikt maakt van het relationele gegevensmodel). De monitor heeft hetzelfde doel als de wrapper, maar focust op een ander punt. De monitor, zoals de naam als suggereert, monitort op veranderingen in de operationele gegevensbronnen. Wanneer er zich een wijziging voordoet in de operationele systemen, zal er een update moeten plaatsvinden van de data warehouse. De monitor spaart veranderingen in de bronnen op en zal deze op gezette tijden doorgeven aan de integrator. Dit is uiterst belangrijk, daar de data warehouse up-to-date dient te blijven in vrijwel alle gevallen. De monitor bekijkt bijvoorbeeld veranderingen van bepaalde waarden en formaten van de operationele systemen. Wanneer de data warehouse continu online moet zijn, zal de monitor de veranderingen direct moeten doorgeven aan de integrator. Wanneer de data warehouse af en toe offline kan zijn (denk aan s nachts of in het w eekend) is het mogelijk om op gezette tijden de data warehouse te updaten (in deze offline tijd). Echter, in deze tijd, waar handel over de hele wereld en dus in verschillende tijdzones plaatsvindt, is het zeer wenselijk de data warehouse continu online te laten. Dit brengt met zich mee dat het maken van een update in de data warehouse niet zo gemakkelijk meer is. Een probleem dat optreedt is het geval dat er concurrent gebruikt wordt gemaakt van bepaalde updates en query-vragen. Dit probleem zal later nog aan de orde komen De Integrator De integrator is een tool dat de data, na aanlevering door de wrapper /monitor, opmaakt voor opslag in de data warehouse. Denk hierbij aan data die inconsistent is uit verschillende bronnen en data die conflicten kunnen opleveren. Het uiteindelijke doel is het creëren van een data warehouse dat direct kan inspelen op de vraag naar managementinformatie die nodig wordt geacht. De integrator is voornamelijk bedoeld om de data klaar te zetten voor tools die het vervolgens in de data warehouse laden De data warehouse gezien als database De feitelijke database die als data warehouse wordt beschouwd kan op meerdere manieren worden uitgelegd. In de data warehouse worden gegevens opgeslagen uit de externe bronnen. Dit kunnen gegevens zijn die een afbeelding zijn van de externe bron (lees een view) of de feitelijke data. Deze gegevens kunnen ook geaggregeerd zijn, d.w.z. dat ze zijn voorbewerkt door een eerdere aanvraag. Op deze wijze ontstaat redundantie in de database. De wijze waarop de data warehouse is opgebouwd hangt af van de gebruikte architectuur, relationeel of multidimensionaal De metadata De metadata is een speciaal soort data in de data warehouse. Metadata laat zich het best uitleggen als data over data. Hiermee wordt bedoeld data die wordt opgeslagen over de feitelijke data in de data warehouse. Denk aan gegevens die iets vertellen over wanneer bepaalde data in de warehouse is opgeslagen, wanneer er voor het laatst geüpdate is vanuit een bepaalde externe bron, etc. Ook gegevens die iets zeggen over de creatie van gegevens in een data warehouse en het gebruik van deze gegevens in een data warehouse vallen onder metadata De data mart Een data mart is een verkleind data warehouse. Een data mart richt zich op speciale afdelingen van een bedrijf en is dus ook bedoeld voor analyses t.b.v. 1 soort divisie. Aangezien de data mart niet binnen de scope van deze scriptie valt, zal ik hier volstaan met een verwijzing naar een recent artikel over data marts. Zie hiervoor het artikel van Rob Arntz voor de NSCCS 2000 [Arntz00]. 10

11 1.2.7 De multidimensionale database De multidimensionale database bevat, naast de gewone data warehouse, gegevens die worden gepresenteerd in multidimensionale vorm. Dit zijn vaak geaggregeerde gegevens, die reeds zijn voorbewerkt door de OLAP-server (uit eerdere query s) en voor een snelle retrievaltijd van een nieuwe query stand-by blijven. Wanneer nu een query wordt gelanceerd die de geaggregeerde gegevens direct kan gebruiken, zonder ze eerst te hoeven berekenen uit de gewone data, kan deze binnen een veel snellere retrievaltijd worden beantwoord. De data warehouse hoeft echter niet een aparte database voor dit soort query s te hebben. Het is goed mogelijk dat de data warehouse zelf een multidimensionale gegevensopslag gebruikt. De multidimensionale database vormt een belangrijk onderdeel van deze scriptie De Molap/Rolap server De MOLAP-architectuur en ROLAP-architectuur zijn de twee verschillende architecturen die gebruikt worden voor het uitvoeren van de analyses door de OLAP tools. De MOLAP architectuur is een architectuur die zich baseert op het multidimensionale model. De geaggregeerde gegevens worden bij deze architectuur in een aparte database opgeslagen naast de data warehouse. Deze database slaat de gegevens multidimensionaal op. In dit geval is het niet nodig geaggregeerde gegevens op te slaan in de feitelijke data warehouse. De server heeft voornamelijk tot doel de gebruikersvragen om te zetten in complexe query s (extended SQL ) die geschikt zijn om informatie te halen uit de data warehouse en deze vervolgens in de vorm van een multidimensionale presentatie aan te bieden aan de OLAP tools. De ROLAP architectuur is een architectuur waarbij de data warehouse wordt opgebouwd volgens het relationele model. Hierbij dienen de OLAP tools de relationele structuur van de data warehouse te benaderen. Multidimensionale aspecten van de gegevens dienen in een relationeel model te worden opgeslagen. Dit is zeer wel mogelijk. [Hobo97] spreekt over een mythe die ontkracht wordt door Sjoerd Hobo: gegevens dienen multidimensionaal te worden opgeslagen indien men ze multidimensionaal wilt benaderen. Dit is pertinent onwaar De front end tools of OLAP tools De front end tools zijn de gebruikersprogramma s waarmee de eindgebruikers van de data warehouse, bijv. de manager die een analyse maakt, de data warehouse aanspreekt voor het uitvoeren van een analyse. De front end tool lanceert de query, bijvoorbeeld geformuleerd in de vorm van een extended SQL-query (hier komen we later op terug), en presenteert na acceptabele retrievaltijd het antwoord in een duidelijke en overzichtelijke tabel of tabellen. Zo n front end tool kan zijn een spreadsheet, een data mining tool of andersoortige analyseprogramma s zijn. [Hobo97] omschrijft OLAP tools als gereedschappen die gebruikt worden om gegevens te analyseren, de resultaten te visualiseren en die mogelijkheden bieden informatie samen te stellen als resultaat van die analyse. Deze definitie dekt de drie belangrijke functies van deze tools. Analyse, presentatie en samenstelling van informatie vormen de hoofdtaken van een OLAP tool. 1.3 Problematiek omtrent de opslag van data en integratie van constraints In deze scriptie zullen we verschillende kanten van de data warehouse belichten. Het uitgangspunt hierbij is de verschillende problemen die spelen bij de opslag en benadering van data in een data warehouse in kaart te brengen. We zullen hiervoor het gebruik van constraints in een data warehouse als rode draad nemen. Het gebruik van constraints in data warehouses is namelijk een ondergeschoven kindje in het huidige onderzoek naar data warehouses. We laten de importantie van een goede constraint set aan het licht komen. We benaderen het gebruik van constraints in een data warehouse op twee verschillende manieren: vanuit het concept van de data cube en het star join schema. Het dimensionale model, waarop data warehouses worden gemodelleerd, wordt krachtig geïntroduceerd en diep geanalyseerd. Aan de hand van een case zullen we de werking van de verschillende concepten in dit model demonstreren. Een link met het relationele model is onontbeerlijk: veel inzichten van dit model kunnen we doortrekken naar het dimensionale model. 11

12 We bekijken hiertoe de manier waarop constraints worden gedefinieerd in het relationele model. Dit doen we uitgebreid aan de hand van de modelleringstechniek PSM. Na introductie van een modelleringstechniek voor het dimensionale model, het zogenaamde Nested Data Cube model (NDC), proberen we de lijn van deze constraints door te trekken naar dit model. Ons uiteindelijke doel is het aanreiken van mogelijkheden en inzichten om constraints in het dimensionale model te beschrijven in de NDC algebra of soortgelijke algebra s. Dit doen we ondermeer door de verschillende problemen uit de beide modellen te vergelijken (o.a. het modelleren van de belangrijke aggregatiemogelijkheden uit het dimensionale model in het relationele model). Het belang van een goede en formele beschrijving van constraints in een data warehouse is zeer groot. Dit wordt duidelijk gemaakt aan de hand van verschillende invalshoeken. We zullen ter verduidelijking de inhoud van deze scriptie even kort bespreken. Hoofdstuk 1 geeft de contextbepaling weer. We bespreken het concept data warehouse op verschillende manieren en geven de problemen weer van het huidige onderzoek naar data warehouses. Tevens bakenen we het probleemgebied van deze scriptie af. Hoofdstuk 2 introduceert het dimensionale model aan de hand van een casebeschrijving. Tevens kijken we naar PSM en de benadering van constraints in dit model. Hoofdstuk 3 diept het dimensionale model helemaal uit met een beschrijving van de data cube en de problematiek omtrent constraints in een data warehouse wordt hierin uitgemeten. Hoofdstuk 4 introduceert het NDC model en diens algebra en maakt een vergelijking tussen het dimensionale model en het relationele model. Verschillende problemen binnen data warehouses komen hier aanbod, zoals view maintenance, de uitdrukkingskracht van de NDC algebra, de modellering van relationele operatoren in de NDC algebra, de benadering van aggregaties en de modellering hiervan in het relationele model. Tenslotte geven we een handreiking naar de mogelijkheid om de constraints in het dimensionale model te beschrijven op een manier waarop dit binnen PSM is gedaan. De taal hiervoor zou de NDC algebra kunnen zijn. Als laatste in deze paragraaf een kleine technische sectie ter verduidelijking van de manier waarop data wordt opgeslagen in een data warehouse Iets over data opslag in data warehouses Het uiteindelijke doel van een data warehouse is het direct kunnen inspelen op de vraag naar managementinformatie die nodig wordt geacht. Hierdoor dient de data warehouse een zeer flexibele houding aan te nemen. Deze houding moet het mogelijk maken om bepaalde complexe en zeer uiteenlopende vragen (lees: zeer complexe query s, gesteld via bijvoorbeeld een spreadsheet -achtige applicatie) zeer snel te kunnen verwerken. Het format van een data warehouse kan zeer uiteenlopen. Er zijn drie manieren om de warehouse data op te bouwen: top-down, bottom-up en een hybride manier, die de twee eerste combineert. Bij de top-down manier gaat het erom dat de bronnen direct worden aangesproken om de warehouse data te creëren. Dit gaat op basis van de bestaande data warehouse applicaties. Eenvoudige, vaak gebruikte en bekende query s zijn reeds uitgevoerd en opgeslagen in de data warehouse. Al het voorwerk is dus reeds gedaan. Bij bottom-up worden de acties pas uitgevoerd, zodra er een vraag wordt gesteld aan de data warehouse. De gecombineerde, hybride versie maakt gebruikt van sommige reeds bewerkte data uit de data warehouse en sommige onbewerkte data rechtstreeks uit de bronnen. Een manier om de data warehouse met deze grote mate van flexibiliteit te laten werken kan gedaan worden door de data warehouse op te laten bouwen volgens het multidimensionale datamodel. Het idee hierachter is dat data op zo een manier wordt opgeslagen dat alle mogelijkheden van interpretatie van de data nog mogelijk zijn. De noodzaak van deze benadering is dat data warehouses niet kunnen worden ontworpen met traditionele methoden. In legacy systemen (operationele systemen) worden vaak eenvoudige query s uitgevoerd. Bij data warehouses moeten zeer ingewikkelde query s kunnen worden uitgevoerd. Dit vraagt om een zeer flexibele opslag van gegevens (zoals we al zeiden: alle mogelijke interpretaties moeten nog open liggen). Een voorbeeld hiervan is het gebruik van vele join-operaties op de opgeslagen gegevens (dit blijkt vaak voor te komen bij data warehouses). 12

13 Het multidimensionale datamodel maakt gebruik van zogenaamde feiten en dimensies. Feiten bevatten de eigenlijke data en dimensies geven een interpretatie van deze gegevens. Hierdoor ontstaan redundantie, maar dit is juist de bedoeling. Een voorbeeld van een multidimensionaal datamodel is de zogenaamde data cube. 13

14 2 Constraints in een data warehouse, een verkenning via PSM In dit tweede hoofdstuk zullen we beginnen met een korte introductie van het dimensionale model, waarbij we dit model demonstreren aan de hand van een case. Vervolgens verleggen we het accent naar de modelleringstechniek PSM. PSM zal worden geformaliseerd en als basis dienen voor de beschrijving van constraints in het dimensionale model. De semantiek van PSM die in deze exercitie wordt beschreven zal als eerste in een reeks van twee formalisaties (waarbij de NDC s uit hoofdstuk 4 de tweede vormen) dienen als uitgangspositie voor een beschrijving van constraints in een data warehouse. 2.1 Korte introductie van het dimensionale model Ten grondslag aan een data warehouse ligt het dimensionale model. [Kim96] spreekt over het dimensionale model en [SMKK98] heeft het over het multidimensionale model. De heren Kimball en Samtani c.s. spreken naar mijn mening over hetzelfde model. Op exact dezelfde wijze wordt het model opgebouwd en met precies dezelfde vocabulaire. Het conceptuele idee wordt echter op een iets andere manier benaderd. Waar Kimball het heeft over het Star-join schema spreekt Samtani c.s. over de data cube. Beide benaderingen zullen worden gebruikt om zo een verschillende toenadering te maken naar het gebruik van constraints in dit model. Aangezien een bespreking van dit model later uitgebreid wordt beschreven, is een korte introductie hier noodzakelijk voor een goed begrip van de problematiek rond constraints. In dit model hebben we te maken met een feitentabel en dimensietabellen. De feitentabel bevat alle, veelal numerieke en optelbare gegevens (bijvoorbeeld totale verkopen, totaal aantal verkochte eenheden) over elke mogelijke combinatie van de dimensies. Deze tabel is dus vergeleken met de dimensietabellen zeer groot. De dimensietabellen hebben een dimensie als uitgangspunt. Een dimensie moet opgevat worden in dit verband als een variabel gegeven waarin informatie uit de feitentabel worden opgeslagen. Voorbeelden van zulke dimensies zijn tijd (denk aan jaren, kwartalen, maanden, weken, etc.) soort product (soort product, beschrijving, merk, etc.) en geografische ligging (Europa, Azië, Australië, USA, etc.). De dimensietabellen bevatten naast een dimensie-key (de unieke sleutel voor elk record in de dimensietabel) een reeks attributen die de dimensie verder beschrijven. Deze attributen zijn dan ook vaak van tekstuele aard. De attributen van de dimensietabel worden voornamelijk gebruikt om bij query-aanvragen (lees extended SQL, want daar hebben we het over bij data warehouses) te dienen als bron voor het kunnen gebruiken van constraints en row headers. Dit laatste geeft aan dat dit het hoofdattribuut wordt in het antwoord op de gestelde query-vraag van het systeem naar de eindgebruiker (de SQL gebruiker). Ter verduidelijking van dit model volgt in de volgende paragraaf een uitwerking van een voorbeeld Een case uitwerking In deze paragraaf zal een case worden beschreven die verder als voorbeeld zal dienen bij de verduidelijking van zo n dimensionaal model. Als eerste zal er een korte introductie plaatsvinden waarin de case beschreven wordt. Vervolgens zullen de gegevens uit deze case worden geplaatst in het dimensionale model. Aan de hand van de invulling in dit model zal het model verder worden uitgediept Introductie van de case Een E-commerce bedrijf, genaamd Down Under, gevestigd in Sydney, Australië verkoopt CD s aan de consument via het Internet. Het bedrijf biedt deze CD s aan via een interactieve website waarop de consument zijn bestelling kan plaatsen. We spreken hier dus over een B2C (Business 2 Consumer) bedrijf en laten de B2B-tak (Business 2 Business) hier dus helemaal weg. Op deze website bevinden zich allerlei opties om het voor de consument makkelijk te maken om kiezen. Men kan zoeken in de online database op auteur, titel, jaar van verschijnen, genre etc. Van de in de database aanwezige en 14

15 dus leverbare CD s is het mogelijk om een track listing op te vrage n. Wanneer een bestelling is geplaatst kan de wijze van betaling worden opgegeven. Dit kan op drie manieren. Allereerst kan online de creditcard gedebiteerd worden, ten tweede kan een factuur in de vorm van een acceptgiro worden meegestuurd met de bestelling (waarmee men achteraf kan betalen) en als laatste is er nog de mogelijkheid om de bestelling zelf af te halen en contant te betalen. Voor de distributie van de CD s gebruikt men regionale centra om de vervoers- en transactiekosten zo laag mogelijk te houden. Het bedrijf zorgt zelf voor de levering van de goederen, zodat men vanuit deze regionale centra distribueert naar de consument. Deze centra houden er dus zelf een magazijn op na. De centra zijn gevestigd in Darwin voor verspreiding in Northern Territory, Perth voor verspreiding in West Australia, Brisbane voor verspreiding in Queensland en Sydney voor verspreiding in New South Wales, South Australia, Victoria en Tasmanië. Er zijn dus vier van deze regionale centra, waarbij het hoofdkantoor in Sydney een groot deel voor haar rekening neemt. Down Under levert dus alleen aan consumenten binnen Australië. Sinds kort heeft Down Under het plan opgevat om ook te gaan leveren in Nieuw Zeeland. De levering gebeurt vanuit het kantoor in Sydney, maar door de hoge transportkosten en lange levertijd is het bedrijf een distributiepunt gestart in Auckland, Nieuw Zeeland. Het loopt goed, dus het distributiepunt blijft bestaan. De levering gebeurt eens per maand met kleine vans vanuit de distributiepunten die de bestellingen gaan afleveren. Een voordeel van deze manier is dat wanneer een CD niet op voorraad is, men deze tijdig kan bestellen en als nog binnen het gestelde termijn kan leveren. Voor de case gaan we er even vanuit dat het bedrijf dus geen gebruik maakt van de bestaande postdiensten (in Australië is dit in de dunbevolkte delen toch een lastig vraagstuk, daar hier zeer zelden de posterijen de consument aandoen en dan nog per vliegtuig). Omdat het bedrijf zich inzicht wil verschaffen in de verschillende verkopen en een nauwkeurige analyse wil maken van de historische cijfers m.b.t. de invloed van seizoenen, levertijd, genreverkopen, etc. etc. is het noodzakelijk dat er een data warehouse wordt aangelegd om deze analyses mogelijk te maken. Met dit hulpmiddel (de data warehouse) en de daaraan gekoppelde analyses kan men de strategie voor de toekomst bepalen en zo ook beter inspelen op de commerciële problematiek. Beslissingen op tactisch en strategisch niveau kunnen beter worden onderbouwd. Een opmerking die op deze plaats gemaakt dient te worden is, dat vanwege de eenvoud van het voorbeeld slechts 1 feitentabel wordt gedefinieerd. In een data warehouse heeft men altijd te maken met zeer veel feitentabellen met allen, soms verschillende dimensies De case wordt in het dimensionale model gegoten Als eerste moeten we bepalen wat de belangrijke structuur vormt voor de data warehouse. Hiermee wordt bedoeld welke gegevens interessant zijn om opgenomen te worden in de data warehouse. Dit is een eerste stap in het bepalen van de dimensies. In onze case is het product, de CD, een aparte dimensie. Men wil precies weten welke CD wat waar doet. Ten tweede is er natuurlijk de bijna standaard aanwezige tijddimensie en als derde is er de geografische dimensie. Deze dimensies zijn bijna zo goed als standaard in een productiebedrijf en een handelsbedrijf. In ons geval moet de vraag worden gesteld of er nog een extra dimensie dient te worden toegevoegd. Gemakshalve doen we dat hier niet, om de eenvoud van het voorbeeld te behouden. Een dimensie die [Kim96] aanhaalt is ook een vaak voorkomende, namelijk de promotiedimensie. Hierbij gaat het erom of de verkoop van bepaalde producten afhangt van bepaalde promotionele activiteiten, zoals bonnen, aanbiedingen of reclamedrukwerk. Nu we de dimensies Tijd, Geografie en Product hebben afgeleid dient de opmerking te worden gemaakt dat in de feitentabel het betalingsverkeer wordt opgenomen. De wijze van betaling, creditcard, acceptgiro of cash, wordt aangegeven in de vorm van omzet per soort betaling in de feitentabel. Nu we de basisconstructie voor het dimensionale model hebben afgeleid, kunnen we dit in een eerste schema zetten. Zie hiervoor figuur 2. We zien de feitentabel in het midden van de figuur. Deze bevat de specifieke gegevens over de verkoop en afzet van de CD s. Aangezien dit een in principe onuitputtelijke lijst is, geven we een aantal voorbeelden van zulke cijfers. Het aantal verkochte eenheden is een voorbeeld van zo n cijfer. Als men nadenkt over de betekenis van dit veld zie je vanzelf dat het een combinatie is van de reeds gedefinieerde dimensies. Ook de wijze waarop de 15

16 betaling plaatsvindt kan men definiëren in de feitentabel. Denk hierbij aan het feit dat de betalingswijze nergens is opgenomen binnen de gedefinieerde dimensies! Figuur 2: Het dimensionale model voor Down Under, de Verkoop feitentabel De sleutels die genoemd staan in de feitentabel komen altijd voort uit de reeds gedefinieerde dimensies. Een unieke combinatie van Tijd, Plaats en Product leveren de records op voor de feitentabel. De echte analytische gegevens staan dus in de feitentabel, terwijl de beschrijvende gegevens in de dimensietabellen staan! Nu we het basisidee te pakken hebben, is de volgende stap in onze casebeschrijving de invulling van de dimensieattributen die de dimensies moeten beschrijven. Zoals we zullen zien spelen deze dimensieattributen een belangrijke rol in het gebruik van constraints. Hierover later meer in dit hoofdstuk en hoofdstuk 3. De dimensie Tijd heeft een verdeling in jaren, maanden, dagen etc. Dit zijn sowieso attributen die moeten worden opgenomen, maar ook vakanties, weekends, uitverkoopdagen dienen te worden opgenomen in de dimensie Tijd. In de productdimensie worden zaken opgenomen titel, artiest, genre, jaar van verschijnen, een attribuut dan aangeeft of het een single of cd betreft, platenmaatschappij etc. etc. Let erop dat dit niet altijd zaken zijn die hiërarchisch of causaal een relatie met elkaar onderhouden. We zullen later zien dat dit geen problemen oplevert met SQL-aanvragen. In de geografische dimensie worden zaken opgenomen als verkocht in Australië of Nieuw Zeeland, geleverd uit welke stad, verkocht in welke regio of stad (uit welke gedeelten van het land of welke steden worden de CD s gekocht) etc. Wanneer we dit in een schema pl aatsen komen we uit bij figuur 3. De attributen die de dimensies bevat geven aan de SQL-vragensteller de mogelijkheid om binnen de dimensies afbakeningen te regelen. Dit gebeurt in de vorm van beperken van velden binnen deze dimensies. Binnen de dimensie Tijd kan bijvoorbeeld worden beperkt op een bepaald jaar of bepaalde maand. Om nu een concrete uitwerking van zo n vraagstelling te geven, volgt nu een invulling van het dimensionale model van Down Under m.b.t. tot de verkooptabel. In de vorm van vier invullingen van de feitentabel en de drie dimensietabellen zal worden geprobeerd het principe van een aanvraag te verduidelijken. 16

17 Figuur 3: De dimensies met de dimensieattributen van de Down Under verkooptabel We zullen dit doen in de volgende paragraaf Case invulling van het geschetste model van Down Under Allereerst maken we een invulling van de drie dimensietabellen met daarin alle in figuur 3 genoemde dimensieattributen. We moeten wel realiseren dat dit een zeer klein fragment is van de werkelijke grootte van de tabel. In het echt zijn dit vele malen grotere tabellen. Voor de doeleinden die we hier echter willen demonstreren, is een tabel van deze grootte uitermate geschikt. Plaatssleutel Distributiecentrum State/Department Plaats Land 1 Darwin Northern Territory Katherine Aus 2 Darwin Northern Territory Darwin Aus 3 Perth Western Australia Perth Aus 4 Perth Western Australia Broome Aus 5 Perth Western Australia Hyden Aus 6 Auckland n/a Wellington NZ 7 Sydney New South Wales Tamworth Aus Tabel 1: Invulling van de geografische dimensietabel Productsleutel Artiest Titel Platenmy jaar Genre Single 1 Springsteen, Bruce Greatest Hits Columbia 1995 Rock nee 2 Springsteen, Bruce Nebraska Columbia 1982 Rock nee 3 Police, The Outlandos d'amour A&M 1978 Pop nee 4 Lauper, Cyndi Hat Full Of Stars Epic 1993 Pop nee 5 Foreigner 4 Atlantic 1981 Rock nee Tabel 2: Invulling van de productdimensietabel 17

18 Tijdsleutel Maand Maandnr Weekend Schoolvak. Dagnummer Opruimingsdag Kwartaal Jaar 1 Jan 1 Nee Nee 18 nee Jan 1 Nee Nee 19 ja Mrt 3 Nee Nee 55 nee Mrt 3 Nee Nee 56 nee Mei 5 Nee Nee 131 nee Mei 5 Nee Nee 133 nee Dec 12 Nee Ja 350 nee Tabel 3: Invulling van de tijddimensietabel Tabel 1, 2 en 3 geven een fragment van de invulling van de dimensietabellen weer. Alle dimensierecords hebben een unieke sleutel in de vorm van, in dit geval, een nummer. Voor de dimensieattributen is een invulling gemaakt. In de volgende tabel 4 zien we een fragment van de invulling van de feitentabel Verkoop van Down Under. Zoals hier duidelijk zichtbaar is, vormt de samengestelde sleutel een combinatie van sleutels uit de dimensietabellen (visueel gezien kun je dit voorstellen als de data cube met zijn hokjes waarin elke waarde betrekking heeft op een combinatie van de dimensies!) Plaatssleutel Tijdsleutel Productsleutel Aantal Omzet # # # # verkocht Creditcard Acceptgiro Cash Terug Tabel 4: Invulling van de feitentabel Verkoop Per record is in de feitentabel aangegeven welke cijfers zijn bepaald voor de verschillende producten, tijden en plaatsen. Voor een goed inzicht zullen we het eerste record even tekstueel uitschrijven. In het eerste record hebben we te maken met de unieke plaats-, tijd- en productsleutel 1. In een zin beschreven betekent dit dat dit record in de feitentabel iets zegt over het aantal verkochte albums van Bruce Springsteen met Greatest Hits op 18 januari 2000 in Katherine verspreidt via het distributiekantoor in Darwin. Van de vier personen die deze CD in huis hebben gehaald op die dag hebben er drie met creditcard online betaald en eentje via een acceptgiro. Nu zegt die zeer specifieke informatie natuurlijk erg weinig en lijkt deze informatie van weinig waarde. De kracht zit hem echter in het feit dat je selecties kunt maken in de attributen en joins kunt maken met de verschillende dimensietabellen. Omdat dit concept uitgebreid aan de orde komt bij de bespreking van de verschillende constraints in de volgende paragrafen wil ik het hier laten bij een SQL voorbeeld die de werking zal verduidelijken. SELECT p.artiest, sum(f.aantal_verkocht) FROM feitentabel f, product p, tijd t, geografie g WHERE f.productsleutel = p.productsleutel AND f.tijdsleutel = t.tijdsleutel AND f.plaatssleutel = g.plaatssleutel AND g.state/department = Northern Territory AND p.genre = Rock GROUP BY p.artiest ORDER BY p.artiest 18

19 Bovenstaand stukje SQL is een eenvoudig voorbeeld over een mogelijke query die gesteld kan worden aan ons systeem, beschreven in de case. Door middel van de joins tussen de dimensietabellen en de feitentabel (de sleutel matching) is het mogelijk om attributen uit de verschillende dimensies op te nemen in het antwoord. De matching van de attributen uit de dimensietabellen zorgt ervoor dat het antwoord wordt afgebakend op precies die informatie die je wilt hebben. Hier gaat het dus om artiesten uit het rockgenre en CD s die verspreidt zijn in het Northern Territory. Wanneer deze query wordt losgelaten zal het volgende antwoord worden gegenereerd. Zie tabel 5. Artiest SUM(aantal_verkocht) Foreigner 0 Springsteen, Bruce 21 Tabel 5: Gegenereerd antwoord Tot zover de uitwerking van deze case. Het dimensionale model heeft hiermee een duidelijk voorbeeld gekregen in de vorm van een reële uitwerking. Nu is de basis gelegd voor een verdere analyse naar het gebruik van constraints toe in dit model. 2.2 Constraints in het dimensionale model, een benadering via het relationele model Nu dit model is geschetst is de basis gelegd voor een introductie van de constraints die een rol spelen in dit model. Als eerste kijken we naar de benadering die gemaakt wordt door [SMKK98]. Vanuit het perspectief van relationele databases wordt geprobeerd de lijn door te trekken naar het dimensionale model als basis voor een data warehouse. Bij het ontwerpen van relationele databases wordt in de conceptuele gegevensmodelleringsfase al rekening gehouden met het gebruik van constraints. Constraints worden gebruikt om bepaalde zaken te verplichten dan wel te verbieden bij het maken van bijvoorbeeld een voorbeeldpopulatie van het gegevensmodel (wat natuurlijk een afbeelding van de werkelijkheid is! Denk hierbij aan het Universe of Discourse). Dit komt reeds tot uiting in de conceptuele fase. Constraints die hierbij optreden zijn als volgt te categoriseren. Key constraints Referential integrity constraints Not Null constraints Relation-based check constraints Attribute-based constraints General assertions Voordat we verderop ingaan op de wijze waarop de tweedeling van constraints van [SMKK98] tot stand komt vanuit dit relationele perspectief, is het op zijn plaats hier een link te leggen naar de gegevensmodellering met behulp van PSM (Predicator Set Model, zie voor een uitgebreide beschrijving van PSM [Hof94]). In [Hof94] wordt namelijk een goede en uitgebreide beschrijving gegeven van de constraints zoals die hierboven door [SMKK98] zijn gecategoriseerd. We zullen nu een korte informele beschrijving geven van één van deze constraints. Een key constraint is in de wereld van PSM een zogenaamde uniqueness constraint. Deze constraint zorgt ervoor dat een populatie in een gedeelte van het feittype (een tabel in het relationele model) maar 1 keer mag voorkomen. Dit gedeelte kan slaan op slechts 1 veld, maar ook op meerdere velden. Het gedeelte van het feittype dat hieraan moet voldoen wordt de sleutel genoemd, vandaar ook de term key constraint. Ook kan een uniqueness constraint over meerdere feittypes gaan en zelfs over nog meer gecompliceerde structuren. Dit zullen we hier buiten beschouwing laten. In PSM wordt gebruikt gemaakt van een relationele algebra om de semantiek van verschillende constraints te kunnen beschrijven. Sommige constraints, waaronder ook de uniqueness constraint, hebben ook een grafische notatie in PSM-schema s. We zullen nu aan de hand van de formele definities van de verschillende soorten constraints een basis creëren voor de constraints die later in het dimensionale mode kunnen worden beschreven. We zullen voortborduren op het reeds aangehaalde PSM. In de volgende subparagraaf wordt als eerste een 19

20 introductie gegeven van PSM en vervolgens zullen, verderop, de verschillende constraints worden besproken. Deze uitstap naar PSM vormt een belangrijke basis voor de latere formalisering van constraints in het dimensionale model. We kiezen PSM als uitgangspunt voor zo n formalisering Introductie van PSM Aangezien er vele informatiemodelleringmethoden zijn (Bijv. ER-diagrammen), is het weinig zinvol hier een algemeen betoog te houden over deze verschillende methoden. Voor het doel, het construeren van constraints in het dimensionale model, beperken we ons hier tot NIAM en PSM. NIAM is een informatiemodelleringstechniek die gebruikt wordt als basis voor de constructen van PSM. Je kunt NIAM als een soort voorloper beschouwen. In [Hof94] wordt op basis van een introductie van NIAM verder gebouwd aan de constructies die mogelijk zijn in PSM. De manier waarop we de constructies en constraints in PSM introduceren en bespreken zal gaan aan de hand van een aantal figuren uit [Hof93] en [Hof94]. [Hof93] is het proefschrift waarop het collegedictaat [Hof94] is gebaseerd. Het eerste figuur (figuur 4) staat echter alleen in [Hof93], met daarbij een interessante sectie over constraints, waar later nog kort gebruik van wordt gemaakt. Aan de hand van dit figuur maken we een analyse van de voorkomende constructen. We bekijken figuur 4. Figuur 4: PSM schema inzake Amerikaanse presidenten In dit figuur zien we de verschillende (niet alle) constructen in de modelleringtechniek PSM. De belangrijkste en opvallende grafische notaties zijn de bollen, blokjes en de relaties hiertussen. We zullen eerst een korte informele bespreking geven van de verschillende onderdelen uit het figuur. De bollen stellen de objecttypes voor, die weer onderverdeeld kunnen worden in labeltypes en entiteittypes. Labeltypes worden in dit schema aangegeven met de haakjes ( ). De rest van de bollen zijn entiteittypes. Tussen de bollen, de entiteiten, geven de blokjes relaties aan tussen deze entiteiten. Zo n relatie (1,2 of meer blokjes) wordt een feittype genoemd. De namen bij de blokjes worden 20

VOORWOORD...4 1 INLEIDING...5

VOORWOORD...4 1 INLEIDING...5 Inhoudsopgave VOORWOORD...4 1 INLEIDING...5 1.1 PROBLEEMSTELLING...5 1.2 DATA WAREHOUSES...6 1.3 TYPE INFORMATIE IN EEN DATA WAREHOUSE...7 1.4 ONTWERPEN VAN EEN DATA WAREHOUSE...7 1.4.1 Waarom redundantie

Nadere informatie

SQL & Datamodelleren

SQL & Datamodelleren SQL & Datamodelleren HVA-CMD-V1-datamodelleren Algemene handleiding bij het lesprogramma 2012-2013 Inhoud Inhoud... 2 Inleiding... 3 Leerdoelen:... 3 Plaats in het leerplan:... 3 Werkwijze:... 3 Lesstof:...

Nadere informatie

Tools voor canonieke datamodellering Bert Dingemans

Tools voor canonieke datamodellering Bert Dingemans Tools voor canonieke datamodellering Tools voor canonieke datamodellering Bert Dingemans Abstract Canonieke modellen worden al snel omvangrijk en complex te beheren. Dit whitepaper beschrijft een werkwijze

Nadere informatie

Het belang van. Data Modellering. GEMINIT Training. Data Modellering. Frédéric BARBIER

Het belang van. Data Modellering. GEMINIT Training. Data Modellering. Frédéric BARBIER Het belang van Data Modellering Studiedag Informatiemanagement Politeia, 22 februari 2013, Gent Open data en de cloud: een revolutie in de informatiehuishouding van de overheid Training Data Modellering

Nadere informatie

Sparse columns in SQL server 2008

Sparse columns in SQL server 2008 Sparse columns in SQL server 2008 Object persistentie eenvoudig gemaakt Bert Dingemans, e-mail : info@dla-os.nl www : http:// 1 Content SPARSE COLUMNS IN SQL SERVER 2008... 1 OBJECT PERSISTENTIE EENVOUDIG

Nadere informatie

4orange Connect. 4orange, 2015. Hogehilweg 24 1101 CD Amsterdam Zuidoost www.4orange.nl

4orange Connect. 4orange, 2015. Hogehilweg 24 1101 CD Amsterdam Zuidoost www.4orange.nl 4orange Connect 4orange, 2015 Hogehilweg 24 1101 CD Amsterdam Zuidoost www.4orange.nl 2 Inhoud Inhoud... 2 1. Achtergrond... 3 2) Browsen... 4 3) Scheduler... 4 4) Frequenties en kruistabellen... 4 5)

Nadere informatie

1. * Database worden vaak gebruikt in Client-Server architectuur.

1. * Database worden vaak gebruikt in Client-Server architectuur. Naam Studentnummer Klas Herkansing [ ] ja, nee [ ], zoja uit welk jaar? kernbegrippen relationele database Minimaal drie van de vijf vragen goed beantwoorden. 1. * Database worden vaak gebruikt in Client-Server

Nadere informatie

MA!N Rapportages en Analyses

MA!N Rapportages en Analyses MA!N Rapportages en Analyses Auteur Versie CE-iT 1.2 Inhoud 1 Inleiding... 3 2 Microsoft Excel Pivot analyses... 4 2.1 Verbinding met database... 4 2.2 Data analyseren... 5 2.3 Analyses verversen... 6

Nadere informatie

Architecture Governance

Architecture Governance Architecture Governance Plan van aanpak Auteur: Docent: Stijn Hoppenbrouwers Plaats, datum: Nijmegen, 14 november 2003 Versie: 1.0 Inhoudsopgave 1. INLEIDING... 3 2. PROBLEEMSTELLING EN DOELSTELLING...

Nadere informatie

Archimate risico extensies modelleren

Archimate risico extensies modelleren Archimate risico extensies modelleren Notatiewijzen van risico analyses op basis van checklists versie 0.2 Bert Dingemans 1 Inleiding Risico s zijn een extra dimensie bij het uitwerken van een architectuur.

Nadere informatie

occurro Vertrouwt u uw gegevens? BI wordt volwassen Kasper de Graaf 31 maart 2009 De kracht van BI en Architectuur in de praktijk - Centraal Boekhuis

occurro Vertrouwt u uw gegevens? BI wordt volwassen Kasper de Graaf 31 maart 2009 De kracht van BI en Architectuur in de praktijk - Centraal Boekhuis Vertrouwt u uw gegevens? BI wordt volwassen Kasper de Graaf 31 maart 2009 De kracht van BI en Architectuur in de praktijk - Centraal Boekhuis BI & Data Warehousing Business Intelligence: Het proces dat

Nadere informatie

DBMS. DataBase Management System. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd.

DBMS. DataBase Management System. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd. SQL Inleiding relationele databases DBMS DataBase Management System!hiërarchische databases.!netwerk databases.!relationele databases.!semantische databases.!object oriënted databases. Relationele databases

Nadere informatie

Data warehousing. Hogeschool voor Economische Studies Rotterdam

Data warehousing. Hogeschool voor Economische Studies Rotterdam Data warehousing Hogeschool voor Economische Studies Rotterdam Data warehousing Een onderzoek naar de valkuilen bij het opzetten van een data warehouse B. Dukker Student Bedrijfskundige Informatica Hogeschool

Nadere informatie

Business Intelligence. Toepassing BI Database en Datawarehouse BI proces BI Organisatie Implementatie BI

Business Intelligence. Toepassing BI Database en Datawarehouse BI proces BI Organisatie Implementatie BI Business Intelligence Toepassing BI Database en Datawarehouse BI proces BI Organisatie Implementatie BI Toepassing BI (Operationele) sturing Financieel (BBSC) Performance NIET voor ondersteuning proces

Nadere informatie

Nieuwe BI-omgeving van ApplicationNet is waardevolle bron van informatie voor facturatie, rapportages, kostenbesparing en marketing

Nieuwe BI-omgeving van ApplicationNet is waardevolle bron van informatie voor facturatie, rapportages, kostenbesparing en marketing Nieuwe BI-omgeving van ApplicationNet is waardevolle bron van informatie voor facturatie, rapportages, kostenbesparing en marketing Organisatie Werkplek Online is de private cloud oplossing van ApplicationNet

Nadere informatie

Databases - Inleiding

Databases - Inleiding Databases Databases - Inleiding Een database is een verzameling van een aantal gegevens over een bepaald onderwerp: een ledenbestand van een vereniging, een forum, login gegevens. In een database worden

Nadere informatie

Relationele Databases 2002/2003

Relationele Databases 2002/2003 1 Relationele Databases 2002/2003 Hoorcollege 3 24 april 2003 Jaap Kamps & Maarten de Rijke April Juli 2003 Plan voor Vandaag Praktische dingen 2.1, 2.3, 2.6 (alleen voor 2.2 en 2.3), 2.9, 2.10, 2.11,

Nadere informatie

Workshop 3x. Normaliseren. Normaliseren. Hiëarchische database ODBMS. Relationele database. Workshop 14 oktober 2010. A. Snippe ICT Lyceum 1

Workshop 3x. Normaliseren. Normaliseren. Hiëarchische database ODBMS. Relationele database. Workshop 14 oktober 2010. A. Snippe ICT Lyceum 1 Workshop 3x Analytisch vermogen Huiswerk Lestijden 10:00 12:30 Pauze 10:15 10:30 Deze les: Hiëarchische database Relationele database ODBMS Normaliseer stappen Hiëarchische database Elk record in een database

Nadere informatie

Dataconversie met Oracle Spatial

Dataconversie met Oracle Spatial Realworld klantendag 19 september 2013 Voorstellen 1 2 Computer Science & Engineering (TU/e) 3 Realworld Systems 4 Datamigraties Alliander Stedin Agenda 1 Architectuur Inleiding Ontwerp migratie 2 Rapportage

Nadere informatie

Form follows function -Louis Henry Sullivan

Form follows function -Louis Henry Sullivan www.grundsatzlich-it.nl Form follows function -Louis Henry Sullivan Datawarehouse: vorm en functie Ronald Kunenborg licentie: Datawarehouse: vorm en functie Een data warehouse komt voort uit pijn Die pijn

Nadere informatie

MODULEBESCHRIJVING Databases DBS1

MODULEBESCHRIJVING Databases DBS1 MODULEBESCHRIJVING Databases DBS1 Samensteller(s): Richard van den Ham Datum: 30-08-2012 Versie: 1.0 Module: Databases Identificatie Progresscode: DBS1 Semester: 1 Omvang: 140 SBUs/ 5 ECTS-punten Lestijd:

Nadere informatie

Self Service BI. de business

Self Service BI. de business BI in de praktijk Self Service BI Breng de kracht van BI naar de business Luc Alix Sogeti Nederland B.V. Redenen voor Business Intelligence Sneller kunnen beslissen 42 % Beter kunnen beslissen 42 % Concurrentieel

Nadere informatie

Cover Page. The handle http://hdl.handle.net/1887/20358 holds various files of this Leiden University dissertation.

Cover Page. The handle http://hdl.handle.net/1887/20358 holds various files of this Leiden University dissertation. Cover Page The handle http://hdl.handle.net/1887/20358 holds various files of this Leiden University dissertation. Author: Witsenburg, Tijn Title: Hybrid similarities : a method to insert relational information

Nadere informatie

SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd.

SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd. BASISINSTRUCTIES SQL SQL : Structured Query Language is een taal gericht op het ondervragen van een relationele database en die aan veel klassieke databasemanagementsystemen kan worden gekoppeld. SQL is

Nadere informatie

Les 10 : Aanmaken van een database (deel2).

Les 10 : Aanmaken van een database (deel2). Les 10 : Aanmaken van een database (deel2). Wat is een database? Een centrale opslagruimte voor gegevens. Alle informatie wordt centraal opgeslagen en kan door iedereen geraadpleegd worden. Voordelen van

Nadere informatie

HERGEBRUIK VAN REQUIREMENTS

HERGEBRUIK VAN REQUIREMENTS HERGEBRUIK VAN REQUIREMENTS EEN PRAKTISCHE AANPAK BUSINESS ANALYSE CENTER OF EXCELLENCE - SYNERGIO Inhoudsopgave 1 HERGEBRUIK VAN REQUIREMENTS... 3 1.1 GEBRUIKEN VERSUS HERGEBRUIKEN... 4 2 STRATEGIE...

Nadere informatie

NHibernate als ORM oplossing

NHibernate als ORM oplossing NHibernate als ORM oplossing Weg met de SQL Queries Wat is ORM? ORM staat in dit geval voor Object Relational Mapping, niet te verwarren met Object Role Modeling. ORM vertaalt een objectmodel naar een

Nadere informatie

Functionaliteiten 4orange Connect

Functionaliteiten 4orange Connect Functionaliteiten 4orange Connect 4orange, 2014 Hogehilweg 24 1101 CD Amsterdam Zuidoost www.4orange.nl 2 4orange Connect: de nieuwste release van FileFrame 4orange Connect is de nieuwste release van FileFrame.

Nadere informatie

DATAMODEL SQL. Middelbare School. Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1

DATAMODEL SQL. Middelbare School. Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1 DATAMODEL SQL Middelbare School Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1 INHOUDSOPGAVE 1. Informatiedomein 3 1.1 Informatiedomein 3 1.2 Toepassingen 3 2.

Nadere informatie

Les S-01: De basisbeginselen van SQL

Les S-01: De basisbeginselen van SQL Les S-01: De basisbeginselen van SQL 1.0 Relationele databases en SQL Een database is een bestand waarin gegevens worden opgeslagen in de vorm van tabellen. Zo kan een huisarts met behulp van een database

Nadere informatie

Canonieke Data Modellering op basis van ArchiMate. Canonieke Data Modellering op basis van Archimate Bert Dingemans

Canonieke Data Modellering op basis van ArchiMate. Canonieke Data Modellering op basis van Archimate Bert Dingemans Canonieke Data Modellering op basis van ArchiMate Canonieke Data Modellering op basis van Archimate Bert Dingemans Abstract Modelleren op basis van de open standard ArchiMate is een goed uitgangspunt voor

Nadere informatie

Orbis Software. Case. Study. Deze Case Study vertelt het succesverhaal van de samenwerking tussen Orbis Software Benelux BV en Bugaboo International.

Orbis Software. Case. Study. Deze Case Study vertelt het succesverhaal van de samenwerking tussen Orbis Software Benelux BV en Bugaboo International. Orbis Software Case Study Deze Case Study vertelt het succesverhaal van de samenwerking tussen Orbis Software Benelux BV en Bugaboo International. P01 Bugaboo meer dan een hippe kinderwagen! In 1994 kregen

Nadere informatie

Praktijkinstructie Oriëntatie op de informatie-analyse 4 (CIN08.4/CREBO:50131)

Praktijkinstructie Oriëntatie op de informatie-analyse 4 (CIN08.4/CREBO:50131) instructie Oriëntatie op de informatie-analyse 4 (CIN08.4/CREBO:50131) pi.cin08.4.v2 ECABO, 1 september 2003 Alle rechten voorbehouden. Niets uit deze uitgave mag worden vermenigvuldigd, overgenomen, opgeslagen

Nadere informatie

Gimme Five! Op weg naar TYPO3 5.0 'Phoenix'

Gimme Five! Op weg naar TYPO3 5.0 'Phoenix' Gimme Five! Op weg naar TYPO3 5.0 'Phoenix' Waarom TYPO3 5.0? Waarom TYPO3 5.0? Enkele redenen: Waarom TYPO3 5.0? Enkele redenen: Complexiteit De TYPO3 Core architectuur heeft zijn limiet bereikt en is

Nadere informatie

SQL Aantekeningen 3. Maarten de Rijke mdr@science.uva.nl. 22 mei 2003

SQL Aantekeningen 3. Maarten de Rijke mdr@science.uva.nl. 22 mei 2003 SQL Aantekeningen 3 Maarten de Rijke mdr@science.uva.nl 22 mei 2003 Samenvatting In deze aflevering: het selecteren van tuples, operaties op strings, en aggregatie functies. Verder kijken we naar iets

Nadere informatie

Magnutude 2012 Efficient BI. 18 september Joost de Ruyter van Steveninck

Magnutude 2012 Efficient BI. 18 september Joost de Ruyter van Steveninck Magnutude 2012 Efficient BI 18 september Joost de Ruyter van Steveninck 2 Inhoud Is BI nog niet efficiënt? Trends in BI Efficient BI: de trends in praktijk 3 Feedback van de gebruiker Informatie behoefte

Nadere informatie

Les 2 Eenvoudige queries

Les 2 Eenvoudige queries Les 2 Eenvoudige queries XAMP Apache server ( http ) mysql server PHP myadmin IAM SQL oefeningen Database phpmyadmin Import : sql_producten.sql, sql_winkel.sql, sql_festival.sql SAMS SQL in 10 minuten

Nadere informatie

Relationele Databases 2002/2003

Relationele Databases 2002/2003 1 Relationele Databases 2002/2003 Hoorcollege 4 8 mei 2003 Jaap Kamps & Maarten de Rijke April Juli 2003 Plan voor Vandaag Praktische dingen 3.1, 3.2, 3.3, 3.4, 3.5. SQL Aantekeningen 2 Tabellen. Theorie

Nadere informatie

Sturen met inzicht op basis van managementinformatie. InfoTopics. Agenda. Conferentie bedrijfsvoering VOSABB

Sturen met inzicht op basis van managementinformatie. InfoTopics. Agenda. Conferentie bedrijfsvoering VOSABB Sturen met inzicht op basis van managementinformatie Conferentie bedrijfsvoering VOSABB Eemnes 16 april 2008 InfoTopics Jong bedrijf met veel ervaring Focus op onderwijs Focus op managementinformatievoorziening

Nadere informatie

Informatie Systeem Ontwikkeling ISO 2R290

Informatie Systeem Ontwikkeling ISO 2R290 Informatie Systeem Ontwikkeling ISO 2R290 docent: Prof. dr. Paul De Bra Gebaseerd op: Database System Concepts, 5th Ed. doel van dit vak kennis van en inzicht in basisbegrippen over informatiesystemen

Nadere informatie

Data Warehouse. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

Data Warehouse. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V. Data Warehouse Een introductie Algemene informatie voor medewerkers van SYSQA B.V. Organisatie SYSQA B.V. Pagina 2 van 9 Inhoudsopgave 1 INLEIDING... 3 1.1 ALGEMEEN... 3 1.2 VERSIEBEHEER... 3 2 DOEL VAN

Nadere informatie

Relationele Databases 2002/2003

Relationele Databases 2002/2003 Relationele Databases 2002/2003 Hoorcollege 4 8 mei 2003 Jaap Kamps & Maarten de Rijke April Juli 2003 1 Plan voor Vandaag Praktische dingen Huiswerk 3.1, 3.2, 3.3, 3.4, 3.5. SQL Aantekeningen 2 Tabellen.

Nadere informatie

ibridge/andk the analyst s connection

ibridge/andk the analyst s connection ibridge/andk the analyst s connection ibridge / ANDK Uiteraard weet ú als criminaliteitsanalist als geen ander dat u met behulp van de Analyst s Notebook software analyseschema s handmatig kunt opbouwen

Nadere informatie

Taakgebied Bepalen huidige bedrijfsprocessen

Taakgebied Bepalen huidige bedrijfsprocessen Weten wat je doet, maar ook hoe je het doet, is de basis voor elke toekomst. Hoofdstuk 22 Taakgebied Bepalen huidige bedrijfsprocessen V1.1 / 01 september 2015 MCTL v1.1 Hoofdstuk 22... 3 Plaats in het

Nadere informatie

Titel Uw processen transparant met SAP Process Mining.

Titel Uw processen transparant met SAP Process Mining. 1 Titel Uw processen transparant met SAP Process Mining. Introductie SAP Process Mining powered by Celonis is een nieuwe component van SAP op HANA. Process Mining gaat niet uit van vooraf gedefinieerde

Nadere informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN. Faculteit Wiskunde en Informatica

TECHNISCHE UNIVERSITEIT EINDHOVEN. Faculteit Wiskunde en Informatica TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica Extra Tentamen Databases 1, 2M400, 8 oktober 2003. Alle uitwerkingen van de opgaven moeten worden ingevuld in de daarvoor bestemde vrije

Nadere informatie

Cover Page. The handle http://hdl.handle.net/1887/29570 holds various files of this Leiden University dissertation.

Cover Page. The handle http://hdl.handle.net/1887/29570 holds various files of this Leiden University dissertation. Cover Page The handle http://hdl.handle.net/1887/29570 holds various files of this Leiden University dissertation. Author: Beek, Maurice H. ter Title: Team automata : a formal approach to the modeling

Nadere informatie

Koppeling met een database

Koppeling met een database PHP en MySQL Koppeling met een database 11.1 Inleiding In PHP is het eenvoudig om een koppeling te maken met een database. Een database kan diverse gegevens bewaren die met PHP aangeroepen en/of bewerkt

Nadere informatie

hoofdstuk 9 referentiële integriteit waarborgen overige constraints 9.1 Referentiële integriteit relationele databases 9.1

hoofdstuk 9 referentiële integriteit waarborgen overige constraints 9.1 Referentiële integriteit relationele databases 9.1 relationele databases 9.1 hoofdstuk 9 referentiële integriteit waarborgen overige constraints 9.1 Referentiële integriteit Als voorbeeld nemen we een eenvoudige database, bestaande uit twee tabellen. De

Nadere informatie

Concept Development Opdracht 1B Battle of Concepts Enexis. Niels Joormann - 0819811 - CMD2a

Concept Development Opdracht 1B Battle of Concepts Enexis. Niels Joormann - 0819811 - CMD2a Concept Development Opdracht 1B Battle of Concepts Enexis Niels Joormann - 0819811 - CMD2a Inhoudsopgave Debriefing 03 Onderzoek 03 Omgevingsanalyse 04 Concept: Opgewekt! 05 Business Model Canvas 11 Pitch-presentatie

Nadere informatie

Systeemontwikkeling, Hoofdstuk 6, Query s, macro s en rapporten in MS Access 2010

Systeemontwikkeling, Hoofdstuk 6, Query s, macro s en rapporten in MS Access 2010 6. Query s, macro s en rapporten In dit hoofdstuk zetten we de puntjes op de i. Alle processen zullen in de aangemaakte formulieren met de gebruikersmenu s van de secretaris, penningmeester en wedstrijdsecretaris,

Nadere informatie

start -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c

start -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c Een Minimaal Formalisme om te Programmeren We hebben gezien dat Turing machines beschouwd kunnen worden als universele computers. D.w.z. dat iedere berekening met natuurlijke getallen die met een computer

Nadere informatie

Excel Controller. Handleiding Excel Controller Wizard

Excel Controller. Handleiding Excel Controller Wizard Excel Controller Handleiding Excel Controller Wizard 1 Inhoud Inleiding... 3 Eigen SQL... 3 Stap 1 Eigen SQL... 3 Stap 2 Testen SQL... 8 Stap 3 Wizard... 11 Stap 4 Parameters... 13 Voorbeeld Eigen Parameter...

Nadere informatie

Een website maken met databasetoegang.

Een website maken met databasetoegang. Hoofdstuk 5 Een website maken met databasetoegang. In dit hoofdstuk gaan we het weblog dat je in hoofdstuk 4 hebt gemaakt verder uitbreiden. Een belangrijk onderdeel wordt toegevoegd aan de applicatie,

Nadere informatie

KENSINGTON Business Intelligence

KENSINGTON Business Intelligence De formule voor vooruitgang... Kensington B.I. geeft de formule om uw bedrijf nog beter te besturen... De cockpitsoftware verschaft u alle informatie die u nodig heeft voor het besturen van uw bedrijf.

Nadere informatie

SQL datadefinitietaal

SQL datadefinitietaal SQL datadefinitietaal We kunnen er het schema van de database mee bepalen: metadata toevoegen, wijzigen en verwijderen uit een database. Basiscommando's: CREATE : toevoegen van metagegevens DROP : verwijderen

Nadere informatie

I N H O U D V l a a m s M i n i s t e r - p r e s i d e n t K r i s P e e t e r s

I N H O U D V l a a m s M i n i s t e r - p r e s i d e n t K r i s P e e t e r s 5 I N H O U D Lijst van figuren 15 Lijst met tabellen 23 Voorwoord Vlaams Minister-president Kris Peeters 25 Dankwoord Inleiding Organisatie van dit boek Deel I Uitdagingen en definities van performance

Nadere informatie

Als er besloten is een database op te stellen dient men een analyse van de informatiegegevens te volbrengen.

Als er besloten is een database op te stellen dient men een analyse van de informatiegegevens te volbrengen. Normaliseren Een van de voornaamste rollen in een informatie systeem is het bewaren van gegevens en liefst over een lange tijd. Meestal doen we dat door middel van een gegevensbank of databank. Deze gestructureerde,

Nadere informatie

Afstudeeropdracht bachelor informatica

Afstudeeropdracht bachelor informatica Webgebaseerde ontsluiting loggegevens van IDEAS Afstudeeropdracht bachelor informatica David Beniers, Anand Mandhre, Michiel van Kempen Bastiaan Heeren, Harold Pootjes Inhoud Opdracht IDEAS Aanpak Taakverdeling

Nadere informatie

Microsoft Excel. It s all about Excel - VBA

Microsoft Excel. It s all about Excel - VBA X Microsoft Excel Stap in de wereld van Visual Basic for Applications (VBA) binnen het Microsoft Office programma Excel. Leer hoe deze programmeertaal precies in elkaar zit en hoe u deze in de dagelijkse

Nadere informatie

SRM College for Brand Management

SRM College for Brand Management SRM College for Brand Management Exameneisen Inleiding Zoals in het examenreglement is bepaald, wordt de strekking van de hierna geformuleerde eisen nader aangeduid door het studiemateriaal van de opleiding

Nadere informatie

Workflows voor SharePoint met forms en data K2 VOOR SHAREPOINT

Workflows voor SharePoint met forms en data K2 VOOR SHAREPOINT Slimmer samenwerken met SharePoint Workflows voor SharePoint met forms en data K2 VOOR SHAREPOINT Workflows, forms, reports en data WAAROM KIEZEN VOOR K2? Of u nu workflows moet maken voor items in SharePoint

Nadere informatie

Registratie Data Verslaglegging

Registratie Data Verslaglegging Registratie Data Verslaglegging Registratie Controleren en corrigeren Carerix helpt organisaties in het proces van recruitment en detachering. De applicatie voorziet op een eenvoudige wijze in de registratie

Nadere informatie

Project plan. Erwin Hannaart Sander Tegelaar 61849 62407

Project plan. Erwin Hannaart Sander Tegelaar 61849 62407 Project plan Erwin Hannaart Sander Tegelaar 61849 62407 I4C2 I4C1 1 Inhoudsopgave Doel en doelgroep van het project... 3 Beschrijving van het project... 4 Benodigde materialen... 5 Te verwachten resultaten,

Nadere informatie

Exact Synergy Enterprise. Krachtiger Financieel Management

Exact Synergy Enterprise. Krachtiger Financieel Management Exact Synergy Enterprise Krachtiger Financieel Management 1 Inleiding Waar gaat het om? Makkelijke vragen zijn vaak het moeilijkst te beantwoorden. Als het hectische tijden zijn, moet u soms veel beslissingen

Nadere informatie

meezeilen.nl : het internetknooppunt voor de nederlandse beroepszeilvaart

meezeilen.nl : het internetknooppunt voor de nederlandse beroepszeilvaart : het internetknooppunt voor de nederlandse beroepszeilvaart is het internetknooppunt voor de beroepszeilvaart in Nederland. Een knooppunt waar informatie samenkomt en vervolgens op verschillende manieren

Nadere informatie

Principieel slopen Jan Mulder

Principieel slopen Jan Mulder Principieel slopen Jan Mulder Slopen in onze IT wereld vergelijk dat eens met slopen in de wereld van gebouwen. Hoe slopen wij, hoe gaat het met gebouwen? Een voorbeeld dat ik regelmatig gebruik in gesprekken

Nadere informatie

PRODUCT SHEET WHAT WE DO

PRODUCT SHEET WHAT WE DO ESDNOW, onderdeel van DISC BV, is dé Europese specialist als het gaat om het beheren, beveiligen, verkopen, toegang verschaffen tot, en distributie van digitale content. ESDNOW helpt uitgevers bij het

Nadere informatie

Whitepaper. Personal Targeting Platform. De juiste content Op het juiste moment Aan de juiste persoon

Whitepaper. Personal Targeting Platform. De juiste content Op het juiste moment Aan de juiste persoon Whitepaper Personal Targeting Platform De juiste content Op het juiste moment Aan de juiste persoon Introductie 2 Geïntegreerde personalisering 2 Het opbouwen van een profiel 2 Segmenteren en personaliseren

Nadere informatie

ENERGIE BEDRIJVEN EN ICT

ENERGIE BEDRIJVEN EN ICT ENERGIE BEDRIJVEN EN ICT De energiemarkt in Nederland is continu in beweging. Nieuwe toetreders veroveren marktaandeel en slimme meters, sectorwijzigingen en splitsing zorgen voor veranderingen. Energiebedrijven

Nadere informatie

Application interface. service. Application function / interaction

Application interface. service. Application function / interaction Les 5 Het belangrijkste structurele concept in de applicatielaag is de applicatiecomponent. Dit concept wordt gebruikt om elke structurele entiteit in de applicatielaag te modelleren: softwarecomponenten

Nadere informatie

Nieuw modules. Scherm met lijst

Nieuw modules. Scherm met lijst Nieuw modules In de nieuwe modules wordt gebruik gemaakt van een nieuwe vormgeving die beter aansluit bij die van bekende sites. In dit gedeelte worden de verschillende onderdelen in deze vormgeving uitgelegd

Nadere informatie

Case Closed. Foto: Roy Beusker

Case Closed. Foto: Roy Beusker Case Closed Foto: Roy Beusker De Nationale Postcode Loterij, de Sponsor Bingo Loterij en de BankGiro Loterij vormen gezamenlijk de Goede Doelen Loterijen in Nederland. Deze loterijen streven ernaar een

Nadere informatie

Succesvolle toepassing van 360 graden feedback: De keuze van het 360 instrument en de voorbereiding op het 360 traject

Succesvolle toepassing van 360 graden feedback: De keuze van het 360 instrument en de voorbereiding op het 360 traject Succesvolle toepassing van 360 graden feedback: De keuze van het 360 instrument en de voorbereiding op het 360 traject Augustus 2011 Waar werknemers onderdeel zijn van een organisatie, wordt beoordeeld.

Nadere informatie

PILNAR web applicatie. Handleiding

PILNAR web applicatie. Handleiding PILNAR web applicatie Handleiding Table of Contents De PILNAR editor...3 Toegang tot de omgeving...3 De PILNAR omgeving...3 Hoofdmenu...4 Navigatie...5 Zoeken...6 Detailoverzichten...6 Collectie... 7 Inzending...

Nadere informatie

Datamining: Graven in gegevens

Datamining: Graven in gegevens Datamining: Graven in gegevens Business Intelligence in de praktijk Jasper Lansink CMG Noord Nederland - Advanced Technology Agenda Business Intelligence Datamining theorie Datamining in de praktijk management

Nadere informatie

T Titel stage/afstudeeropdracht : Toekomstvaste Applicatie Integratie - Interconnectiviteit

T Titel stage/afstudeeropdracht : Toekomstvaste Applicatie Integratie - Interconnectiviteit Titel stage/afstudeeropdracht : Toekomstvaste Applicatie Integratie - Interconnectiviteit Duur van stage/afstuderen Manager Begeleider Locatie : 6 à 9 Maanden : dr. ir. J.J. Aue : dr. ir. H.J.M. Bastiaansen

Nadere informatie

E-resultaat aanpak. Meer aanvragen en verkopen door uw online klant centraal te stellen

E-resultaat aanpak. Meer aanvragen en verkopen door uw online klant centraal te stellen E-resultaat aanpak Meer aanvragen en verkopen door uw online klant centraal te stellen 2010 ContentForces Niets uit deze uitgave mag worden verveelvoudigd en/of openbaar gemaakt door middel van druk, fotokopie,

Nadere informatie

PROGRAMMA 2011-2012. Vak: informatica..

PROGRAMMA 2011-2012. Vak: informatica.. Vak: informatica.. Laag: Havo-. PROGRAMMA 2011-2012 week leerstof dagen toets overig 34-26.08 zomervakantie Bespreking PTA-404 Deze week: uitreiking van de Praktische Opdracht Programmeren Herhaling theorie

Nadere informatie

Excel reader. Beginner Gemiddeld. bas@excel-programmeur.nl

Excel reader. Beginner Gemiddeld. bas@excel-programmeur.nl Excel reader Beginner Gemiddeld Auteur Bas Meijerink E-mail bas@excel-programmeur.nl Versie 01D00 Datum 01-03-2014 Inhoudsopgave Introductie... - 3 - Hoofdstuk 1 - Databewerking - 4-1. Inleiding... - 5-2.

Nadere informatie

Analyst s Workstation. the analytical collection

Analyst s Workstation. the analytical collection Analyst s Workstation the analytical collection Analyst s Workstation Analyst s Workstation is de softwareoplossing voor het verzamelen, opslaan, onderzoeken en analyseren van onderzoeksgegevens. U brengt

Nadere informatie

Les 15 : updaten van gegevens in de database (deel2).

Les 15 : updaten van gegevens in de database (deel2). Les 15 : updaten van gegevens in de database (deel2). In de volgende reeks lessen zal alle vorige leerstof uitgebreid aan het bod komen. Zie ook de vorige lessen en documenten om informatie op te zoeken

Nadere informatie

case: ocl-expressies

case: ocl-expressies Hoofdstuk 7 case: ocl-expressies In dit hoofdstuk worden de expressies ontwikkeld bij het domein-klassediagram van de case zoals dat in hoofdstuk 5 ontwikkeld is. Daarna worden de resterende stappen uit

Nadere informatie

Technisch Ontwerp W e b s i t e W O S I

Technisch Ontwerp W e b s i t e W O S I Technisch Ontwerp W e b s i t e W O S I WOSI Ruud Jungbacker en Michael de Vries - Technisch ontwerp Website Document historie Versie(s) Versie Datum Status Omschrijving / wijzigingen 0.1 20 nov 2008 Concept

Nadere informatie

In twee dagen een jaar verder

In twee dagen een jaar verder In twee dagen een jaar verder The 48 hrs by Laboratorivm Met The 48 hrs introduceert Laboratorivm een nieuwe methode om binnen 48 uur een diepgaande merkstrategie te ontwikkelen, inclusief creatieve vertalingen

Nadere informatie

Wijzigingen Universe OSIRIS Manager versie 6.14.1/02 augustus 2014

Wijzigingen Universe OSIRIS Manager versie 6.14.1/02 augustus 2014 Inhoud Inleiding...2 Toelichting extra functionaliteit in release 6.14.1/02...2 Bepalen toetsdatum...2 Wens uitbereiding OSMAN universe met historie geldend resultaat...2 Wens 1: Een class met de historische

Nadere informatie

Rapport onderzoek Afgevaardigden

Rapport onderzoek Afgevaardigden 1. Inleiding Op 30 november 2012 (herinnering op 12 december) hebben 28 afgevaardigden en 1 oudafgevaardigde van Badminton Nederland een mailing ontvangen met daarin een link naar de enquête Afgevaardigden

Nadere informatie

Rapport over het werkprofiel van Software engineer (sr)

Rapport over het werkprofiel van Software engineer (sr) Rapport over het werkprofiel van Software engineer (sr) Identificatienummer: Publicatiedatum: 19 november 2015 Leeswijzer Dit rapport omschrijft het werkprofiel van 'Software engineer (sr)' zoals die door

Nadere informatie

case: toestandsdiagrammen

case: toestandsdiagrammen Hoofdstuk 13 case: toestandsdiagrammen In dit hoofdstuk wordt het maken van de eerste versie van de toestandsdiagrammen voor het boodschappensysteem van Hans en Jacqueline uitgewerkt. 13.1 Vind klassen

Nadere informatie

Les F-02 UML. 2013, David Lans

Les F-02 UML. 2013, David Lans Les F-02 UML In deze lesbrief wordt globaal beschreven wat Unified Modeling Language (UML) inhoudt. UML is een modelleertaal. Dat wil zeggen dat je daarmee de objecten binnen een (informatie)systeem modelmatig

Nadere informatie

Enterprise warehouse architectuur Het definiëren van een informatiearchitectuur in de praktijk.

Enterprise warehouse architectuur Het definiëren van een informatiearchitectuur in de praktijk. Enterprise warehouse architectuur Het definiëren van een informatiearchitectuur in de praktijk. Inleiding Over datawarehousing wordt veel geschreven vanuit de toepassing en helaas minder vanuit de architectuur.

Nadere informatie

Hoofdstuk 4: Sjablonen & Dia Modellen

Hoofdstuk 4: Sjablonen & Dia Modellen Hoofdstuk 4: Sjablonen & Dia Modellen 4.0 Introductie Hoofdstuk 1 tot 3 neemt de grondbeginselen door, van het toevoegen van inhoud aan een presentatie. Als je alleen af en toe eenvoudige presentaties

Nadere informatie

In 3 stappen naar de juiste keuze voor marketing software

In 3 stappen naar de juiste keuze voor marketing software In 3 stappen naar de juiste keuze voor marketing software 4orange, 2014 Hogehilweg 24 1101 CD Amsterdam Zuidoost www.4orange.nl 2 Hoe kunnen de juiste keuzes voor marketing software gemaakt worden? In

Nadere informatie

Data Governance van visie naar implementatie

Data Governance van visie naar implementatie make connections share ideas be inspired Data Governance van visie naar implementatie Frank Dietvorst (PW Consulting) deelprogrammamanager Caesar - Vernieuwing Applicatie Landschap Leendert Paape (SAS

Nadere informatie

Ontwerp rapport Digitaal Instellingsplan Hogeschool van Amsterdam

Ontwerp rapport Digitaal Instellingsplan Hogeschool van Amsterdam Ontwerp rapport Digitaal Instellingsplan Hogeschool van Amsterdam Team Fristeractief: Annet Heitman Jasper Mijdam Charlotte Cozijn Puck Holshuijsen Marieke Zeegers 17 november 2010 Digitaal instellinsplan,

Nadere informatie

SQL & Relationele datamodellen in interactieve media

SQL & Relationele datamodellen in interactieve media SQL & Relationele datamodellen in interactieve media HVA-CMD-V1-datamodelleren oefeningen deel 1: SQL 2012-2013 Inhoud Inhoud... 2 Selecties uit een enkelvoudige datatabel... 3 Selecties uit een meerdere

Nadere informatie

Technische Functies - hoe ontwerpmethodologie filosofische analyse tart

Technische Functies - hoe ontwerpmethodologie filosofische analyse tart Technische Functies - hoe ontwerpmethodologie filosofische analyse tart 14 mei 2014 Pieter E. Vermaas Sectie Filosofie, Technische Universiteit Delft Mijn presentatie Functie is een fundamenteel begrip

Nadere informatie

Zorginstelling Reinier de Graaf Groep realiseert solide business intelligence-systeem

Zorginstelling Reinier de Graaf Groep realiseert solide business intelligence-systeem Zorginstelling Reinier de Graaf Groep realiseert solide business intelligence-systeem Overheid en verzekeraars willen dat zorginstellingen efficiënter en kosteneffectiever functioneren. Met standaard Microsoft-technologie

Nadere informatie

Kenmerken van DLArchitect

Kenmerken van DLArchitect Kenmerken van DLArchitect Bert Dingemans, e-mail : bert@dla-os.nl www : http://www.dla-os.nl 1 Inhoud KENMERKEN VAN DLARCHITECT... 1 INHOUD... 2 INLEIDING... 3 ARCHITECTUUR... 3 Merode... 3 Methode en

Nadere informatie

Systeemontwikkeling, Hoofdstuk 4, Tabellen maken in MS Access 2010

Systeemontwikkeling, Hoofdstuk 4, Tabellen maken in MS Access 2010 4 Tabellen maken in MS Access In dit hoofdstuk starten we met de bouw van ons informatiesysteem met de belangrijkste bouwstenen: de tabellen. 4.1 Starten met MS Access Als je het programma Microsoft Access

Nadere informatie