Inside Out II
Volume Number: 9
Issue Number: 3
Column Tag: Tools of the Trade
An industrial strength database engine
By Kirk Chase, MacTech Magazine Regular Contributing Author
Inside Out II (referred to hereafter as “ISO”) is an industrial strength database
engine for the Macintosh. [This review is on version 2.1.1. Version 2.2 will be
released by the time you read this. - Ed.] ISO has some unique features that make it
desirable for developers.
• It’s fast.
• It’s flexible.
• It holds all data in a single file (or extension files if the volume is pressed for
space).
• It can handle large database sizes (up to 256 gigabytes of data).
• It can handle multiple users.
• It can operate over the network.
Starting Out
Upon receiving the ISO package, I opened it and was impressed. Sierra Software
laid the manual out very well. It comes in a 3-ring binder for easy page changes. The
first major section gives installation, examples, and background information. The
next major section reviews important database topics and functions. The last major
section goes through each function in ISO and gives an example of it.
The manual, though, was surprisingly disappointing in places (I don’t think I’ve
ever seen the perfect manual). ISO is laid out so well that I felt it could have spent a
little more time in places. For example, I looked at the “Getting Started” section that
comprised both the installation and the examples. It seemed rather “skimpy” for such
an important section.
I quickly installed ISO and tried out the examples. The examples you’ll find are of
your typical flat databases. The examples demonstrated the basic functions without a
great deal of overhead, but I really felt an example of hierarchical databases, sets, and
some more sophisticated database queries could have been added. A database
construction “walk through” example would have been great.
Please keep in mind, that I was very happy overall with ISO and the manual.
Section two did a very good job of discussing the ideas and functions of an ISO database.
Section three contains a reference to all ISO procedures and an example showing how it
is implemented.
Basic ISO
An ISO database consists of a single physical file with the possibility of multiple
“extension” files. These extension files can be considered as overflow files when disk
space runs low. Within the database, several types of logical files may exist. They are
as follows:
• Unstructured files - files that are accessed like data forks
• Static blocks - which are accessed like resources
• Structured records - the database portion of the database
ISO allows you to have any number or combination of these “logical” files in
your database-very nice. Here is an example of how one might use all these logical file
types. A drafting program may have a database of structured records for materials and
costs for a particular project. The project itself could be kept in an unstructured file.
Static blocks could be used to keep project specific globals such as cost totals, new
views of the project, and security access variables.
As a developer, you no doubt have dealt with the data fork and resources (static
blocks). I will concentrate on the database features of ISO.
Building a Database
ISO is for developing relational and flat databases. Applications that work with
the databases may either be single or multi-user in design. ISO provides different
resources for single-user and multi-user applications.
The development phases for creating your application are as follow:
• Design your database structure.
• Generate the schema resources that define your database with all its files,
fields, keys and views.
• Generate the header files for the views you created.
• Create an application with the debugging resources ISO provides along with the
schema resources created.
• Develop your application in a debugging environment.
• Finally, replace the debugging feature of your resources and code with the normal
resources to generate the final application.
The Schema Editor
Resources are used to define the files and record structures of the database. One
drawback of ISO is that these resources must be in the application itself. [The schema
resource can also be in the database file. - Ed.] One benefit is that 4th Dimension can
browse databases with an external. ISO is for specific database applications. You will
not be disappointed with ISO.
A major step in database development is designing the files, fields, keys, and so
on used in the database. You do this with the Schema Editor provided by ISO. I will be
up front with you. The Schema Editor is quite weak in its user-interface design. It
feels as if it had been created as an afterthought and is not up to par with the rest of
ISO. You may want to use Rez instead to generate your resources. Still, the Schema
Editor does produce a good set of reports on your schema that are handy for
documentation. [Version 2.2 will have a new Schema Editor. Some of these concerns
may be addressed in this new version. - Ed.]
Figure 1. Index Record IDs and Connection Fields