Question Water quality database

EnvSci

New member
Local time
Today, 02:17
Joined
Apr 8, 2009
Messages
3
Hi
I've been thrown in at the VERY deep end. Have to setup a water quality monitoring database with maps showing sampling localities and links from those localities to the data & queries on the data etc. Have NO idea where to start. Please can someone help!!!
 
Where to start really depends on your knowledge of Access in the first place. If 1 was I have never used Access before and 10 was I don't know why I asked this question. Where would you put yourself?

Do the words, Normalisation, Naming Conventions, Reserved words, Relationships mean anything?

David
 
Of course you will only start to think about this once you've established the outline of your project.

I would advise you plan the database, in consultation with the client, ie the person for whom you are designing the system. Keep them involved then you can be sure that their requirements are met without too many misunderstandings. Remember you and your client may not have complete commonality and it may be that you need to probe to get a full and clear picture of exactly what your client wants. Do not be afraid to ask questions if you do not feel that you fully understand the requirements or specifications, you will be better respected for asking for help than fumbling through and creating a product that does not do what the client expected.

Discuss with your client all the different aspects that the database is going to encompass. Find out what they are basing their expectations on, what they currently use as a database and how closely they expect the new system to mirror what they use. Don’t worry too much if the client tells you that they don’t use a database at all, ask them for copies of any documents they currently use such as invoices, client lists etc. This will give you an idea of what they are used to working with and can be used as a building block for the new system.

Decide on what the database’s main function is. What exactly is it going to be doing? Once established you can then start to break the general idea down into it’s components, such as tables; queries; forms and reports.

The starting post for your databases will be a table or set of tables. Once you know the kind of information you need you can start to make a list of tables to store the information. Remember that each table will store information about a related subject.

Only once you have all the information, and this is usually a paper based part of the project, should you then make a start on the software side of it.
 
I have sort of managed to familiarize myself with the basics of designing tables. I have seen the words, but never applied. I think put me on a 2 on your scale - have basically just started playing around to get a feel of how it works. Was told that it has to be done and I'm the lucky person that has to find out how

Thanks
 
oumahexi said

The starting post for your databases will be a table or set of tables. Once you know the kind of information you need you can start to make a list of tables to store the information. Remember that each table will store information about a related subject.

This is really important - the data analysis phase is central to any project. your data structure needs to be able to hold all the data required, in a logical (and normalised) way - which basically means that the tables (files) you need, and the fields they contain, mean that each item of data (datum) should have a logical correspondence to a single field in a single table.

If this is done correctly, then the application deisgn (especially the interactive objects - forms and reports) will be much more straightforward to develop.

You especially need to be careful NOT to take things for granted. Often users are so familiar with what they do, that they forget to tell you some basic things, which will most probably cause issues later (Why doesnt it do that? We thought you knew that .... sort of stuff). The better understanding you have, the less likely this is to happen. Its not the 95% of usual stuff that is hard to manage/design - its the 5% of special cases and exceptions.

To some extent the need for all this depends on who is paying for the work, (and the overall complextity) - ie your relationship with the client - but the design phase is often formally signed off with a customer acceptance of some sort - and can be pretty time consuming. It also gives a reasonable breakpoint, as you may be able to cost this, and decide whether to go ahead at this point.
 
oumahexi said

You especially need to be careful NOT to take things for granted. Often users are so familiar with what they do, that they forget to tell you some basic things, which will most probably cause issues later (Why doesnt it do that? We thought you knew that .... sort of stuff). The better understanding you have, the less likely this is to happen. Its not the 95% of usual stuff that is hard to manage/design - its the 5% of special cases and exceptions.

To some extent the need for all this depends on who is paying for the work, (and the overall complextity) - ie your relationship with the client - but the design phase is often formally signed off with a customer acceptance of some sort - and can be pretty time consuming. It also gives a reasonable breakpoint, as you may be able to cost this, and decide whether to go ahead at this point.

Quoted for truth.

I have designed an extensive water quality database for the native american organisation where I work. This database is setup based on the concept of water quality sampling 'runs', and not only stores the information used by the Water Resources department, but must export data according to the schema required by the EPA's 'STORET' database.

My experience in designing databases for folks in the natural resources field has been almost a textbook illustration of Gemma's point. When scoping out the project you will find that people will gloss over the small details that will make or break your data model (which is represented by your table structure).

For example, they may say that they collect a range of metrics at each site but neglect to mention that, if the water at the site is stratified, they may take more than one measurement of some of the metrics at various depths related to the position of the halocline. Or they may discuss recording totalizer readings from wells, and neglect to mention that on some wells there can be more than one meter.

