TidBITS#580/14-May-01
=====================

  This week we examine two fixtures in the technology landscape:
  modems and databases. Kevin Savetz contributes a look at V.92, the
  next modem standard for those who can't get broadband connections,
  and Jonathan Rentzsch starts a look at relational databases for
  Mac OS X by explaining what a relational database actually is. In
  the news, Apple releases Mac OS X 10.0.3, Casady & Greene
  discontinues SoundJam, Macromedia ships FreeHand 10, and we note
  the passing of author Douglas Adams.

Topics:
    MailBITS/14-May-01
    TenBITS/14-May-01
    V.92 Modems: Will Dial-Up Access Get Faster?
    Relational Databases and Mac OS X, Part 1

<http://www.tidbits.com/tb-issues/TidBITS-580.html>
<ftp://ftp.tidbits.com/issues/2001/TidBITS#580_14-May-01.etx>

Copyright 2001 TidBITS Electronic Publishing. All rights reserved.
   Information: <info@tidbits.com> Comments: <editors@tidbits.com>
   ---------------------------------------------------------------

This issue of TidBITS sponsored in part by:
* READERS LIKE YOU! You can help support TidBITS via our voluntary <- NEW!
   contribution program. Special thanks this week to Jon Curwen,
   Duane Williams, and Jean-Christophe Hadamar for their support!
   <http://www.tidbits.com/about/support/contributors.html>

* APS Tech -- 800/395-5871 -- <sales@apstech.com>
   Burn a full CD in less than five minutes with the APS CD-RW
   16x10x40 FireWire Plus. FireWire and USB ports let you easily
   connect to all recent Macs. Order at: <http://www.apstech.com/>

* WinStar Northwest Nexus. Visit us at <http://www.nwnexus.com/>.
   Internet business solutions throughout the Pacific Northwest.

* Small Dog Electronics: PowerLogix G4/450 Upgrade: $399! <---------- NEW!
   NEW PowerBook G3/400 with 2 AC Adaptors and Backpack: $1,794
   Refurb Epson Printers: Photo 1270: $239; Photo 750: $129
   iMac DV/400: $749! <http://smalldog.com/> -- 802/496-7171

* New Lower Price! NETLINE WIRELESS BROADBAND GATEWAY Only $299!
   An 802.11b access point and router all-in-one! Works with
   Apple AirPort. Macworld BEST OF SHOW AWARD Winner!
   <http://www.farallon.com/tb/netline/nwbg.html>

* Bare Bones Software BBEdit 6.1 -- Built for Mac OS X
   The award-winning HTML and text editor is now native for
   Mac OS X. Buy, upgrade, or download the demo at our Web site:
   <http://www.barebones.com/> It doesn't suck.

* FILEMAKER PRO USER'S LEARNING SUMMIT: The Riviera Hotel, Las <----- NEW!
   Vegas, NV July 10-13! Presented by MacAcademy in cooperation
   with FileMaker, Inc. 64 workshops to choose from. For more
   info: <http://www.macacademy.com/tidbits.html> --800-527-1914>

* ConceptDraw v1.6 -- Now for Mac OS X! The Carbonized
   version of the powerful flowcharting and diagramming
   software is now available! Free update for
   registered users <http://www.conceptdraw.com/>

* Web Crossing: Ideal community software for news or media sites!
   Customizable, scalable, and flexible, Web Crossing is the
   choice of top media sites such as The New York Times and CNN.
   Free 30-day trial demo at <http://webcrossing.com/tb120>
   ---------------------------------------------------------------

MailBITS/14-May-01
------------------

**So Long, and Thanks For All the Laughs** -- Don't panic! Noted
  British humorist and Macintosh proponent Douglas Adams died
  unexpectedly from a heart attack at a gym near his California home
  last Friday. He was 49 years old. Among his many proclivities (he
  had built barns, worked as a bodyguard, and played guitar with the
  rock band Pink Floyd), Adams wrote the classic Hitchhiker's Guide
  to the Galaxy series, which began as a BBC radio serial and also
  spawned graphic novels, record albums, a play, a computer game,
  and a television series. Adams had been recently working on a
  feature film adaptation of Hitchhiker's for Disney. Although Adams
  didn't try to write predictive science fiction, his works
  engendered a surprising collection of Internet and pop culture
  terminology (such as the name of AltaVista's BabelFish
  translation service), and his fictional Guide - envisioned
  long before the Web - could be described as a galaxy-wide
  online collaboration system. Tributes from friends and fans
  are being collected at Adams' Web site. [GD]

