Apr 98 MacTech Online
Volume Number: 14
Issue Number: 4
Column Tag: MacTech Online
MacTech Online
by Jeff Clites, online@mactech.com
Whoever first said, "It's a small world," must not have been shopping for a database.
There is a lot out there, probably because the idea of a database is one of the most
fundamental and powerful concepts in computing. After all, what do computers do if not
manipulate, store, and retrieve data? At its simplest, a database can be just a file
system. On another level, it can be a mechanism for providing object persistence. And
on a larger scale, it can be a repository of information to be accessed remotely from
thousands of locations and multiple platforms. To help make sense of it all, we're going
to take a quick tour of this vast landscape. Since several of the big tourist spots are
reviewed elsewhere in this issue, we're going to visit a few of the more intimate, out
of the way spots that might otherwise be missed.
Don't Forget to Write Home
As with all trips, it can be surprising how many things there are to see right at home
-- and in this case, home is Apple. Developer World has an extensive list of products
available for the Macintosh for client/server and database development. It's over a
year old, but still provides a wealth of information about just what is out there, and it
gives brief explanations of some of the terminology involved along the way. There is
also the MacODBC SDK, which uses a shared library to provide a generalized API for
interacting with databases.
While you're in the Apple domain, stop by the AppleScript site, where there is a
tutorial on database publishing. They use FileMaker Pro and QuarkXPress to
demonstrate how AppleScript can be used to bring the services of a database to another
scriptable application. It's a good place to start convincing yourself that AppleScript
really can be used by serious developers.
Here's one of the best kept secrets of the Mac OS: Apple has cautioned developers that
the resource manager is not a database. But, then they "thought different" and provided
the Dictionary Manager, which is. It's designed to provide a reusable format for
dictionaries used by input methods for 2-byte script systems, but it can also be used
for other lightweight database tasks. If you can handle its restrictions (keys at most
129 bytes, records at most 4096 bytes, and a total database of less than 16MB) or are
just getting your feet wet with database programming, then it can provide a simple,
free, and always available alternative to third-party packages. It's documented in
Inside Macintosh: Text.
Client/Server and Database Development Tools for the Macintosh
http://devtools.apple.com/general/Guide2MacTools/csdatabase.html
Apple Software Development Kits
http://devworld.apple.com/ngs/lpp/adrpub/docs/dev/sdk.html
Database Publishing Lessons
http://applescript.apple.com/applescript_overview/dbase_lessons/DBASE_L
ESSON.00.HTML
The Dictionary Manager
http://gemma.apple.com/dev/techsupport/insidemac/Text/Text-483.html
Learn the Language
The database market comes with its own set of lingo and acronyms. If you're a little
befuddled by terms such as SQL, ODBC, DBMS, and 4GL, then the Free On-line
Dictionary of Computing can help.
But when you want to start getting down to serious business, it's time to learn the to
talk directly to your database -- like a native. Fortunately, there is a standard
language, which is used by many (but certainly not all) commercial databases. It's
SQL, the Structured Query Language, and it's spoken by the big boys, Oracle, Sybase,
and Informix, as well as by others. For the brave, there is an online tutorial and an
FAQ, but the most useful resource may be the "Ask the SQL Pro" site, which can help
answer your questions as you learn the language.
Free On-line Dictionary of Computing
http://wfn-shop.princeton.edu/cgi-bin/foldoc
SQL Tutorial
http://w3.one.net/~jhoffman/sqltut.htm
SQL FAQ
http://epoch.CS.Berkeley.EDU:8000/sequoia/dba/montage/FAQ/SQL_TOC.htm
l
Ask the SQL Pro
http://www.inquiry.com/techtips/thesqlpro/
Planning Your Next Trip
There are two things certain to be in the future of any Mac programmer: Rhapsody, and
Java. You can't hide from them forever. Fortunately, both come ready-made to interact
with database servers. Rhapsody has the Enterprise Objects Framework, which allows
your applications to interface with relational databases, and which most notably allows
WebObjects applications to interact with a database in an object-oriented manner.
Rhapsody is also slated to ship with a free version of the OpenBase SQL database engine.
For Java developers, life is good, because there is an SQL database interface which
forms a standard part of Java, and which is included in the JDK 1.1. It's the JDBC API,
and you can find out all about it on Sun's Java site.
Documentation for Internet/Enterprise Programmers
http://gemma.apple.com/techinfo/techdocs/enterprise/enterprise.html
WebObjects 3.5 Documentation
http://gemma.apple.com/techinfo/techdocs/enterprise/WebObjects/WebObje
ctsTOC.html
Creating a WebObjects Database Application
http://gemma.apple.com/techinfo/techdocs/enterprise/WebObjects/GettingSt
arted/Movies/MoviesTOC.html
OpenBase International, Ltd.
http://www.openbase.com/
The JDBC(tm) Database Access API
http://java.sun.com/products/jdbc/index.html
These and other links are available from the MacTech Online web pages at
http://www.mactech.com/online/.