What you need to be aware of is that they think they are helping you by simplifying things. And in some cases, they will decide internally that it's a detail that you don't need to know and flat-out lie to you. (And come back later when they realize that some of their data doesn't 'fit' into your data model, or they need to split out data based on this missing piece of information.)

If you are doing this on a contract basis, you will need to make sure that they understand that if they gloss over details during the scoping phase that the final product will not necessarily handle data resulting from those exceptions. Really emphasize that you need to know about the rare events and departures from the 'normal' protocol in order to do your job.

And cross examine them. Repeatedly. They will still lie like dogs and you need to catch them in the little details. :rolleyes:

Ask if they have a Quality Assurance/Quality Control Plan (QAPP) for their program. A good QAPP document will provide a very helpful guideline to their activities that will help you construct your data model. But be aware that there will undoubtedly be exceptions to what is in the QAPP that will crop up.

Personally, I feel that unless you are extremely well acquainted with the sampling program, or have ongoing access to the field personnel to ask questions, then you're really facing an uphill struggle even if you were an experienced Access developer.

Other things to look out for:

Historical data. WQ program objectives and protocols change over time. Many times these changes are never documented. If your database is intended to hold historical data, in addition to data being collected under the current protocols, then you will be facing further challenges trying to deal with that.

Different items of equipment may be read using different units (ft versus meters, ft and inches versus decimal feet, gallons versus acre-feet, etc).

Equipment calibrations, and calibration checks are a major PITA. There is a distinction between these types of events. Essentially, calibrations involve adjusting an instrument, or having the instrument self-adjust, to obtain a certain value when measuring a known reference solution. A calibration check involves checking the instrument reading (without adjustment) while measuring a known reference solution.

Calibrations and calibration checks may be done prior to a run, during a run while conducting a site visit, and followoing a run.

Sampling runs typically involve visiting a predictable suite of sites to collect samples in a day. But make sure to allow flexibility in the number of sites visited. It is not unusual to have additional sites get added temporarily following events like sewage spills, flooding, oil spills, etc. And weather and other factors can reduce the number of sites visited on any given day.

Make sure that they understand that the data entry burden will be considerable: although you can automate a lot of it if their sampling program has predictable patterns. But automating to save data on entry burden can be very complex and, on occasions where exceptions to the pattern occur this will mean the user will have the responsibility of either entering everything manually, or else correcting the results of the automation process.

Water quality people are extremely concerned about quality control. You will need to provide them a way to check their data entry (I use a report that they print off and check against their field forms). You will also need the ability to indicate that certain data records may be less relaible than others.

Get a hold of their field forms, preferably some blank and some filled out. If they use field notebooks, then you may need to help them come up with field forms to organize the data in a predictable way for the person doing data entry. If they are unwilling to change their protocol to use field forms then I would suggest declining the contract.

For a database to work there needs to be real world rules for it to rely on. Field forms keep field personnel on the straight and narrow. Notebooks are an invitation to a free-form ever changable sampling approach. Do yourself a favor and avoid touching a sampling program that refuses to commit to a structured approach. Your reputation is more important in the long term than the money you might make in the short term, and an unsuccessful product will be held against you even if the reason for failure is entirely a consequence of the wq program constantly changing the rules of the road, and not laying out their needs clearly and comprehensively.

My final point is that you're in for an extremely steep learning curve if you rate your access ability as a 2 out of 10. This project consumed at least 5 months of my time, with 3 months of initial scoping and construction, and another 2 months on-and-off over the next couple of years making modifications and additions. There are still more changes and additions awaiting my attention now that the department is realizing just how powerful and useful the database is for them.

I would rank myself about an 8 out of 10 on the same scale (I am nowhere near the league of some of the other AWF VIP's like Pat, Bob, Banana, RuralGuy and many others who all rate a 10 from me). I have a good feel for table normalization and data models, I am very familiar with making forms, I can get by with SQL, and I can usually get VBA to do what I want even if my coding has little elegance. You're going to need to develop that kind of knowledge too in order to make a product that functions well and has a reasonably user-friendly interface.

The good news is that pretty much everything I know, I learned right here on this forum and by trial-and-error on other projects, and there's no reason you can't too. The bad news is that it took me about 2 years from starting out to reach the level I'm at now. And I still have a lot of learning to go...so be warned, you're embarking on a big project.

I would be willing to share the table design I used, and perhaps an example of the field forms we designed to help you starting out. But you should be aware that the design I have may not be suitable in your situation if their real world protocols differ significantly. You will still need a good understanding of normalisation to understand why the tables are structured the way they are (and I am quite sure that my design is far from perfect). But the database itself is the property of my employer so I cannot share that with you.
 
Sjoe that's a mouth full - scary! :eek: . You mention that you would be willing to share the table design you used, and perhaps an example of the field forms we designed to help me starting out. I have NO idea where to start, so maybe that would be a good plan? - Thanks .
 
Ok, have pm'ed you to have you send me your email address so I can send those to you.
 
craig

thats just so thorough

a real practical issue for envsci is that it is most likely ALWAYS less expensive to buy a commercial solution than develop their own.

i am sure it is something you guys are talking about, but a licensing arrangement to use craig's existing solution may well be beneficial to both parties.
 
Gemma, that's a very good point.

that said, my solution is very narrowly tailored to the tribe's protocols and needs. While it could be adapted, it is far from being ready to ship as a general commercial product.

That said, there are commercial WQ applications available on the market which do not quite meet our needs but may work for EnvSci.

I'm not sure about whether I can provide a link to one such that I am aware of, on the forum. (no advertising policy?) I'll post it and if any mods feel this breaks the rules then please feel free to delete the link. http://www.aquaticinformatics.com/main/
 

Users who are viewing this thread

Back
Top Bottom