<http://www.douglasadams.com/>


**SoundJam Fades Out 01-Jun-01** -- The future of Casady &
  Greene's SoundJam MP has been in question since SoundJam's
  programmers went to Apple, where they based the free iTunes
  on their SoundJam code (see "SoundJam Keeps On Jammin'" in
  TidBITS-535_ for a review). Now Casady & Greene has announced
  that they will cease publication of SoundJam as of 01-Jun-01
  at the request of the developers; however, in a move for which
  they deserve kudos, Casady & Greene will continue to provide
  technical support to SoundJam owners. All other Casady & Greene
  products continue unaffected. [ACE]

<http://www.casadyg.com/>
<http://db.tidbits.com/getbits.acgi?tbart=05988>


**FreeHand 10 Goes Mac OS X Native, Adds Features** -- Macromedia
  is now shipping FreeHand 10, improving the vector graphics
  program's integration with Flash 5 and running natively under Mac
  OS X. Specific new features include master pages, the Macromedia
  Standard Pen Tool (a multipurpose drawing tool that behaves the
  same in FreeHand, Flash, and Fireworks), and the implementation of
  Macromedia's user interface. The full version of FreeHand 10 is
  currently available as an online download for $400; updates from
  previous versions are $130. A boxed version is scheduled to ship
  in late May. Since Macromedia is still updating its systems to
  support purchases and downloads from Mac OS X, the company
  recommends that Mac OS X users purchase the boxed version. [JLC]

<http://www.macromedia.com/software/freehand/>


TenBITS/14-May-01
-----------------
  by TidBITS Staff <editors@tidbits.com>

**Mac OS X 10.0.3 Released** -- Just days after the release of Mac
  OS X 10.0.2 (see "TenBITS/07-May-01" in TidBITS-579_), Apple has
  offered an update to version 10.0.3. Apple says the Mac OS X
  10.0.3 update fixes a problem in the Mac OS X Finder in which
  folders containing unusually large numbers of items don't display
  all their contents. Installing Mac OS X 10.0.3 on a Mac running
  10.0.1 also provides all of 10.0.2's fixes, including CD burning,
  better stability, and a newer FTP server. You can use the Software
  Update control panel in System Preferences to download the update
  (automatic checks aren't working for a number of people; if this
  is true for you, just click the Software Update control panel's
  Update Now button). If a firewall or other situation prevents you
  from using Software Update, you can also download and manually
  install a 14.9 MB updater disk image. The manual approach requires
  that you already have 10.0.1 or later installed; otherwise, you'll
  first need to install the Mac OS X 10.0.1 updater (available at
  the last URL, below). [MHA]

<http://db.tidbits.com/getbits.acgi?tbart=06421>
<http://til.info.apple.com/techinfo.nsf/artnum/n75134>
<http://til.info.apple.com/techinfo.nsf/artnum/n75125>


**Kensington MouseWorks 1.0 for Mac OS X** -- Kensington has
  released the first full version of its MouseWorks software
  supporting Kensington mice and trackballs under Mac OS X. Although
  mice with two buttons or scroll wheels work on their own under Mac
  OS X, MouseWorks 1.0 for Mac OS X enables Kensington device owners
  to customize button actions. There are a few caveats with this 1.0
  release: one-button mice and TurboMouse 1.0 to 4.0 products (the
  older, two-button versions) are not supported, and some
  functionality of MouseWorks under Mac OS 9 isn't available, such
  as button chording, Application Sets, and Rest Reminders. Still,
  as someone who relies on using my right mouse button to double-
  click items, I'm happy to see that the basics are in place.
  Kensington MouseWorks 1.0 for Mac OS X is a free 3.3 MB download.
  [JLC]

