So I volunteered (first problem ) to help out a non profit company come up with a solution to a problem. Here is a brief overview of what they are doing:
Receive letter from prisoner requesting a book.
Create a label with Name, Prisoner Number, Cell#, Prison Code, Facility, Address, Language, Date Sent, Amount sent, etc.
print labels in batches based on prison code and zip.
This should be a fairly simple database/form/report to create but I was wondering if anyone knows of a template that I could start with. I am pretty new to database systems and am not sure which to start with.
This is going to be quite the learning process but its a good cause and I'm pretty sure I can get them what I need just looking for input.
"I am pretty new to database systems and am not sure which to start with."
The 'database' is the 'container' which holds the data tables.
In some of the OLD languages a data table was mistakenly referred to as a 'database. Unfortunately that term mis-use can still continue to this day.
Regardless, what you are looking to create is an APPLICATION which may or may not use a 'database'. The Application is what the users work with.
In some languages you have to use a 'database' and in other languages you are allowed to use 'free' data tables which are not contained in a 'database'.
An APPLICATION is created in a 'language' which can acquire/write/report/etc. the data from/to data tables (in a 'database' or not).
Some examples of these languages would include, but are certainly not limited to...
Microsoft Visual Foxpro
Microsoft Visual Basic .NET
and a WIDE selection of other languages
Some of these languages (listed above or not) are classified as a Rapid Application Development (RAD) language. However 'rapid' is a very subjective term.
While some of the languages have their own 'native' data sources, there are some which can utilize data from a variety of 'backend' data sources.
What you need to do is to outline the Application as you see it now.
Personally, regardless of the language I use, I generally begin with the screens/forms that the user will utilize to input data or to initiate some actions.
From that I can then begin to determine what information/fields the data tables needs to handle
And then I can begin to design the data architecture - simple or complex.
With that as a basic starting point I then decide the most appropriate language to use based on a number of factors
* Client/Customer requirements
* Client/Customer budget
* Client/Customer timeline
Once that language decision has been made, I can then decide the best data source to use - again using any language-specific limitations and/or some of the same criteria
Some people make things simple for themselves - they already know a language or they have a language available to them so they go with it regardless of the other considerations.
Your description of the project suggests that there will be no off-the-shelf application that you can just purchase to do your job, but you might do a Google search to look for other similar applications and, if you find one, just buy it and modify it to meet your needs.
In general what you describe is very simple.
But beginning from an absolute beginning, by itself, adds another level of difficulty to the project.
Just to give you an idea of building an Application you might want to look over the Building a Simple Application video - done with Visual Foxpro at: Free Visual FoxPro Videos