Evaluating the tools for multiple databases
Dozens of books cover a specific database
package, but most treat their topic in isolation. Yet companies usually have
more than one critical database, and rarely do all the databases run on one
database management system (DBMS) or OS. Companies with multiple databases have
tools for writing user interface applications that combine data from the
databases. To produce useful, efficient applications, your challenge is to match
the tools to the server database. Ken North's Windows Multi-DBMS
Programming: Using C++, Visual Basic, ODBC, OLE2, and Tools for DBMS
Projects helps meet that challenge for Microsoft Windows-based applications.
North starts with an introduction to Windows programming concepts and then
discusses prevalent database architectures in the corporate environment. He
quickly moves into the core topic of multidatabase programming, covering issues
such as interoperability, gateways and routers, and distributed objects.
This how-to book reviews tools, explaining servers and database engines in
detail, including Microsoft SQL Server, Watcom SQL, Quadbase SQL, R:BASE SQL,
Raima's Database Server, Gupta SQLBase, and Integra VDB. The author selected
these software packages because they all offer a SQL programming interface for
Windows client applications. Nevertheless, the omission of products such as
Oracle is surprising. The product descriptions are detailed, down to command
strings for setting up databases, and instructions for using the DBMS software.
Open Database Connectivity (ODBC) is a major topic, and North gives it a
lengthy chapter. It's a good introduction if you haven't worked with ODBC; even
if you have, it's a good refresher course and reference. Qelib also gets an
entire chapter. As with the OBDC chapter, plenty of reference tables and tips
illustrate how to use Qelib. The other part of the client/server equation is
choosing data access and data presentation tools. The author covers such tools
as Microsoft Excel and Word, Lotus 1-2-3, Crystal Reports, and Gupta Quest. The
chapter's comprehensive tables let you compare each tool's functions, features,
and commands.
Moving from data access and presentation tools, the author explains
developer-oriented tools, such as Asymetrix InfoModeler, AppWare, SQLView, and
ProtoGen+, and how they help you design database applications. The next topic is
client/server toolkits. The author discusses Powersoft's PowerBuilder, Gupta
SQLWindows, and ObjectView, and points out that they can help integrate data
from diverse sources.
You can use one category of software for standalone databases or as the
client for larger databases. The two products that exemplify this category are
Microsoft's Access and FoxPro. North points out some interesting benefits,
including prototyping on a desktop and then moving the server component to a
large DBMS. Developing client/server applications with these tools can reduce
the amount of code you have to write. In a logical progression, the author then
proceeds to programming tools such as Visual Basic (VB), C++, and Object Linking
and Embedding (OLE) 2.0.
Windows Multi-DBMS Programming condenses a small library of useful
information for database application developers. North compares tools without
showing bias. For example, the tables listing available API calls can help you
select the right tool for a specific purpose.
One criticism is that the section on server DBMSs misses the mark. Except
for Microsoft SQL Server, the products North discusses do not seem to be
affecting the corporate world. Gupta has allied with Microsoft, and Watcom with
Sybase, to produce departmental rather than enterprise servers. This section
would be more valuable it if covered methods of connecting to Oracle, Informix,
Ingres, Sybase, and other industrial-strength databases. But if you want to stay
in a Windows environment all the way, this book is a good place to start.