<http://www.kensington.com/support/sup_1283.html>


**UpdateAgent X Preview** -- The number of Mac OS X-compatible
  applications is rising all time. Major applications tend to get
  the most coverage, but what about smaller but no less essential
  utilities? Insider Software has released a preview version of
  UpdateAgent X, which scans your hard disk and automatically
  downloads available updates to your programs. Although this
  release is a little rough around the edges (most noticeable is the
  Classic-style black outline surrounding default buttons instead of
  Mac OS X's pulsing color effect), UpdateAgent X delivers what it
  promises. A free demo that can download only Mac OS updates from
  Apple is available as a 2.5 MB download; the demo also lists but
  does not download other applications from its database of 5,000
  programs. The full version costs $50 per year. Currently,
  UpdateAgent updates Classic and Carbon applications; support for
  Cocoa programs will be provided in a free update. [JLC]

<http://www.insidersoftware.com/updateagent/mac/>
<http://www.insidersoftware.com/updateagent/mac/demoinfo.html>


**Mac OS X Janitorial Staff** -- One of the ways that Unix
  achieves its vaunted reliability is by way of a scheduling tool
  called cron, which runs scripts that clean up the mess left by
  normal operating system usage. Mac OS X is no different than other
  forms of Unix in this respect, and it has daily, weekly, and
  monthly scripts that reset log files, back up internal databases,
  and perform other necessary tasks, often between 3 AM and 5 AM.
  However, typical usage of Mac OS X differs from other Unix systems
  in that Macs are often turned off or sleeping when they're not
  being used, whereas other Unix machines tend to run constantly.
  Although powerful and flexible, cron has one major issue in this
  area - it doesn't catch up on tasks scheduled for when the Mac was
  off or asleep. Brian Hill has addressed this limitation with a
  free utility called MacJanitor that lets you manually start Mac OS
  X's daily, weekly, and monthly maintenance scripts. You must
  remember to launch MacJanitor, but as long as you do it every so
  often, it shouldn't matter as much if you regularly leave your Mac
  sleeping or turned off during the period when it would like to be
  sweeping the floors. [ACE]

<http://personalpages.tds.net/~brian_hill/macjanitor.html>


**Setext Viewing on Mac OS X** -- Since 1992, email issues of
  TidBITS have been formatted using the structure-enhanced text
  (setext, pronounced "see text") format that I helped Ian Feldman
  develop during 1991. It's an implicit markup language, so most
  people never even realize they're reading it, but it is possible
  to write programs that can interpret the sections and style markup
  within setext - for instance, the text editors BBEdit and Alpha
  automatically detect the structure of setext documents. The
  canonical program for viewing setext documents is Akif Eyler's
  Easy View 2.6.2, but some years ago Akif announced he had no plans
  to work on it further and released the source code. It still works
  (at least under Mac OS 9.1), but is undoubtedly living on borrowed
  time. A recent resurgence in interest in setext has resulted in
  Sascha Bigalke's SmartView 2.0, which runs under Mac OS 9 and in
  Classic mode in Mac OS X, and Samizdat Software's SetextView 0.3,
  which runs only in Mac OS X. Both are obviously still works in
  progress, with only rudimentary support for the kind of multiple
  file browsing Easy View provides, but if you're interested in
  setext, they're worth a look. [ACE]

<ftp://ftp.tidbits.com/info-mac/text/smart-view-20.hqx>
<http://homepage.mac.com/samizdat/>


V.92 Modems: Will Dial-Up Access Get Faster?
--------------------------------------------
  by Kevin Savetz <savetz@northcoast.com>

  A new breed of modems - referred to by the decidedly forgettable
  moniker of V.92 - is appearing on computer store shelves. They
  promise to add convenient features and squeeze every last ounce of
  speed from analog telephone lines. But don't rush to upgrade just
  yet - it will be a little while before Internet service providers
  actually support this new standard.

<http://www.v92.com/>

  When they do, you can expect to hear these four V.92 features
  touted:

* Modem-on-Hold (also known as Internet call waiting) will be
  cause for celebration in single-phone-line households. The feature
  works with traditional call waiting, allowing you to answer an
  incoming call while you're online. After you hang up, you can
  resume with the Internet connection unperturbed. Unlike existing,
  proprietary Internet call waiting options, V.92's version won't
  require you to install special software or pay extra for a
  forward-when-busy service from the phone company.

* QuickConnect will reduce the time it takes to log in, cutting by
  half the training (or handshake) time in which the modems squeal
  and beep at each other to establish a connection. The first time
  your modem connects to your Internet provider, the modems walk up
  the available protocols until they agree on the highest common
  speed plus other features like compression. A V.92 modem memorizes
  information about the connection, which it uses for subsequent
  connections rather than taking time to renegotiate every time you
  dial in. It's not a dramatic improvement, but will save a few
  seconds every time you log on.

* Improved compression for faster downloads. Although these new
  modems have the same maximum download speed as today's V.90
  modems - 53 kilobits per second (Kbps), a limit set by Federal
  Communications Commission restrictions - they use a new
  compression protocol called V.44 that will make text and Web pages
  (both of which are highly compressible) download somewhat faster.

<http://www.v92.com/v44.htm>

* Faster uploads. A technology called PCM Upstream digitally
  encodes data the modem sends, increasing upload speeds to 48 Kbps
  from the speed limit of 33.6 Kbps, which dates back to the 1996
  revision of the old V.34 standard. Latency for upstream data
  should also be reduced by 20 to 30 percent - not a significant
  factor, but it should help to improve performance for online
  gamers and video conferencing. [For background on latency, see
  Stuart Cheshire's "Bandwidth and Latency" articles beginning in
  TidBITS-367_; for details on the workings of 56K modems, see Jeff
  Carlson's article in NetBITS-008_. -Geoff]

<http://db.tidbits.com/getbits.acgi?tbser=1014>
<http://db.tidbits.com/getbits.acgi?nbart=04451>

  (That mysterious V.whatever naming convention, incidentally,
  originates in Switzerland at the International Telecommunications
  Union, an organization that coordinates telecommunications
  networks and services. Protocols whose names start with 
  "V." - which range from V.1 to V.300 - set standards for
  data communication over the telephone network.)

<http://www.itu.int/>


**The Clogged End of the Pipe** -- Although several modem
  manufacturers have already released serial and USB V.92 models -
  any of which should work with a Mac - computer users can't enjoy
  any of the new features until Internet service providers upgrade
  their equipment to handle the new protocols, which will probably
  take months.

  I expect the largest ISPs to begin offering trials of V.92 in the
  middle of 2001, with official rollouts toward the end of the year
  or the beginning of 2002. Smaller service providers may offer V.92
  access sooner.

  America Online, the biggest online provider of them all, has not
  yet committed to supporting V.92. "This version of consumer modem
  is only now arriving in the marketplace," said spokesman Nicholas
  Graham. "As we did with the V.90 modem, we will thoroughly test
  and debug V.92 modems at the appropriate time."

  Representatives of EarthLink and MSN, the second and third largest
  dialup providers, offered similar statements. "We'll begin testing
  V.92 as soon as we feel it's stable and reliable enough to
  incorporate into our systems," said Kurt Rahn, a spokesman for
  EarthLink. "At this point, though, we have no immediate plans to
  support it."

  Replacing your current, working 56 Kbps modem with a V.92 model
  would be premature. But if you plan on purchasing a new modem
  anyway, it makes sense to buy a V.92-ready model. It will work
  with today's V.90 standard now; when your Internet provider is
  ready with V.92, you'll have the right hardware. Plus, there's no
  financial reason not to buy a V.92 modem, since they cost about
  the same as V.90 units. A search at the CNET Shopper price
  comparison service revealed street prices from about $65 to $150.

  You may not even have to buy a new modem to enjoy these new
  features. Some modem manufacturers are planning to release free
  "flash upgrade" software that will update the internal software
  (or firmware) of certain recent modem models to support V.92. Most
  older modems aren't upgradable, though, since they lack the
  hardware power to handle the enhanced compression and call waiting
  features. Visit your modem manufacturer's Web site to find out if
  an upgrade will be available for your modem.

  I asked Apple whether they will start to install V.92 modems in
  new Macs, and if they can provide a firmware upgrade for today's
  crop of internal Macintosh V.90 modems, but my calls were not
  returned.

  The builders of both consumer modems and "head end" equipment -
  the communications hardware Internet service providers use - are
  in the process of fine-tuning their V.92 software. Many of the new
  features in V.92 are still being perfected. So even if you buy a
  new V.92 modem today, be prepared to flash-upgrade the hardware in
  a few months: this will assure you are using the latest and
  (theoretically) greatest firmware. It's too early to tell whether
  these flash updaters will be available for the Mac; if your
  modem's manufacturer only releases a PC-based updater, you may
  have to use a product like Virtual PC to run the updater or plug
  your modem into a friend's PC to inject V.92 support.

  "We think it surely makes sense for folks who do not have 56K or
  whose modems break today, to invest in V.92 platforms, but we
  certainly expect that they will want to flash them as the services
  really do roll out," said Larry Hancock, marketing director at
  Zoom Telephonics, a major modem manufacturer which now owns both
  Hayes and Global Village.

<http://www.zoom.com/>
<http://www.hayesmicro.com/>
<http://www.globalvillage.com/>

  With the ever-increasing hunger for high-speed Internet access and
  the decreasing cost of broadband services such as cable modems and
  DSL, analog modems may be living their twilight years - V.92 could
  be the last great modem standard. But for now, despite relatively
  slow speeds and a staid reputation, there's still a place for
  modem connections. After all, modem access is cheaper, simpler to
  set up, and available where broadband access isn't.

  [Kevin Savetz is a freelance computer journalist specializing in
  the Internet and Macintosh.]

<http://www.savetz.com/>


Relational Databases and Mac OS X, Part 1
-----------------------------------------
  by Jonathan "Wolf" Rentzsch <tidbits@redshed.net>

  Love it or hate it, Mac OS X ships with Unix under its hood. As a
  user, I worry the Mac experience could degrade into editing
  brittle text configuration files and typing obscure and
  unforgiving commands. As a programmer, I'm overjoyed because we
  Mac users now have access to certain industrial-strength software.
  This is the type of software that drives Fortune 500 companies,
  calculates extremely complex chemical reactions, and generates the
  movies we watch. Since I don't make movies and I'm not a
  scientist, I'm most interested in the business side of this
  software. In particular, I'm interested in relational databases.

  On the classic Mac OS, FileMaker Pro and 4D dominate the database
  scene. I'm partial to the newcomer Valentina, while other folks
  swear by Helix RADE or Frontier [for context, see Matt Neuburg's
  articles on these last two. -Adam]. Unfortunately, none of these
  databases qualify as "industrial strength." Don't get me wrong:
  they do their jobs well, but they lack the qualities that many
  database professionals crave: SQL and ACID. But before we dive
  into those two acronyms, let me introduce you to the relational
  database model. In the next installment of this article, we'll
  look at some of the relational databases that become available to
  Macintosh users under Mac OS X.

<http://db.tidbits.com/getbits.acgi?tbart=05814>
<http://db.tidbits.com/getbits.acgi?tbart=05351>


**Relational Databases** -- Although  there are many different
  types of databases (free form, hierarchical, network and object
  relational to name a few), the relational database model is the
  favorite of businesses.

  Introduced by mathematician Dr. E. F. Codd in the early 1970s, the
  model is simple (though most books like to obscure it behind
  mathematical jargon). Imagine a spreadsheet where you keep a list
  of your customers:

> CUSTOMER Table
> CUSTOMER_ID    NAME                EMAIL
> 1              Steve Jobs          sjobs@apple.com
> 2              John Sculley        jsculley987@hotmail.com
> 3              Michael Spindler    mspindler654@yahoo.com
> 4              Gil Amelio          ameliorator321@hotmail.com

  Notice that you have three columns of information, with each
  column dedicated to holding a certain nugget of information. You
  have four customers, each represented by a distinct row.

  The relational model calls this data layout a "table;" a
  relational database contains one or more tables. Although similar
  in concept to a spreadsheet, a table is different in that each
  column can hold only one type of data. For example, it would be
  illegal to put text into the "CUSTOMER_ID" column - it can hold
  only numbers. Also, unlike a spreadsheet, the relational model
  doesn't allow cells to hold formulas (each cell must stand alone
  and can't refer to another cell).

  If you're used to thinking of databases as a bunch of index cards
  (as in FileMaker), here's a helpful guide: a table is analogous to
  a stack of cards, a row is analogous to a single card (a record),
  and a column represents a single field on a card.

  Now, let's say you want to keep track of your customers'
  purchases. You whip up another table:

> PURCHASE Table
> PURCHASE_ID    CUSTOMER_ID    DESCRIPTION
> 1              1              Black turtleneck shirt
> 2              2              Book: "How to Sell Sugar Water"
> 3              1              Faded blue jeans
> 4              3              Golden parachute
> 5              1              12-pack, bottled water
  > 6              4              Book: "The Second Coming of Steve
  Jobs"

  You can add rows to this table as customers make purchases. Each
  purchase has a "CUSTOMER_ID" column, which can be used to relate a
  purchase with a customer. For instance, in this table we know that
  Purchase #1 was made by Customer #1.

  Let's explore how these relationships can work. Given a
  PURCHASE_ID, it's easy for us to retrieve the purchaser's email
  address. Suppose we're interested in the fourth purchase; its
  CUSTOMER_ID field is set to 3. By scanning our customer list for
  customers with an ID set to 3, we discover a Michael Spindler,
  email address <mspindler654@yahoo.com>.

  Relationships can also work the other way: given a CUSTOMER_ID, we
  can work backwards to compile a list of purchases made. Let's
  start off with Steve Jobs, who has a CUSTOMER_ID of 1. Now we scan
  our purchase list, where we discover three rows with matching
  CUSTOMER_ID fields: purchases 1, 3, and 5.

  By following good design rules when setting up your tables, your
  database will have little or no duplicate data and will accept
  only valid data. Another perk is that nothing in your database is
  tied to a specific program - if you outgrow your current database
  program, you can move to another without much effort.

  Finally, relational databases are very scalable. You can start off
  on a $400 PC running Linux and migrate the same database to
  $400,000 IBM big iron. The only difference is speed and
  reliability. You can see why businesses like relational databases.

  Now that you know the general idea about relational databases, we
  can decode the SQL and ACID acronyms I mentioned earlier.


**SQL** -- SQL stands for Structured Query Language, and is
  correctly pronounced by spelling out its letters ("ess cue el").
  Some folks pronounce it "sequel," however this is incorrect: there
  was a language named SEQUEL that was SQL's forerunner. A minority
  pronounce SQL as "squeal," which never truly caught on, probably
  for the same reason SCSI was never pronounced "sexy" - it sounded
  silly in the boardroom. ("We'll need to attach a sexy drive to our
  squeal server." Sure you're going to say that to the big boss.)

  SQL is the standard language used to communicate with relational
  databases. Because it's actually a full language, users,
  developers, and software programs can use it to create, alter, and
  delete tables and the rows of information they contain. The use of
  a standard language opens relational databases up to a wide
  variety of interfaces and access methods that would have to be
  written from scratch individually for other types of databases.
  That accounts for one of the limitations of traditional Macintosh
  databases.

  Like HTML, SQL is a declarative language. It contains no variables
  or loops, and is easy to learn even for the non-programmer. With a
  non-declarative language, you must spell out the steps necessary
  to complete a task. A declarative language, on the other hand,
  simply allows you to state the desired end-result. SQL is an older
  language, and although it is case insensitive, convention
  capitalizes almost everything. Here's a valid SQL statement to
  create the customer table discussed above:

 CREATE TABLE "CUSTOMER"(
   "CUSTOMER_ID" INTEGER,
   "NAME"        CHAR(100),
   "EMAIL"       CHAR(200)
 );

  This command creates a table named CUSTOMER with three columns:
  CUSTOMER_ID, NAME and EMAIL. The CUSTOMER_ID column is defined to
  hold a number, while the NAME and EMAIL columns are respectively
  defined to contain 100 and 200 characters.

  It's easy to enter information into a table using the INSERT verb:

 INSERT INTO "CUSTOMER"(
   "CUSTOMER_ID",
   "NAME",
   "EMAIL"
 ) VALUES (
   1,
   'Steve Jobs',
   'sjobs@apple.com'
 );

  Space prohibits me from detailing the syntax for altering and
  deleting rows and tables, but it's just as easy as creating and
  inserting tables and rows.

  The key SQL verb is SELECT, which allows you to access and filter
  information from the database. For example, we can look up a
  customer's email address like so:

 SELECT "EMAIL"
 FROM "CUSTOMER"
 WHERE "NAME" = 'Gil Amelio';

  Here's the result you get back:

> EMAIL
> ameliorator321@hotmail.com

  The result takes the form of a table. Granted, in this case it's a
  table with only one column, but it's a table nonetheless.

  As a final example, given a name, the following query displays all
  of a customer's purchases. It's okay if you don't understand it, I
  just wanted to show off a little of what you can do with SQL.

 SELECT "PURCHASE_ID","DESCRIPTION"
 FROM "PURCHASES" WHERE "CUSTOMER_ID" = (
   SELECT "CUSTOMER_ID"
   FROM "CUSTOMER"
   WHERE "NAME" = 'Steve Jobs'
 );

  Here's the result:

> PURCHASE_ID    DESCRIPTION
> 1              Black turtleneck shirt
> 3              Faded blue jeans
> 5              12-pack, bottled water


**The ACID Test** -- ACID stands for "Atomicity, Consistency,
  Isolation, and Durability." These are the features that separate
  the pros (Oracle, PostgreSQL) from the minor leaguers (FileMaker
  Pro, 4D). When your business rides on the quality of your
  information, ACID is the feature set that helps you sleep at
  night.

  Atomicity (pronounced "atom-ih-sit-ee") comes from the word atom
  and its original meaning: that which is indivisible. In a
  database, that means that multiple operations are all bundled up
  into one indivisible transaction. Either all of the transaction's
  operations take place, or none of them do. This helps to ensure
  the database is in a valid state at all times.

  Consistency is the principle that only operations that meet all
  the database's validity constraints are allowed. The end effect of
  this is that illegal operations aren't allowed, whether they are
  external (perhaps users enter invalid data) or internal (perhaps a
  disk fills up and a required row can't be added).

  In this wild Web world, databases have to deal with multiple
  concurrent modifications. But what happens when Alice's
  transaction is modifying the table that Bob's transaction is
  reading? Isolation ensures that Bob's transaction sees the table
  as it existed before Alice's transaction started or after it
  completed, but never the intermediate state.

  Finally, Durability is the principle that once a transaction is
  completed, a mere system crash won't wipe it out. In the real
  world, this means that transactions aren't considered completed
  until the all the information has been written to a disk.


**What's Available?** In the next installment of this article,
  I'll cover the merits of a handful of database applications that
  can be run under Mac OS X, such as MySQL, FrontBase, and
  speculation about Oracle's possible entry into the Mac field.

  [Jonathan "Wolf" Rentzsch is the embodiment of Red Shed Software
  and runs a monthly Mac programmer get-together in Northwest
  Illinois.]



$$

 Non-profit, non-commercial publications may reprint articles if
 full credit is given. Others please contact us. We don't guarantee
 accuracy of articles. Caveat lector. Publication, product, and
 company names may be registered trademarks of their companies.

 This file is formatted as setext. For more information send email
 to <setext@tidbits.com>. A file will be returned shortly.

 For information: how to subscribe, where to find back issues,
 and more, email <info@tidbits.com>. TidBITS ISSN 1090-7017.
 Send comments and editorial submissions to: <editors@tidbits.com>
 Back issues available at: <http://www.tidbits.com/tb-issues/>
 And: <ftp://ftp.tidbits.com/issues/>
 Full text searching available at: <http://www.tidbits.com/search/>
 -------------------------------------------------------------------


