DBMS on iOS-Devices (2)

In part (2) about databases I will introduce an SQLite – based app from Apple’s App Store. I found it by posting a question to the ‘MacTalk Australia’ – Forum (Thanks to Biallystock).

On my point of view the following requirements are indispensable to obtain acceptance from users even with a lower state of knowledge:

  • Creating tables directly on the iOS-Device
    (without the need of a computer)
  • Availability of field type ‘media’ to insert images, PDFs and other document types
    (iWork-Documents would be highly appreciated)
  • Importing CSV-Files for simple analysis
  • Creating simple queries
  • Printing reports
  • Self explaining user interface
  • Support for easy and fast entry of data
    (date picker, customizable pick lists, etc.)
  • Creating relations between tables
    (for connecting records of a subtable to a main table)
  • Included templates and the possibility of customizing them
  • Automatic or on demand syncing across iOS-Devices via iCloud or other storage providers like Dropbox, Box, etc.
  • Direct syncing between iOS-Devices in the same WLAN
  • Backing up all data and settings for a complete restore on another device
  • Security features like Passcode lock for the app and encryption of the database
  • Stability of the app and maintained data integrity after crashing

According to my present knowledge Tap Forms HD from Tap Zapp Software Inc., Canada is the only app that meets these requirements. I looked on the version 3.0.4 (44) from Dec 2012.

To show you the features, I created a new database on an iPad 3rd Gen and synced it with an installation on iPhone 4S via iCloud (implemented feature of Tap Forms).

I have chosen a semi-professional document management system, which clears up the mysterious business of table design and table linking.

The definition of goals …

To avoid distribution of data to different locations we use the database which contains all the information needed to browse through essential informations based on documents.

Let’s work with two tables.

The set of basic informations is stored in a master record in the master table.
Corresponding documents are stored in a document record of the documents table. One master record may refer to a couple of documents stored in the documents table.

Documents are the feed for our database.
Follow these steps to machine the food and bring it to the empty belly.


The food is served so we can now start to design the storehouse, sorry, the database.

For those who are not acquainted with database design and technical terms I will do my best to keep it simple. Beginners are invited to read the first part of my blog from 2012-01-03.

Step 1 … Creating the document table

The document table contains the files attached to records of the basic table.
By way of example:
We have two documents referring to the purchase of an Apple iPad, the invoice and the Apple Care Protection Plan.
In other cases it could also be the sales contract for a car and invoices of repair services or insurance policies.
You also can define a table for customers (use Apple’s CONTACTS app only for what is it designed for) with additional informations like Last Contact, Reminders (using field type ALERT for alerts like those of Apple’s Calendar or Reminders app), Invoices, Offers, etc..


Step 2 … Creating the master table

The master table is the outline for main informations enclosed in documents.
Possibly there are documents of different kinds, so we will implement a further breakdown e.g. (insurances, devices, …). This will later on enable us to select records.


Using a powerful special field type called Pick List


Step 3 … Entering the data

The image shows the data entered for Name=Apple Topic=Device with 5 attached PDF documents as there are invoices and a confirmation for an Apple Care Protection Plan.
As you can see the app follows Apple’s iOS Human Interface Guidelines when using symbols. This makes it easy to use.


Step 4 … Searching for data

Databases contain a lot of entries so it is indispensable to have a highly efficient functionality for searching records. In the example below a SEARCH on devices has been configured and saved for later use. In the search area (top left) you can enter ad-hoc search terms or refer to saved searches. In the latter case Search Rules like ‘Field contains, is less than, is greater than or equal to, …’ can be defined.


Step 5 … Syncing and backing up

After a short time an intensively used database contains many relevant informations.
So backing up the data is indispensable.


Notes …