2013 2014 Mosselbase: all mussel growth data in one database
Stefanie Hoeijmans HZ University of Applied Sciences 2013 - 2014
Mosselbase
All mussel growth data in one database Rapport versie 1
Geschreven door: Stefanie Hoeijmans tweedejaars student AET HZ University of Applied Sciences (064514)
Onder leiding van: Eva Hartog & Jacob Capelle Onderzoeksgroep Aquacultuur HZ University of Applied Sciences
Aquatische Ecotechnologie, 3de Semester 2013/2014 HZ University of Applied Sciences Delta Academy, Aquatische Ecotechnologie Lectoren opdracht Vlissingen, Nederland 8 februari, 2014
Inhoudsopgave 1. Achtergrond......................................................................................................................................... 1 2. Opdracht .............................................................................................................................................. 1 2.1 Introductie ..................................................................................................................................... 1 2.2 Plan van eisen ................................................................................................................................ 1 3. Database .............................................................................................................................................. 2 3.1. Tabellen ........................................................................................................................................ 2 3.2. Query’s ......................................................................................................................................... 3 3.3. Formulieren .................................................................................................................................. 7 3.4. Lay-out en structuur ..................................................................................................................... 9 4. Slot ..................................................................................................................................................... 12 4.1 Eisen ............................................................................................................................................ 12 4.2 Evaluatie ...................................................................................................................................... 12
1. Achtergrond De provincie Zeeland is beroemd om zijn mossels, ze worden in grote getalen gekweekt in het Oosterschelde estuarium. Normaal worden de mossels gezaaid op de bodem van een perceel, maar in de afgelopen jaren hebben er veranderingen plaats gevonden in de manier waarop het zaad verzameld wordt. Er wordt steeds vaker gebruik gemaakt van slobkous verzamelaars. De onderzoeksgroep Aquacultuur werkt aan een project om de factoren die een rol spelen in de productiviteit van de mosselcultuur te identificeren. De productiviteit wordt bepaald door groei en overleving. De groei, op zijn beurt, berust op de toegankelijkheid van voedsel, wat weer afhankelijk is van de volgende drie factoren: voedsel concentratie, voedsel kwaliteit en de stromingssnelheid van het water. De onderzoeksgroep onderzoekt de ruimtelijke verschillen in deze factoren.
2. Opdracht In het tweede jaar van de studie Aquatische Ecotechnologie (AET) wordt de course Research gegeven. Tijdens deze course wordt er van de studenten verwacht dat zij een Lectoren opdracht van één van de Onderzoeksgroepen op de HZ University of Applied Sciences uitkiezen. Ik koos voor een opdracht van de onderzoeksgroep Aquacultuur: Developing a Database for Shellfish Growth Parameters of the Eastern Scheldt. Hoewel er tijdens de Lectoren opdracht normaal gesproken in groepen gewerkt wordt, is deze opdracht uitgevoerd door een enkele student. Dit was omdat er weinig belangstelling was voor de opdracht, en één of twee personen genoeg zou zijn om de opdracht naar behoren te voltooien.
2.1 Introductie De opdracht was om een database te ontwikkelen voor de schelpdier groeiparameters in de Oosterschelde. De groeiparameters zijn: Chlorofyl-α, Particular organic carbon, zwevende stof en water temperatuur. De concentraties en temperatuur worden op verschillende punten in de Oosterschelde continue gemeten door Rijkswaterstaat. Deze gegevens worden opgeslagen in een database genaamd Waterbase. Mossels en andere schelpdieren worden op percelen gekweekt, nadat ze geoogst zijn gaan ze naar de veiling. Daar wordt een monster genomen van elk perceel, de schelplengte gemeten en het gekookte vlees gewogen. De resultaten van deze proef worden opgenomen in de database van de Producentenorganisatie van de Nederlandse Mosselcultuur (PO-Mossel). De Theoretische Productie Waarde (TPW) van een perceel wordt mede hierdoor bepaald. Het uiteindelijke doel van de database is meer inzicht te krijgen in de ruimtelijke verschillen in de vier groeiparameters, en het effect deze parameters hebben op de groei van de mossels. Hiervoor moeten de gegevens uit de verschillende bronnen met elkaar vergeleken kunnen worden.
2.2 Plan van eisen Aangezien de opdracht het maken van een database is, is het van groot belang dat zowel de klant als de uitvoerder een duidelijk beeld heeft van hoe het eindproduct eruit dient te zien en wat er mee gedaan moet kunnen worden. Dit ten einde teleurstelling bij de klant en overbodig werk voor de uitvoerder te voorkomen. De eisen die van tevoren gesteld zijn aan het uiteindelijke product waren als volgt: 1. De database dient de gegevens van Waterbase, PO Mossel, de schelpdierpercelen en de Theoretische Productie Waarden (TPW) te bevatten. 2. De database moet eenvoudig in gebruik zijn, ook voor personen die niet eerder met Microsoft Access hebben gewerkt. 3. De database moet overzichtelijk zijn.
1
3. Database Een database is een ander woord voor gegevensbank, het is een systeem voor de opslag van gegevens. Een database is opgebouwd uit tabellen, die op hun beurt weer bestaan uit records(regels) die zijn gevuld met data (www.encyclo.nl).
3.1. Tabellen Om een database te kunnen maken moeten er eerst tabellen met gegevens zijn. In dit geval werden de gegevens van Waterbase en PO-Mossel gebruikt, evenals de tabellen met de locaties van de percelen en de TPW. Deze gegevens waren allen beschikbaar in de vorm van Microsoft Excel bestanden. Microsoft Access heeft een functie waarmee gegevensbladen in Excel in één keer geïmporteerd kunne worden in Access, zonder dat het nodig is om ze over te typen. Figuur 3.1. Laat zien hoe de database eruit ziet in Access nadat de gegevens geïmporteerd zijn. In de figuur is de oorspronkelijke tabel van Waterbase gedeeltelijk zichtbaar.
Figuur 3.1. Links, in het rode kader, is het overzicht van alle tabellen zichtbaar. De rode pijl bovenin wijst naar de tabbladen met geopende tabellen.
2
3.2. Query’s Een query is eigenlijk niets anders dan een vraag. Met een query kan aan Access gevraagd worden om kolom A van tabel 1 en kolom X uit tabel 2 te pakken en daar een nieuwe tabel van te maken. Met een query is het ook mogelijk om uit één tabel alleen de rijen te halen waar bijvoorbeeld de parameter gelijk is aan zwevende stof. Een query kan op verschillende manieren gemaakt worden. Er kan gebruikt gemaakt worden van de ontwerpweergave of van de programeer taal SQL (Structured Query Language). In figuren 3.2.1 tot 3.2.4 wordt een voorbeeld gegeven van beide mogelijkheden.
Figuur 3.2.1 laat een versimpelde versie van de Waterbase tabel zien met alleen de kolommen met de parameter die gemeten is, waar en wanneer die gemeten is en wat de gemeten waarde was.
3
Figuur 3.2.2 Laat de ontwerpweergave zien. In het rode kader staan de namen van alle kolommen in de tabel. Tussen de oranje lijnen is de zogenaamde ‘WHERE-clausule’ aangeduid, hier is gespecificeerd dat alleen de rijen waar de inhoud van het veld ‘paroms’ gelijk is aan ‘Temperatuur’ weergegeven moeten worden.
Figuur3.2.3 laat dezelfde tabel zien als in figuur 3.2.1 maar dit maal met de WHERE-clausule uitgevoerd. Alleen de rijen waar paroms gelijk is aan Temperatuur worden weergegeven. 4
Figuur 3.2.4 laat dezelfde query zien als in figuur 3.2.2 maar dan in de SQL-weergave. Met de SELECTclausule wordt aangegeven welke kolommen er geselecteerd moeten worden, de FROM-clausule specificeert uit welke tabel deze kolommen komen en de WHERE-clausule stelt een criterium waar de selectie aan moet voldoen. Het gegeven voorbeeld is een vrij simpele query maar geeft wel duidelijk de drie basis clausules waar een query op gebaseerd is zien. De mogelijkheden van een query zijn eindeloos; de rijen kunnen gesorteerd worden in een bepaalde volgorde, of er kunnen groepen gevormd worden en, als het numerieke waarden zijn kunnen er zelfs berekening mee gedaan worden. Daarnaast zijn er ook nog parameterquery’s. Deze bijzondere query’s stellen, voordat er een tabel weergegeven wordt, één of meer in de query vastgelegde vragen over wat er weergegeven moet worden.
Figuur 3.2.5 geeft de ontwerpweergave van een parameterquery, gemaakt van de tabel Schelpdierpercelen, weer. Met in het rode kader de namen van alle kolommen en tussen de oranje lijnen de criteria. ‘Like’ is het commando dat er een vraag gesteld moet worden, de tekst die weergegeven moet worden staat tussen vierkante haakjes. De tekens &”*” geven aan dat het antwoord dat gegeven wordt niet precies gelijk hoeft te zijn aan de tekst in de kolom. 5
Figuur 3.2.6 laat zien hoe de gewenste vraag gesteld wordt. De vragen worden één voor één gesteld, als bijvoorbeeld het soort perceel niet relevant is (dus als alle soorten percelen moeten worden getoond) kan er een * ingevoerd worden, een zogenaamde wildcard, dit houdt in dat alle waardes worden weergeven.
Figuur 3.2.7 laat de tabel zien die het resultaat is van de parameterquery die in figuur 3.2.5 en 3.2.6 als voorbeeld is genomen. Het is te zien dat alle records waarvan de naam begint met ‘mast’ en het soort perceel ‘mosselperceel’ is, worden weergeven.
6
3.3. Formulieren Een formulier in Access is in principe niet veel anders dan een papieren formulier; er kunnen gegevens op ingevuld worden. Er zijn verschillende soorten formulieren met vele verschillende functies, bij het maken van Mosselbase is er echter maar één soort gebruikt en deze wordt in dit hoofdstuk nader uitgelegd. Een formulier is vergelijkbaar met een etalage van een winkel, er kunnen gemakkelijk objecten gezien en gezocht worden. Het doel van een formulier is de gegevens overzichtelijk en gestructureerd weer te geven zodat het voor de gebruiker makkelijker is om iets op te zoeken en te vinden. Alle formulieren in mosselbase zijn gemaakt van query’s. Dit wil zeggen dat er eerst een query is gemaakt die vervolgens de basis vormde voor het formulier.
Figuur 3.3.1 laat de standaard weergave voor een formulier zien, ook wel de Formulierweergave. Meestal ziet een formulier eruit zoals in figuur 3.3.1, in Mosselbase is er echter voor gekozen om de formulieren weer te geven in gegevensbladvorm, dit was omdat de formulieren heel veel gegevens bevatten waardoor het overzichtelijker is om het in een tabel weer te geven.
7
Figuur 3.3.2 laat hetzelfde formulier zien als in figuur 3.3.1, echter in gegevensbladweergave. Formulieren zien er aan de oppervlakte hetzelfde uit als een query of een tabel, echter heeft ieder onderdeel zijn eigen functies die pas duidelijk worden als naar de achterliggende structuur wordt gekeken. Formulieren vervullen een belangrijke functie in uiteindelijke lay-out van de database.
8
3.4. Lay-out en structuur Met enkel het maken van losse tabellen, query’s en formulieren is er nog geen bruikbare database gemaakt. Iemand met verstand van Access kan er de gegevens in vinden die hij/zij nodig heeft, maar gebruiksvriendelijk is het niet. Om een database te creëren waar ook iemand die nog nooit van Access heeft gehoord zonder problemen mee kan werken, moet er een duidelijke structuur in zitten. Cruciaal zijn knoppen en/of tabbladen met duidelijke namen, zodat direct duidelijk is wat de knop doet of waar het tabblad naartoe leidt. Ook is het belangrijk dat de gebruiker nooit gegevens in hoeft in te vullen die ingewikkelder zijn dan tekst of getallen, dus geen codes en vooral geen programmeertaal. Ten slotte is van belang dat de gebruiker nooit per ongeluk gegevens in de database kan wijzigen.
Figuur 3.4.1 laat de start pagina van Mosselbase zien. Met in het rode kader de sluit-knop, als hierop geklikt wordt zal Mosselbase zichzelf uitschakelen. In het Paarse kader zijn de horizontale tabbladen te zien, deze zijn permanent. De verticale tabbladen in het groene kader veranderen als een ander horizontaal tabblad geselecteerd wordt. Het blad met de naam ‘Mosselbase’ en waar de tabbladen op zitten is een formulier. De uiteindelijke structuur zoals te zien in figuur 3.4.1 is bewust gekozen. Er zijn verschillende structurele opties in Access, er kan bijvoorbeeld voor gekozen om alleen horizontale tabbladen te gebruiken. Achter ieder tabblad zit een formulier dat geopend wordt als op het tabblad geklikt wordt. Deze structuur is gekozen omdat de tabellen zeer verschillend zijn qua inhoud. Voor iedere tabel zijn er daarom ook verschillende opties. In figuren 3.4.2 en 3.4.3 wordt dit weergeven.
9
Figuur 3.4.2 laat het geopende tabblad Schelpdierpercelen zien. Het verticale ‘Alle percelen’ tabblad wordt automatisch weergeven bij het openen van horizontaal tabblad schelpdierpercelen. De andere verticale tabbladen zijn te zien in het groene kader. Achter het horizontale tabblad Schelpdierpercelen en verticaal tabblad Alle percelen zit het formulier dat gemaakt is van de tabel ‘Schelpdierpercelen’, hierin zijn ook de locatie gegevens van de schelpdierpercelen geïntegreerd die in eerst instantie in een aparte tabel stonden. Achter de verticale tabbladen zit steeds een query. Het tabblad Oosterschelde heeft bijvoorbeeld een query met een WHERE-clausule waarin staat dat de waarde voor de kolom ‘Locatie’ gelijk moet zijn aan ‘Oosterschelde’ ditzelfde is ook gedaan voor de andere verticale tabbladen. Enkel tabblad ‘Specifiek perceel zoeken’ wijkt hiervan af. Achter dit tabblad zit een parameterquery, wat betekend dat er aan de gebruiker gevraagd wordt om de gewenste naam en/of perceelsoort in te voeren.
10
Figuur 3.4.3 laat het geopende horizontale tabblad ‘Metingen’ zien. Ook hier wordt het verticale tabblad ‘Alle metingen’ automatisch geopend bij het openen van het horizontale tabblad. Bij deze tabel is ervoor gekozen om de verticale tabbladen te laten sorteren op naam van de parameter. Evenals bij het horizontale tabblad ‘Schelpdierpercelen’ zijn de verticale tabbladen die bij het horizontale tabblad horen voorzien van een query met een WHERE-clausule. Ook hier is het tabblad ‘Zoeken’ afwijkend en heeft een parameterquery, deze vraagt de gebruiker om een parameter, een locatie en een datum in te vullen waarop gezocht kan worden.
11
4. Slot 4.1 Eisen Nadat dit allemaal gedaan is, is de voor de hand liggende vraag: voldoet het eindproduct aan de gestelde eisen? De eisen die van tevoren gesteld waren, zijn als volgt: 1. De database dient de gegevens van Waterbase, PO Mossel, de schelpdierpercelen en de Theoretische Productie Waarden (TPW) te bevatten. 2. De database moet eenvoudig in gebruik zijn, ook voor personen die niet eerder met Microsoft Access hebben gewerkt. 3. De database moet overzichtelijk zijn. Ikzelf ben zeer tevreden over het product, ik vind dat de database overzichtelijk en makkelijk te bedienen is. Nou ben ik natuurlijk partijdig wat dat betreft. Daarom is er uitgebreid overleg geweest met de supervisors; Eva Hartog en Jacob Capelle. Tijdens het eerste overleg stuitte zij nog op een paar kleinigheden die ik daarna aangepast heb voor zover mijn kennis toereikend was. Het enige wat toen nog wat aan de verwachtingen overliet was dat zij liever hadden dat de parameterquery’s een keuzemenu hadden, in plaats van dat er gegevens ingevuld moeten worden door de gebruiker. Dit zou inderdaad veel makkelijker in gebruik zijn aangezien de gebruiker bijvoorbeeld niet de namen van alle van Rijkswaterstaat uit het hoofd weet. Helaas heb ik niet kunnen uitvinden hoe een keuzemenu toegevoegd dient te worden in de tijd die er nog was. Dit terzijde waren Eva Hartog en Jacob Capelle zeer tevreden met het eindresultaat. De onderzoeksgroep heeft nu een database waar ze goed mee kunnen werken. Eva Hartog heeft ook verstand van Microsoft Access en zal de komende tijd nog met Mosselbase aan de slag gaan om het zo aan te passen dat er keuzemenu’s mogelijk zijn en eventuele andere updates uitgevoerd worden.
4.2 Evaluatie De communicatie van mijn kant was niet optimaal. Ik ben me ervan bewust dat ik niet bijzonder goed ben in communiceren met anderen, vooral vragen om hulp is moeilijk voor mij. Ik ben gewent alles zelf te doen en problemen zelf op te lossen, normaal gesproken is dit niet zo erg, totdat er een probleem is dat ik niet zonder hulp op kan lossen, dan gaat het fout. Ook plannen is iets waarin ik nog kan verbeteren. Ik had voordat ik een tijdplanning ging maken beter moeten onderzoeken wat er precies allemaal moest gebeuren en wat dat in zou houden zodat ik een betere inschatting had kunnen maken van hoe lang ik bezig zou zijn. Omdat ik dit niet gedaan had, heb ik onderschat hoeveel tijd ik nodig zou hebben om de database af te krijgen. Maar al met al, de database is er gekomen voor de deadline en de onderzoeksgroep is er tevreden mee, dat betekend voor mij een geslaagd project.
12