MOS Access 2013 Praktijkboek Basisprincipes De databases Maken van een database Het theater Normaliseren en relaties Het tijdschrift Selectie- en actiequery’s Het assurantiekantoor Formulieren ontwerpen Het uitzendbureau Rapporten ontwerpen De voetbalclub ISBN 978-90-5906-433-1 Macro’s Automatiseren Importeren of koppelen De partyverhuur 9 789059 064331 Artikelnummer vbb46131404 MOS Access 2013 Praktijkboek ISBN 978-90-5906-433-1 artikelnummer vbb46131404 titel MOS - Access 2013 Praktijkboek versie juli 2014 auteur Anne Timmer-Melis ontwerp Studio Blanche opmaak vanbuurtICT © auteur onderdeel van www.vanbuurtict.nl www.vbb-online.nl EDUCATIEVE UITGEVERIJ [email protected] Alle rechten voorbehouden. Niets uit deze uit­­ gave mag worden verveelvoudigd, opgeslagen in een geautomatiseerd gegevensbestand, of openbaar gemaakt, in enige vorm of op eni­ge wijze, hetzij elek­tro­nisch, mechanisch, door fotokopieën, opnamen, of op enige andere wijze, zonder vooraf­gaande schrif­telijke toe­s temming van de uitgever. Ondanks de aan de samenstelling van de tekst bestede zorg kan de uitgever geen aansprakelijkheid aanvaarden voor eventuele schade, die zou kunnen voortvloeien uit enige fout, die in deze uitgave zou kunnen voorkomen. Inhoud Om te beginnen Oefenbestanden De modules van Microsoft Access 2013 Wat is nieuw? 5 6 7 10 Basisprincipes De databases De basisprincipes van een database Database modellen SQL De levenscyclus van een database Zakelijke databases Tot slot 14 14 17 18 20 22 Maken van een database Het theater De elementen van Access Access starten Maken van een database Het bewerkingsvenster Werkbalk Snelle toegang Het lint Aanvullende tabbladen Verandering van het lint Tabel ontwerpen en opslaan Gegevenstype bepalen Beschrijving toevoegen Veldeigenschappen bepalen Tabel aanpassen en testen op juiste invoer Veld verwijderen Veld toevoegen Tabel sluiten Database sluiten Access afsluiten Database openen Tabellen raadplegen Gegevens opzoeken en vervangen in een tabel Tabel sorteren Filteren Record zoeken en verwijderen Tabel opmaken Totalen berekenen Tabel afdrukken Standaardlocatie Vertrouwde locatie voor uw bestanden maken Praktijkopdrachten Tot slot 26 28 29 29 30 32 32 32 33 35 37 37 44 45 46 46 46 47 47 48 49 51 52 53 54 54 55 56 56 58 60 Selectie- en actiequery’s Het assurantiekantoor De query’s 84 De selectiequery 85 Query opslaan 87 Nieuwe query op basis van een bestaande dynaset 88 Query opslaan met andere naam 89 Jokertekens gebruiken 89 Query met een parameter 90 Query wijzigen in query met twee parameters 92 Berekeningen in een selectiequery 93 Het berekenen van groepstotalen en gemiddelden 94 Bijwerkquery 96 Toevoegquery 98 Verwijderquery 100 Tabelmaakquery 101 Kruistabelquery maken 102 Dubbele records zichtbaar maken 105 Query’s en koppelingen 107 Niet-gerelateerde records zoeken 114 Praktijkopdrachten 118 Tot slot 130 Formulieren ontwerpen Het uitzendbureau De formulieren van Access Hoofd- en subformulier maken Formulier bekijken en wijzigen in ontwerpweergave Formulier opmaken en anders indelen Gegevens opzoeken met een keuzelijst Onafhankelijk besturingselement invoegen Keuzelijst met en zonder invoervak Selectievak of keuzerondje toevoegen Groepsvak maken Tabvolgorde van besturingselementen wijzigen Eigenschappen van besturingselementen Berekend besturingselement toevoegen Expressies Formulier met tabbladen Formulier met opdrachtknoppen Praktijkopdrachten Tot slot 134 136 139 141 143 147 149 157 158 162 163 164 166 169 171 174 179 Rapporten ontwerpen De voetbalclub Normaliseren en relaties Het tijdschrift Normaliseren Primaire sleutels toevoegen Relaties aanbrengen Wijzigen van de relaties Relatie verwijderen Relaties opslaan Relatierapport maken Bekijken van tabellen met relaties Formulier bekijken met gerelateerde tabellen Praktijkopdrachten Tot slot 64 67 69 73 73 73 73 74 75 78 80 De optie rapporten Rapport maken Gekoppeld subrapport maken Subrapport wijzigen of verwijderen Records sorteren en groeperen Groepering wijzigen, toevoegen in rapportontwerp Sortering toevoegen in ontwerpweergave Sorteren en groepering verwijderen Berekenen in groeperingen Cumulatief totaal doorgeteld bij groepen Pagina-einden forceren voor groepen Eindtotaal en subtotaal berekenen 184 187 189 193 194 197 198 199 199 201 202 202 3 Rapport opmaken Rapportkop- of voetteksten Rapportkoptekst met gegevensveld Rapportkopteksten en -voetteksten verwijderen Velden in rapport samenvoegen Case Etiketten maken Problemen met printen Praktijkopdrachten Tot slot 203 205 208 209 210 211 216 220 221 225 Macro’s Automatiseren Het object macro Macro maken Macro gebruiken Macro toewijzen aan opdrachtknop Macro koppelen aan een besturingselement Macro bewerken Hulp bij het maken van een macro Macrofouten Praktijkopdrachten Tot slot 230 231 232 234 236 239 239 239 240 240 Importeren of koppelen De partyverhuur Importeren of koppelen Koppelen uit Excel Een koppeling naar een tekstbestand maken Gegevens importeren uit Excel Gegevens uit een tekstbestand importeren Praktijkopdrachten Tot slot Index 4 244 245 249 252 255 257 259 262 Om te beginnen Voor wie zijn deze modules bestemd? De serie Office Expert bestaat uit 65 autonome modules waarmee u zich kennis eigen maakt die u nodig hebt om uw beroepstaken goed te kunnen uitvoeren. Voordat de modules werden samengesteld, is er gekeken naar onderzoeken over de uitvoering van kantoorwerkzaamheden en welke programma’s van Microsoft Office werden gebruikt. Deze resultaten zijn opgenomen in de thema’s die gekozen zijn uit op maat gesneden bedrijfstrainingen. Hierdoor zijn de modules buitengewoon praktijkgericht. Over het programma Access zijn 8 modules geschreven waarin alle aspecten worden beschreven voor het maken van een relationele database. Hiermee kunt u zich goed voorbereiden op een examen waarvan databaseontwerp een onderdeel van de studie is. De eindtermen van het certificaat voor Microsoft Office Specialist (MOS) Access zijn ook opgenomen. Maar ook de eindtermen van het examen ECDL, module Advanced Database (AM5). Wilt u niet alle modules doornemen, dan is het mogelijk om met de autonome modules een maatwerkboek voor de beroepsopleidingen of trainingen samen te stellen. Neem hiervoor contact op via [email protected]. Hoe zijn de modules opgebouwd? Elke module begint met een korte toelichting van het onderdeel dat wordt geïnstrueerd. Bij de doelstellingen die daarop volgen, leest u welke opties hierbij horen. Zo krijgt u direct een beeld van wat u in de module leert. Met de modules gaat u direct aan de slag volgens het concept Learning by doing. Bij alle instructies zijn schermafbeeldingen toegevoegd, zo maakt u zich de kennis gemakkelijk eigen. Conventies Bij alle modules wordt kleur gebruikt om bepaalde tekst te onderscheiden. De aandachtspunten bij elke module zijn op gekleurde pagina’s geplaatst. In de marge staan: blauwe tekstblokken, waarin u leest wat belangrijk is om te onthouden. groene tekstblokken, met tips hoe u een optie ook kunt activeren. rode tekstblokken, met informatie die op dat moment relevant is. paarse tekstblokken, met toetscombinaties waarmee u een optie sneller uitvoert. Bij de instructies zijn de stappen genummerd en de woorden die u ook op het beeldscherm ziet, vet gedrukt. Met full color schermafbeeldingen worden de instructies gevisualiseerd. ONTHOUD TIP OPMERKING SNELTOETS 5 Oefenbestanden Om de opdrachten te kunnen maken hebt u oefenbestanden nodig. Deze kunt u downloaden vanaf de website www.vbb-online.nl. Voor het downloaden volgt u onderstaande beschrijving: 1 Ga naar de website www.vbb-online.nl. 2 Typ in het vak Op zoek naar oefenbestanden? het bestelnummer dat achter op dit boek staat. 3 Klik op Zoeken. 4 Klik daarna in het popup venster op de link(s) van de oefenbestanden. Meer uitleg over het aanmaken van een account vindt u door op de startpagina onder het kopje Handleidingen de handleiding Oefenbestanden te downloaden. Boeken en vbb-online Bij de boeken horen, toetsen, samenvattingen, videoinstructies en extra lesstof. Al deze items zijn te vinden op de site www.vbb-online.nl. Om gebruik te kunnen maken van deze extra materialen moet u inloggen met de activeringscode die op de achterkant van dit boek staat. Let op: De activeringscode is maar één keer te gebruiken. Hebt u een tweedehands exemplaar, dan is de activeringscode waarschijnlijk al gebruikt. U kunt dan een nieuwe code bestellen via onze webshop. Meer informatie over het aanmaken van een account leest u in de handleiding Account aanmaken die u kunt downloaden van de website www.vbb-online.nl onder het kopje Handleidingen. Toetsen De toetsen die u kunt maken op vbb-online bestaan uit multiple-choicevragen, hotspotvragen en open vragen waarmee u kunt testen of u de behandelde opties van een hoofdstuk/module hebt begrepen. Videoinstructies Bij verschillende opties die in dit boek worden besproken zijn instructievideo´s gemaakt waarmee de opties stap voor stap worden uitgelegd. Hiermee kunt u op uw eigen tempo een instructie bekijken en fragmenten herhalen of thuis een instructie opnieuw bekijken. De video´s zijn te benaderen via een oefenbestand van het boek of via uw account op vbb/online. Extra materialen Bij verschillende modules is er extra oefenmateriaal beschikbaar. Soms is dit uitbreiding op de lesstof of extra oefeningen voor een lastige optie. Ook zijn er cases die meerdere modules/hoofdstukken bevatten. In onderstaand schema ziet u een korte omschrijving van de modules van Access en welke modules er nodig zijn om u voor te bereiden op het examen ECDL module Advanced Database AM5 of het certificaat MOS Access. Modulenr. Thema 1 De databases 2 Het theater Onderwerp omschrijving MOS codes ECDL categorie Basisprincipes MOS Basis Domein 1.1 Dit is een intro in de opbouw van basisprincipes van een database. U leert de verschillende databasemodellen herkennen en de relatie te leggen met zakelijke databases. Deze module behandelt alleen de theorie van de databases. Maken van een database In deze module maakt u een database voor een theater. Ook komt het zoeken van gegevens binnen tabellen aan de orde. MOS Basis Domein 1.1 Domein 1.2 Domein 2.1 Domein 2.2 Domein 2.3 ECDL Advanced AM 5.2.1.1 AM 5.2.1.2 AM 5.2.1.3 3 Het tijdschrift Normaliseren en relaties Een goed functionerende database moet aan een aantal eisen voldoen. Voor het bepalen van de indeling van een database zijn dan ook verschillende technieken ontwikkeld, zodat het ontwerpproces goed verloopt. In deze module wordt gebruikgemaakt van de techniek van normaliseren, zoals deze is opgesteld door Edgar Codd. Access Opties ●● ●● ●● ECDL Advanced AM 5.1.1.1 AM 5.1.1.2 AM 5.1.1.3 AM 5.1.1.4 MOS Basis Domein 2.4 Domein 4.2 ECDL Advanced AM 5.2.2.1 AM 5.2.2.2 AM 5.2.2.3 AM 5.2.2.4 AM 5.2.2.5 De modules van Microsoft Access 2013 ●● ●● ●● ●● ●● ●● ●● ●● ●● ●● ●● ●● ●● ●● ●● ●● ●● De basisprincipes van database modellen Opbouw van een database SQL taal Zakelijke databases Elementen van Access benoemen Database maken Tabel maken Gegevenstypes bepalen Vereiste veldeigenschap toekennen Invoermasker definiëren Tabel aanpassen Zoeken in velden Normaliseren van databasegegevens Maken van technische ERD (Entity Relationship Diagram) Maken van een één op één relatie Maken van een één op véél relatie Maken van een véél op véél relatie Afdwingen van referentiële integriteit Gerelateerde velden trapsgewijs bijwerken Gerelateerde records trapsgewijs verwijderen 7 Modulenr. Thema 4 Het assurantie­ kantoor 5 Het uitzend­ bureau Onderwerp omschrijving MOS codes ECDL categorie Selectie- en actiequery’s MOS Basis Domein 4.1 Domein 4.2 Domein 4.3 Domein 4.4 Domein 4.5 De grootste kracht van een database zijn de query’s. Met een query kunt u uit een database informatie selecteren die op dat moment gewenst is. Maar met behulp van query’s kunt u ook gegevens wijzigen, analyseren, berekeningen uitvoeren en nieuwe tabellen maken. Al deze varianten komen in deze module aan de orde. Formulieren ontwerpen Als gebruiker bekijkt en bewerkt u de gegevens van een database meestal via een formulier. Het formulier kan één record weergeven maar ook een aantal records of velden uit verschillende tabellen. De formulieren in Access zijn dan ook op verschillende manieren te ontwerpen. ECDL Advanced AM 5.2.2.6 AM 5.2.2.7 AM 5.2.2.8 AM 5.3.1.1 AM 5.3.1.2 AM 5.3.1.3 AM 5.3.1.4 AM 5.3.1.5 AM 5.3.1.6 AM 5.3.1.7 AM 5.3.2.1 AM 5.3.2.2 AM 5.3.2.3 AM 5.3.2.4 AM 5.3.2.5 MOS Basis Domein 3.1 Domein 3.2 Domein 3.3 Domein 3.4 Access Opties ●● ●● ●● ●● ●● ●● ●● ●● ●● ●● ●● ●● ●● ●● ●● ●● ●● ECDL Advanced AM 5.4.1.1 AM 5.4.1.2 AM 5.4.1.3 AM 5.4.1.4 AM 5.4.1.5 ●● ●● ●● ●● ●● ●● ●● 6 De voetbal­ club Rapporten ontwerpen De database is een bron van gegevens waarmee u allerlei informatie met of zonder gebruik van query’s kunt samenstellen. Denk hierbij aan overzichten van verkoopgegevens, productlijsten, telefoonlijsten salaris werknemers, facturen, ledenlijsten, etiketten of samenvattingen. Al deze informatie kunt u overzichtelijk op papier presenteren met het onderdeel rapporten. MOS Basis Domein 5.1 Domein 5.2 Domein 5.3 Domein 5.4 Domein 5.5 Domein 5.6 ●● ●● ●● ●● ●● ●● ●● ECDL Advanced AM 5.6.2.1 AM 5.6.2.2 ●● ●● ●● ●● ●● 8 Selectiequery Parameterquery Tabelmaakquery Toevoegquery Bijwerkquery Verwijderquery Kruistabelquery Inner joins Left en right joins Full join Subtract join Self join Gebruik maken van formulier wizard Maken van hoofd- en subformulier Formulier ontwerpen Plaatsen, wijzigen en verwijderen van ­afhankelijke besturingselementen Plaatsen van onafhankelijke besturings­elementen wijzigen en verwijderen Rekenkundige besturingselementen samenstellen Keuzelijst maken Keuzelijst met invoervak Selectievak aanbrengen Groepsvakken maken Tekstvak aanbrengen Tabvolgorde van besturingselement wijzigen Rapport samenstellen Gekoppeld subrapport maken Berekende besturingselementen aanbrengen Notatie wijzigen van besturingselementen Lopende totalen toepassen voor het geheel en voor een groep Rapport opmaken Velden in een rapport samenvoegen Etiketten maken Mailings maken Gegevensveld invoegen in kop- of voetteksten Records in een rapport sorteren Pagina-einden forceren 7 Automatiseren 8 De party­ verhuur Onderwerp omschrijving MOS codes ECDL categorie Macro’s MOS Basis Domein 1.3 Werken met een database betekent vaak dezelfde handelingen uitvoeren. Het openen van formulieren het bekijken van een tabel of het afdrukken van een rapport. Het is dan prettig dat met één muisklik deze acties worden uitgevoerd. Het gereedschap dat u hiervoor gebruikt is een macro. Importeren of koppelen De gegevens van de verschillende databases zijn meestal met elkaar uit te wisselen door te importeren, exporteren, koppelen of te kopiëren. Hierdoor is het niet nodig om de gegevens opnieuw in te voeren. Access Opties ●● ●● ●● ECDL Advanced AM 5.6.2.1 AM 5.6.2.2 MOS Basis Domein 2.5 ECDL Advanced AM 5.6.1.1 AM 5.6.1.2 ●● ●● ●● ●● ●● ●● ●● Modulenr. Thema Macro object openen Macro object sluiten Macro openen en maximaliseren Macro openen en minimaliseren Macro object printen en sluiten Macro toewijzen/koppelen aan een opdracht knop Excel gegevens koppelen aan een database Gegevens van een tekstbestand koppelen aan een database Excel gegevens importeren in Access Tekstbestanden importeren in een database Naast de modules voor Microsoft Acces 2013 zijn er ook modules ontwikkeld voor de programma’s Word, Excel, Outlook en PowerPoint. Ook met deze modules zijn boeken samengesteld voor de certificering van MOS Basis en Expert en ECDL ­Advanced. 9 Wat is nieuw? In Access 2013 zijn opnieuw veranderingen doorgevoerd die het werken met Access gemakkelijker maken. De versie is ten opzichte van 2010 weer veranderd en gebruikersvriendelijker geworden. Draaigrafiek De functie draaigrafiek of draaitabellen zijn verdwenen in uit het programma. U kunt deze wel importeren uit Excel en andere toepassingen. Veld Memo Het veld memo heet nu Lange tekst, maar verder is er niets veranderd. Optie Back-up De optie back-up is nu nog gemakkelijk gemaakt. U kies voor Opslaan als en u maakt met de keuze Back-up van database een back-up. Access-app Een nieuw type database dat u in Access kunt maken is Access-app. Deze optie is te vergelijken met de webMet deze opties maakt u een webdatabase waarmee u gegevens in de cloud kunt bekijken en delen. 10 Basisprincipes De databases Access 2013 De databases Databases worden binnen elke bedrijfsomgeving gebruikt om gegevens op te slaan. De marketeer raadpleegt op deze manier de gegevens over sales, e-commerce en c­ ustomer support. De medewerker communicatie gebruikt een database om ­gegevens op internet te publiceren en de financiële administratie kan snel de ­fac­turering en orderregistratie realiseren. Allerlei databases met als een doel efficiënt en foutloos verwerken van gegevens. Een database is te omschrijven als een verzameling van gegevens die wordt opgeslagen in digitale tabellen en die afhankelijk of onafhankelijk van elkaar te zijn raadplegen. Werelds grootste netwerk van databases is internet. Doelstellingen In deze module leest u waarvoor een database wordt gebruikt, welke modellen en zakelijke toepassingen er zijn. Onderwerpen die in deze module aan de orde komen zijn: ●● fasen waarmee een database wordt database modellen ●● de basisprincipes van een database opgebouwd ●● ●● ●● Basisprincipes De databases Basisprincipes SQL zakelijke databases De in deze module behandelde onderwerpen behorend bij: MOS Basis ECDL Advanced Database AM 5 1.1Structureren van een database AM 5.1.1.1 Weten wat verschillende soorten databases bestaan AM 5.1.1.2 Bekend zijn met de fasen van de levenscyclus van de database AM 5.1.1.3 Algemene zakelijk toepassingen AM 5.1.1.4 Bekend zijn met de term SQL. 13 De basisprincipes van een database U gebruikt internet en pint geld uit een apparaat en zonder dat u zich ervan bewust bent, maakt u gebruik van databases. Internet is niets anders dan een netwerk van computers waar miljoenen databases zijn opgeslagen met daarin tabellen met ip-adressen, namen van websites en geïndexeerde trefwoorden. Door in een zoekmachine (bijvoorbeeld Google) een woord in te typen wordt in databases gezocht en krijgt u snel een aantal hyperlinks te zien die gerelateerd zijn aan een website waarin het zoekwoord voorkomt. Pint u geld uit een automaat dan worden van de magneetstrip van uw pinpas de persoonlijke gegevens gelezen en wordt zodra u het geldbedrag invoert een database geraadpleegd of u nog genoeg krediet heeft om geld te pinnen. Vervolgens wordt het gepinde bedrag geregistreerd in een tabel van de database en een berekening uitgevoerd die het saldo vermindert met het gepinde bedrag. Veel bedrijven werken met een bedrijfsinformatiesysteem waarin bedrijfsinformatie wordt opgeslagen en zakelijke transacties worden vastgelegd. Deze informatie­ systemen zijn ook databases. Een database laat zich omschrijven als een programma waarin gegevens in tabellen worden opgeslagen en waaruit snel informatie kan worden geselecteerd. Database modellen Een databasemodel of datamodel wordt gebruikt voor het structureren van een database maar zegt niets over de inhoudelijke invulling. In een datamodel wordt bijvoorbeeld gespecificeerd dat een bedrijf de namen en adressen van zijn medewerkers opslaat in een tabel en bepaalt dat ieder adres een huisnummer moet bevatten, maar specificeert niet dat er een werknemer bestaat met de naam Jansen. Het gaat dus alleen om structuren en niet om specificaties. Het doel van een databasemodel is een goede voorstelling te krijgen van de structuren en verbanden die ten grondslag liggen aan het informatiesysteem dat binnen een bedrijf wordt gebruikt. Het document waarin de structuren zijn vastgelegd is het communicatiemiddel tussen de verschillende belanghebbenden van het informatiesysteem. Denk hierbij aan programmeurs (ontwikkeling en onderhoud), informatie analisten, beheerders en gebruikers. Er zijn verschillende soorten database modellen: ●● platte data model ●● hiërarchisch model ●● netwerk model ●● objectgeoriënteerd model ●● relationeel model 14 Het platte databasemodel is een eenvoudige tabel, waarbij alle elementen in dezelfde kolom gelijksoortige waarden bevatten, terwijl alle elementen van een rij aan elkaar gerelateerd zijn. Een voorbeeld van het platte datamodel is een gegevenstabel in Excel. In het voorbeeld ziet u in eerste rij de namen staan van de kolommen. In de kolom Voornaam klant staan alleen de voornamen. Bekijkt u rij twee, dan is dit het totale adres van de klant. De elementen in een rij zijn dus aan elkaar gerelateerd en worden een record genoemd. Basisprincipes De databases Het platte database model Hiërarchisch model In het hiërarchische model worden de tabellen aan elkaar verbonden, maar beperkt de relatie zich tot één richting tussen de gegevens. Deze structuur wordt ook wel boomstructuur genoemd of ouder-kind-relatie (parent-child). Het eerste niveau in de hiërarchie is de ouder, met daaronder weer andere niveaus (de kinderen). Een kind heeft altijd maar een ouder, maar een ouder kan meer kinderen hebben. Met andere woorden de gegevens worden altijd vanuit de top benaderd. Hoewel het hiërarchische model als structureringswijze van databases achterhaald is door het relationele model, zijn veel structuren van elektronisch uitwisselbare bedrijfsinformatie gebaseerd op dit model. Denk hierbij aan leveringsberichten en productberichten die automatisch worden gegenereerd zonder tussenkomst van gebruiker. 15 Netwerkmodel Het netwerkmodel werkt op het principe van het hiërarchisch model maar de gegevens in een bepaalde tabel kunnen relaties hebben met meerdere tabellen. Ook dit model dat in de jaren zestig is ontwikkeld en ook wel het CODASYL-model (Conference on data systems languages) wordt genoemd is gebaseerd op ouder kind relaties, maar nu met het verschil dat een “kind” meer “ouders” kan hebben. Op deze wijze kunnen de gegevens op verschillende manieren benaderd worden. Netwerkmodellen worden logischerwijs geïmplementeerd in netwerkdatabases. Het nadeel van dit model is dat de verbindingen tevoren worden bepaald en hiermee de procedures zijn vastgelegd. Objectgeoriënteerde model 16 In objectgeoriënteerde databases wordt data opgeslagen in objecten (specifieke programmadelen die als een geheel worden beschouwd). Hierdoor is het mogelijk om complexe datatypen zoals beeld en geluid te benaderen met complexe zoekvragen. Er zijn databases die helemaal object georiënteerd zijn, maar er zijn ook databases die een hybride zijn van objectgeoriënteerd en relationeel. Access is een hybride variant. In een relationele database worden de gegevens van de verschillende onderwerpen opgeslagen in afzonderlijke tabellen waarin de rijen de records vormen en de ­gegevens in de kolommen de veldgegevens zijn van het record. De verschillende tabellen van de relationele database worden met elkaar verbonden met een unieke verwijzing naar een record in een andere tabel. Wanneer de gegevens in een relationele database goed gestructureerd zijn, wordt duplicatie van gegevens tot een minimum beperkt en fouten in de gegevensverwerking voorkomen. De bewerkingen binnen een relationele database worden uitgevoerd op basis van de relationele algebra. Als gevolg daarvan kan een relationele database flexibel ­gereorganiseerd worden. Veel databases zijn gebaseerd op afleidingen van het relationele model, juist vanwege deze flexibiliteit. Enkele relationele database programma’s zijn: DB2, Microsoft Access, MySQL, Oracle, Microsoft SQL Server. Basisprincipes De databases Relationeel model SQL De populariteit van een database is te danken aan de mogelijkheid om snel gegevens op te zoeken door middel van zoekvragen. Het opzoeken van gegevens binnen een bedrijfsdatabase gaat meestal door middel van een keuzemenu. De zoekvraag wordt omgezet naar een programmeertaal voor databases. De meest gebruikte programmeertaal voor databases is SQL dit is de afkorting van Structured Query Language. Deze programmeertaal kan in alle hierboven genoemde soorten databases worden gebruikt. SQL is gebaseerd op de relationele algebra en werd in de loop van de jaren zeventig ontwikkeld door San José. Men dacht toen dat dit de vraagtaal zou worden voor de eindgebruiker. Een vergissing; SQL is een complexe taal die niet geadopteerd werd door de doorsnee eindgebruiker. SQL heeft nu een gebruikersvriendelijke interface gekregen. In Access wordt dit gerealiseerd door tussenkomst van een dynaset en in bedrijfsdatabases meestal in de vorm van een hulpvenster waarin alle zoekvragen al klaar staan. Met andere woorden de gebruiker maakt wel gebruik van SQL maar geeft geen commando’s in deze taal. In Access wordt de zoekvraag getypt in een tekenreeks en omgezet naar een SQL-vraag. Bijvoorbeeld uit een database met klantgegevens wilt u de gegevens selecteren van de klanten die geen krediet krijgen. In de SQLtaal ziet dit er dan als volgt uit: SELECT * FROM Klanten WHERE Klanten.Krediet < 0 17 Hierbij is: SELECT *zoek in alle velden FROM Klanten van de tabel Klanten WHERE Klanten.Krediet<0 in het veld Krediet alle waarden die kleiner zijn dan 0 Dit is een simpele query die is getypt volgens de afspraken van de Leszynski-naamgeving conventie. Dit is een afspraak voor naamgeving binnen databases. Hoofd- en kleine letters worden gebruikt om meerdere woorden te onderscheiden. Bijvoorbeeld een aanduiding voor het formulier betaalde orders wordt “frmBetaaldeOrders”. De verschillende databases kunnen met behulp van de SQL-taal met elkaar communiceren. De verbindingen worden gemaakt door ODBC koppelingen (Open DataBase Connectivity). De ODBC koppelingen worden gerealiseerd door verschillende programma’s maar ook hiervoor zijn weer interfaces ontwikkeld waardoor een eindgebruiker deze koppeling kan maken. In bovenstaand schema zijn de koppeling tussen de verschillende databases gevisualiseerd. De gebruiker stelt een vraag naar een andere database waarmee een koppeling is gemaakt via het ODBC. Het ODBC-stuurprogramma fungeert als een intermediair en geeft de zoekvraag via een stuurprogramma door aan de andere database. Het resultaat wordt weer geretourneerd naar de gebruiker. Deze acties gaan meestal zo snel dat de gebruiker niet eens in de gaten heeft dat de informatie uit een andere database wordt gehaald. De levenscyclus van een database In bedrijven gebeurt het ontwikkelen van een database meestal in teamverband. Immers de gegevens moeten in een later stadium de juiste informatie geven aan wisselende gebruikers. Het ontwikkelen van een database wordt globaal in negen fasen verdeeld en ondergaat in de loop van de levenscyclus regelmatig ­veranderingen. 1 Bepalen van de informatie 18 De eerste stap bij het ontwikkelen van een database is het bepalen welke informatie in de database wordt opgeslagen. Meestal wordt een team samengesteld uit verschillende disciplines en geïnventariseerd welke gegevens nodig en wenselijk zijn. Er wordt gekeken naar haalbare oplossingen en de beperkingen. Vaak wordt deze analyse uitgevoerd met behulp van een methode voor systeemanalyse. Ga bij het inventariseren van een database van bestaande gegevens. Kijk of er formulieren zijn die als leidraad kunnen dienen. Verzamel de documenten en noteer elk type informatie die zij bevatten. Als u geen bestaande formulieren hebt, doet u alsof u een formulier ontwerpt waarop gegevens worden ingevuld. Kijk ook naar rapporten of mailings die u wilt samenstellen op basis van de database. Het is belangrijk over een goed uitgewerkte plan te beschikken zodat deze tijdens het ontwerpproces steeds kan worden geraadpleegd en uw de aandacht kunt richten op de doelstellingen wanneer u beslissingen neemt. Basisprincipes De databases Voor het ontwikkelen van een kleine database, bijvoorbeeld voor een eenmansbedrijf, is het noteren op papier al voldoende. Er wordt dan het doel en de manier waarop men verwacht de database te gebruiken genoteerd. De beschrijving zou bijvoorbeeld kunnen zijn: ‘De klantendatabase houdt een lijst bij met klantgegevens die worden gebruikt om mailings en rapporten te maken’. Bij complexere databases die door veel mensen wordt gebruikt, moet ook nog worden vermeld wanneer en hoe elke persoon de database gebruikt. Vuistregels bij het samenstellen van de gewenste informatie zijn: breng de gegevens in kaart die u wilt onderbrengen in de database ●● plaats alleen gegevens in de database die bekend zijn en goed te beheren zijn ●● vermijd verouderde informatie ●● houd de database beheersbaar (meeste gebruikers willen liefst zoveel mogelijk) ●● werk met post-it stickers om u te concentreren op het ontwerp ●● laat bij het ontwerpen van de database discussies de vrije loop ●● neem gefundeerde beslissingen. ●● 2 Het selecteren van de onderwerpen Zodra is vastgesteld welke gegevens de database moet bevatten, worden de gegevens gerangschikt naar onderwerp en in een diagram weergegeven welke gegevens in welke tabel worden geplaatst. Voor het goed specificeren van de tabellen is het belangrijk dat er een goede omschrijving en afbakening is van de inhoud en reikwijdte van de database. Veel gebruikers willen alles, maar dat kan leiden tot het mislukken van het ontwerp. Hoe u tabellen goed specificeert leest u in de module Normaliseren en relaties. 3 Vaststellen eigenschappen van de velden De gegevens in de tabellen worden gespecificeerd en per veld wordt de veldeigenschap vastgesteld. Door gebruik van eigenschappen kunt u ervoor zorgen dat er bij de invoer zo min mogelijk fouten gemaakt worden. De veldeigenschap getal zorgt er bijvoorbeeld voor dat men alleen maar getallen kan invoeren. Meer informatie hierover leest u in de module Maken van een database. 4 Normaliseren en relaties bepalen In dit stadium wordt gekeken of in de tabellen de juiste velden zijn geplaatst en er geen dubbele gegevensinvoer plaatsvindt. Hiervoor worden op het databaseontwerp normaliseringregels toegepast. Dit wordt ook wel normaliseren of normalisatie genoemd. Het normalisatie proces is het meest zinvol als alle veldnamen zijn gedefinieerd en de voorlopige versie van het ontwerp is voltooid. Nadat de normalisatie is voltooid moeten de tabellen met behulp van een uniek gegeven aan elkaar worden gekoppeld. Dit wordt het bepalen van de relaties genoemd. Meer informatie hierover leest u in de module Normaliseren en relaties. 5 Bepalen van zoekvragen invoervensters en rapporten In deze fase wordt gekeken op welke zoekvragen de database een antwoord moet kunnen geven en welke invoervensters en rapporten men moet ontwerpen. Soms moeten de tabellen hierop worden aangepast. 19 6 Het ontwerp van de database als geheel documenteren Op basis van de verkregen informatie wordt een rapport opgesteld waarin het doel en de onderwerpen voor de tabellen worden gedocumenteerd als geheel en van elke afzonderlijke tabel. De documentatie moet zodanig zijn dat er een beschrijving is van ontwerpen en ontwerpnormen. Daarnaast worden de procedures voor onderhoud en de functies om reservekopieën te maken en het herstellen van bestanden beschreven. 7 Testen Zodra het ontwerp van de database gereed is, wordt deze zorgvuldig getest op functies, toepassingen, validatie, invoervensters en rapportages. Hiervoor worden enkele gegevens ingevoerd en de database getest op juistheid en de levensvatbaarheid van het systeem als geheel. 8 Invoering In deze fase wordt de database in gebruik genomen en worden de tabellen gevuld met de werkelijke gegevens. 9 Onderhouden en evalueren Een database is in principe nooit af, steeds zullen er bijstellingen zijn om de gegevens zo actueel mogelijk te houden en aan te passen en de nieuwe wensen. Zakelijke databases Bij veel bedrijven worden branchegerichte databases gebruikt die ontworpen zijn voor ondersteuning van interne bedrijfsprocessen. Denk hierbij aan inkoop-, voorraad-, en verkoopadministratie, boekhouding en salarisadministratie of relatiebeheer. Sommige bedrijven ontwikkelen zelf het databaseprogramma anderen kopen een bestaand branchegericht programma. De programma’s ter ondersteuning van administratieve processen vallen onder de categorie Enterprice Resource Planning. Database programma’s die gebruikt worden voor relatiebeheer onder Customer Relationship Management en de programma’s voor het onderhouden/vullen van websites Content Management Systeem. Enterprise resource planning De Enterprise Resource Planning programma’s, afgekort EPR, bestaan meestal uit deelprogramma’s (modules) die allemaal een specifieke taak ondersteunen. Denk bijvoorbeeld aan taken die uitgevoerd worden voor het voeren van de financiële administratie of het bijhouden van voorraden, maar ook het registreren van personeels­gegevens. Het grote voordeel van een ERP progamma is dat gegevens, als deze eenmaal zijn ingevoerd, door verschillende afdelingen kunnen worden geraadpleegd en eventueel gewijzigd. Hierdoor wordt de kans op inconsistente data verkleind. Een ERP programma biedt een efficiënte manier van werken, betere communicatie en leidt soms tot kostenreductie. Customer relationship management 20 De Customer Relationship Management database, afgekort CRM, wordt ook wel een klant-relatiebeheer of verkoopbeheersysteem genoemd. Bij dit type databaseprogramma staan de klantgegevens en de interacties met de klanten centraal. De term CRM werd eind jaren 90 geïntroduceerd door Dr. Jon Anton. Nu zijn er alleen al in Nederland enkele honderden CRM-systemen al dan niet online te gebruiken. Ook dit programma bestaat uit deelprogramma’s. E-CRM Een variant op de CMR programma’s zijn de E-CRM programma’s. Deze programma’s bieden geïntegreerde marketing, sales, e-commerce en customer support services aan bedrijven, door middel van een specifieke webinterface. Een onderdeel van de E-CRM infrastructuur is analytische E-CRM. Dit onderdeel voorziet in rapportages over consumentgedrag, consument interacties en het voorspellen hiervan. E-CRM wordt ook wel geïntegreerd in een management ­information systems (MIS) dat weer online modules kan bevatten die een bijdrage leveren aan customer services. Basisprincipes De databases Zo is er bijvoorbeeld de: Customer-facing module: hier gaat het om modules waar de klant interactie heeft met het bedrijf. Een voorbeeld van gebruik hiervan is bij callcenters of helpdesks. ●● Customer-touching module: hierbij hebben klanten direct contact met de module, een voorbeeld van deze module is selfservice. ●● Customer-centric intelligence module: deze module kan resultaten van operationele verwerkingen analyseren en de resultaten hiervan gebruiken om de database te optimaliseren. ●● Content management systeem Een Content Management Systeem is een programma dat het mogelijk maakt om gebruikers met weinig technische kennis, documenten en gegevens op internet te publiceren (content management). Als afkorting wordt ook wel CMS gebruikt. Een functionaliteit van een CMS is dat gegevens zonder lay-out (als platte tekst) kunnen worden ingevoerd, terwijl de gegevens worden gepresenteerd aan bezoekers met een lay-out door toepassing van sjablonen. Een CMS is vooral van belang voor websites waarvan de inhoud regelmatig aangepast wordt en de inhoud in een vaste lay-out gepresenteerd. De meeste grote bedrijven gebruiken voor hun website een CMS. Een bekende variatie op het CMS is bijvoorbeeld de weblog. Een webmanager kan voor de invulling van een CMS-website zorgen. Een complete CMS bestaat uit de volgende onderdelen: ●● een (bijna altijd afgeschermde) administratiemodule, waar gegevens worden ingevoerd, verwijderd of aangepast ●● een database of een andere vorm van opslag van de gegevens ●● een presentatiemodule, waar de ingevoerde gegevens door bezoekers kunnen worden bekeken ●● zoekmodule ●● inlogmodule voor bezoekers ●● beheersmodule voor de gegevens van geautoriseerde bezoekers (en beheerders) ●● beheersmodule voor de presentatiesjablonen ●● module om persoonlijke informatie aan de bezoeker te tonen (personalisaties) ●● module om centraal items te maken die op verschillende pagina’s worden ­getoond. Een CMS kan worden gebouwd voor een specifieke toepassing, maar er zijn ook CMS systemen te koop. Enkele contentmanagementsystemen zijn: Apache, ­Enterprise Content Management, Joomla, Mambo en PHP-Fusion. Databases zijn er voor allerlei toepassingen en wereldwijd gebruikt. De simpelste is een adresboekje en een complexe is bijvoorbeeld de database van de ­belastingdienst. 21 Tot slot In deze module hebt u geleerd wat de basisprincipes zijn van een database en welke databasemodellen er zijn. Maar ook welke databases gebruikt worden in het bedrijfsleven. 22 Maken van een database Het theater Access 2013 Het theater Het programma Access wordt gebruikt voor het maken van object gestuurde relationele databases. Zoals bij elk databaseprogramma worden er eerst tabellen gemaakt en daarna allerlei andere objecten toegevoegd, denk ­hierbij aan rapporten of formulieren. Doelstellingen In deze module maakt u een nieuwe database en een tabel en definieert u hiervoor het gegevenstype en de ­veldeigenschappen. Tevens wijzigt u in een tabel de gegevens met een zoekactie. De opties die aan de orde komen zijn: ●● invoermasker definiëren database maken ●● elementen van Access benoemen ●● tabel aanpassen ●● filters toepassen ●● tabel afdrukken ●● gegevenstypes bepalen ●● tabel maken ●● Instructievideo’s filter toepassen in tabel ●● ●● tabel maken totalen berekenen vereiste veldeigenschap toekennen ●● werkbalk snelle toegang aanpassen ●● zoeken in velden ●● ●● ●● Maken van een database Het theater Maken van een database zoeken in tabel Online toetsomgeving toets 2 De database Access Expert ●● Onderwerp van gebruikte database In deze module gebruikt u de database met de naam Het theater. Hierin zijn gegevens opgeslagen van de voorstellingen van een schouwburg. In de tabel met de naam Voorstellingen van deze database zoekt u gegevens op en wijzigt de g ­ egevens. De in deze module behandelde onderwerpen behorend bij: MOS Basis ECDL Advanced Database AM 5 1.1Maken en beheren van een database 1.2Configureer het navigatiedeelvenster 1.3Toepassing delen van toepassing 2.1Tabellen maken 2.2Maken en wijzigen velden 2.3Sorteren en filteren van records AM 5.2.1.1 Zoekactie in veld/kolom AM 5.2.1.2 Invoermasker maken/wijzigen/verwijderen AM 5.2.1.3 Gegevensinvoer voor een veld/kolom instellen 25 De elementen van Access Binnen het programma Access wordt ieder element van een database een object genoemd. De belangrijkste objecten zijn de tabellen. Dit is de ruggengraat van de database; hierin zijn alle gegevens opgeslagen. Een tabel in Access is vergelijkbaar met een tabel die u maakt in Word of Excel en is opgebouwd uit kolommen en rijen. De namen boven elke kolom, die een omschrijving zijn van de inhoud, noemt u veldnamen. De gegevens in de kolom noemt u veldgegevens. Een rij van de tabel noemt u een record en is de verzameling van verschillende veldgegevens die één geheel vormen. Het ontwerpen van een tabel moet zorgvuldig gebeuren. Er mogen immers geen dubbele gegevens in de database voorkomen en het is ook belangrijk dat de gegevens correct zijn. In het volgende voorbeeld bekijkt u hoe het beste een tabel samenstelt. 26 Een groothandel in levensmiddelen, wil de gegevens van de bestellingen van zijn klanten in een database onderbrengen. Hij heeft de hoofdonderdelen op papier opgeschreven en daaronder de subonderdelen. U zou misschien voorstellen om alles in één tabel te plaatsen. Maar dat is geen goed idee, omdat elk record informatie zou bevatten over zowel het product als de leverancier en er meer producten bij één leverancier worden besteld. Dit betekent dat de gegevens van de leverancier vele malen in de tabel worden herhaald. Dit kan leiden tot fouten bij invoer en er is meer opslagruimte nodig. Een betere oplossing is de gegevens te verdelen over verschillende tabellen en deze vervolgens te koppelen. In een gerelateerde databasestructuur zouden de tabellen er als volgt kunnen uitzien. In de tabel Bestellingen staan de gegevens van de bestellingen en het klantnummer. Via dit klantnummer wordt een relatie gelegd met de klantgegevens en met het veld productnummer een relatie met de tabel Producten. In de tabel Producten staat de naam van de leverancier waarmee weer een relatie wordt gelegd met de tabel Leveranciers. Alle gegevens komen maar een keer voor en worden door middel van relaties aan elkaar verbonden. De invoer van deze tabellen gaat via een formulier waardoor gegevens automatisch in de juiste tabel worden toegevoegd of weergegeven. Dit is een deelvoorbeeld van een relationele database. Houdt bij het ontwerpen van een tabel de volgende regels in acht: ●● geef elk hoofdonderwerp een aparte tabel ●● definieer voor de kleinste informatieeenheid een veld ●● leg elke gegeven slechts eenmaal vast ●● plaats geen berekeningen in de veldgegevens ●● zorg dat de veldnaam een duidelijke omschrijving is van het veldgegeven ●● bepaal voor elke veldnaam ook de eigenschappen zodat bij de invoer van de gegevens het typen van fouten tot een minimum worden beperkt ●● maak waar nodig koppelingen met de verschillende tabellen (module Normaliseren en relaties). Door de gegevens te splitsen in kleine eenheden kunt u later de gegevens gemakkelijker sorteren, selecteren of filteren. Zo maakt u bijvoorbeeld van de naam van de klant twee aparte velden, Voornaam en Achternaam. Op deze manier bekijkt u alle gegevens die u in de tabel wilt plaatsen, daarna maakt u de tabel en bekijkt u hoe u de invoer ervan zo efficiënt mogelijk kunt laten verlopen door gegevenstypes en veldeigenschappen toe te kennen. Zodra de gegevens in de tabellen zijn ingevoerd, kunt u deze gegevens gebruiken voor het maken van rapporten of het samenstellen van zoekvragen of de gegevens bekijken met een formulier. Het bovenstaande schema geeft u een indruk hoe de gegevensstromen in Access verlopen. De stippellijnen geven de uitwisseling weer tussen de verschillende objecten. U ziet de gegevens van de tabel kunnen van en naar een formulier gaan. Dit geldt ook voor de query’s (zoekvragen). Bij de rapporten is alleen uitvoer van de tabelgegevens mogelijk. Met de oranje lijnen worden de acties weergegeven die binnen een database geactiveerd kunnen worden. Tabellen De tabellen zijn de basis van elke database. De veldnaam van de tabel vormen in een formulier of rapport de rubrieken voor de veldgegevens. Query’s Zijn de tabellen gevuld met gegevens, dan kunt u met behulp van een query een zoekvraag stellen. Een query, (query by example (QBE), definieert u in Access met een dynaset of met SQL-instructie (Structured Query Language). Op beide manieren kunt u zoekvragen stellen, gegevens wijzigen, analyseren, berekeningen uitvoeren en nieuwe tabellen maken en deze opslaan met een naam. Rapport Het object rapport gebruikt u voor het maken van overzichten of facturen. U werkt bijvoorbeeld bij een auto­verhuurbedrijf en maakt een query waarin is af te lezen welke auto’s zijn verhuurd en wat de totale verhuurprijs is. Van deze query maakt u nu weer een rapport. Met een rapport kunt u ook een factuur maken waarin u reken­velden plaatst. Maken van een database Het theater Formulier Hoewel u in de tabellen gegevens kunt invoeren, wordt meestal een formulier gemaakt om de invoer van gegevens in de tabellen gemakkelijker en efficiënter te laten verlopen. Bij een relationele database is het bijna een noodzaak omdat de gerelateerde tabellen automatisch worden gevuld. Ook wordt het formulier gebruikt voor het snel weergeven van de gegevens in de tabel. De gegevens in een formulier kunnen afkomstig zijn van de query’s of van de tabellen. Ongetwijfeld hebt u al eens gebruikgemaakt van een formulier. Denk hierbij aan een digitaal formulier op een website of formulieren op een intranet of binnen een bedrijfssysteem. Macro’s Een macro is een definitie van één of meer acties is die A ­ ccess moet uitvoeren. U kunt bijvoorbeeld een macro definiëren die een tweede formulier opent als antwoord op de een resultaat op formulier. Macro’s kunnen ook gebruikt worden om query’s te openen en uit te voeren, tabellen te openen of rapporten af te drukken of te b ­ ekijken. Module Een module is een object dat wordt ontworpen met de programmeertaal Visual Basic. Modules bieden meer mogelijkheden dan macro’s om automatisch acties uit te voeren. Alle modules kunnen een relatie met elkaar hebben waarbij de tabellen en query’s doorgaans het uitgangspunt zijn. 27 Access starten Afhankelijk van welk besturingssysteem u gebruikt start u het programma Access op de volgende manieren. Windows 7 Klik op de knop Start en typ de eerste twee letters van Access. Access zal worden geselecteerd. Druk op de toets Enter om het programma te starten. Windows 8 Klik op de tegel van Access 2013. U krijgt de bureaubladomgeving te zien en Access start. Ziet u geen tegel met Access, typ dan de eerste letters (AC) en de tegel verschijnt. In de volgende instructie start u het programma en bekijkt u het venster van Access. 1 Klik op de tegel van Access in het startscherm. Access start met het openingsvenster. 28 Access start met het openingsvenster. Aan de linkerkant ziet u onder het woord Recent de laatst geopende databases (in voorbeeld geen) met daaronder de knop Andere Bestanden openen. Hiermee opent u bestaande databases. Maken van een database Het theater Aan de rechterkant ziet u een zoekvak met daarbij de categorieën waarop u kunt zoeken, gevolgd door sjablonen waarmee u nieuwe databases kunt maken. Een Access-sjabloon laat zich omschrijven als een bestand waarin al een database is gemaakt die u kunt aanpassen aan uw wensen. Sjablonen zijn erg handig als u al weet hoe u een database kunt opbouwen. Om u een beeld te geven hoe een database is opgebouwd, maakt u in de volgende opdracht een lege database. Maken van een database Een lege database maken, betekent dat u een bestand maakt waarin u de structuur voor een database vastlegt maar alle andere onderdelen nog moet aanbrengen. 1 Klik op de knop Lege bureaubladdatabase. 2 Typ in het nieuwe venster in het vak Bestandsnaam Voorstellingen. 3 Klik op de knop Bladeren. Hiermee geeft u aan in welke map u de database wilt plaatsen. 4 Kies bij de bibliotheek Documenten voor Access Expert 2013. Dit is de map waarin ook de oefenbestanden staan. 5 Controleer of de database wordt opgeslagen met de format 2007-2013. Kies anders bij de keuzepijl voor dit format. 6 Klik op OK. U hebt nu de map gekozen waarin u de database wilt opslaan. 7 Klik op de knop Maken. De database wordt gemaakt in de map Access Expert van de bibliotheek Documenten. OPMERKING De sjablonen van Access zijn halffabricaten die u zelf kunt aanvullen. ONTHOUD Een lege database is een bestand zonder database objecten. Het bewerkingsvenster Zodra u, met de knop Maken, de naam voor de nieuwe database hebt bevestigd, wordt het bewerkingsvenster actief waarin u allerlei onderdelen aan de database kunt toevoegen. Het bewerkingsvenster begint met een onderdelen die standaard zijn voor de programma’s van de Office-bundel. 29