Apr 98 MacTech Online
Volume Number: 14 (1998)
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_LESSON.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.html
- 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/WebObjectsTOC.html
- Creating a WebObjects Database Application
- http://gemma.apple.com/techinfo/techdocs/enterprise/WebObjects/GettingStarted/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 www.mactech.com/online/.