.KEYWORD database
.FLYINGHEAD DATA MANAGEMENT
.TITLE Harness the power of databases on your Palm handheld
.OTHER
.SUMMARY Databases are a commonly used tool in any enterprise. These powerful applications can be even more useful when mobilized on a Palm handheld. In this article, Jake Jacobs shows you how to create your own custom database using a general-purpose database program. He also presents some general features and techniques that can be used with any quality database program.
.AUTHOR Jake Jacobs
Databases are a commonly used tool in any enterprise. These powerful applications can be even more useful when mobilized on a Palm handheld. There are many special purpose data collection applications available for the Palm handheld, but in reality all you probably need is a simple database program such as HanDBase (at http://www.ddhsoftware.com/solutions.html), JFile (at http://www.land-j.com/jfile.html), MobileDB (at http://www.mobilegeneration.com/products/mobiledb/), or thinkDB (at http://www.thinkingbytes.com).
This article will explore various database applications and show you how to create your own custom database using a general-purpose database program such as any one of the four programs referred to above. I won’t limit our discussion to a particular database program, rather I’ll present general features and techniques that can be used with any quality database program.
It literally takes only a few minutes to generate the database template into which you can immediately begin entering or importing data. In most database programs you don’t need a PC to generate the database. You can do it in the field, on the fly. I have created numerous databases on the spur of the moment when the need arose. For example, I was on a trip with a couple of friends in Las Vegas, and we decided that at every meal, we would rotate as to who would pick up the tab. We would then settle the bill at the end of the trip. Since I had the Palm handheld, I quickly whipped up a simple database and started entering the expenses. It was easy to reconcile the bills at the conclusion of the trip because I had all the data in one place.
The advantages of using a general-purpose database program is that it’s extremely easy to create a new database. You can design a custom database, and later-after you have used it for a while-you can readily modify it to fine-tune your requirements.
Some people try to use the Memo Pad application as a database, but it’s not a good substitute. The Memo Pad is great for entering text, such as letters, memos, or notes, but it’s not as good for more structured data, such as lists, tables, or index card records.
.H1 What does a database have that Memo Pad does not?
Here are the common characteristics of database programs.
.H2 Records
Think of a record as an index card with a form printed on it that’s either filled out or blank. Examples are a 3 x 5 card with a drink recipe, a card with all the information about an expense, or all the facts about the state of California. Another perspective is to think of records as rows on a spreadsheet. Each row has information for a distinct item. Each row is a record. Each record has multiple pieces of information, each in its own container. There might be a NAME container that holds the name "Joe" or the AGE container that holds the number "23." The NAME and the AGE containers are called fields.
.H2 Fields
The columns in a table are fields. Each column has the same type of information for each record in the table, such as the height field, age field, or weight field. Each cell in the table is a specific data item, such as 72 inches, 34 years old, or 145 pounds. A database keeps like data in a single column allowing you to search or sort on just that one column.
Compare the field concept with Memo Pad where all the data gets mixed up in one long string of text. If you’re looking for someone who is 72 inches tall and search for "72," you’ll also find someone who is 72 years old, or who weighs 72 pounds.
Table A shows a simple database that has two fields (NAME and AGE) and currently contains three records (Albert’s, Bob’s, and Cher’s) in the list view:
.BEGIN_TAB_TABLE A Sample list view
.TAB_TABLE_HEADER NAME AGE
.TAB_TABLE_ROW Albert 34
.TAB_TABLE_ROW Bob 25
.TAB_TABLE_ROW Cher 30
.END_TAB_TABLE
The list view shows the database as a list and each record is a row in the list. Below is shown one of the records in the record view. The record view shows one record at a time on the screen or page.
.BEGIN_CODE
NAME: Albert
AGE: 34
.END_CODE
.H2 Sorting
Databases can be sorted on one or more fields. How would you find the oldest person in your database? It’s easy. Just sort the database on the AGE field, and the oldest person will be put at the bottom of the list. When you sort on a field, all the other fields associated with each record are moved also to keep all records intact.
.H2 Filters
Filters are used to exclude certain data that we don’t want to see at a particular time. For example, if we’re looking only for females, we would filter on the GENDER field (a field which we just added to the database) and select only "F" in that field. Before applying the filter we have what’s shown in Table B:
.BEGIN_TAB_TABLE B New sample list view
.TAB_TABLE_HEADER NAME AGE GENDER
.TAB_TABLE_ROW Bob 25 M
.TAB_TABLE_ROW Cher 30 F
.TAB_TABLE_ROW Alber 34 M
.TAB_TABLE_ROW Dawn 32 F
.END_TAB_TABLE
After filtering for only "F" in the GENDER field we get the list shown in Table C:
.BEGIN_TAB_TABLE C List view with applied filter
.TAB_TABLE_HEADER NAME AGE GENDER
.TAB_TABLE_ROW Cher 30 F
.TAB_TABLE_ROW Dawn 32 F
.END_TAB_TABLE
The males are still in the database. We just can’t see them because they are temporarily filtered out of sight. By using sorting and filtering together, we can look at our data in many interesting and useful ways. If you turn off the filter, the database will display the four original records.
.H2 Search
We can search a database by any field. So if we are looking for the first record belonging to a female in the database, we would search for an "F" in the GENDER field, and we would not find any other "F


