TidBITS: Apple News for the Rest of Us  TidBITS-J#580/14-May-01

今週、我々はテクノロジー界の状況における 2 つの欠かせない存在につ いて検討する。それはモデムとデータベースだ。Kevin Savetz 氏が V.92 の調査を起稿してくれた。広帯域接続を得られない人にとっては次なる標 準モデムだ。そして Jonathan Rentzsch 氏は、リレーショナル・データ ベースとは実際どういうものなのかということの説明から Mac OS X のリ レーショナル・データベースの調査を始めた。ニュースは、Apple 社の Mac OS X 10.0.3 のリリース、Casady & Greene 社の SoundJam の中止、 Macromedia 社の FreeHand 10 の出荷、そして作家 Douglas Adams の死 去について触れる。

目次:

Copyright 2001 TidBITS Electronic Publishing. All rights reserved.
問い合わせは <info@tidbits.com> へ、感想は <editors@tidbits.com> へ。

TidBITS 日本語版は TidBITS 日本語版翻訳チーム メン バーのボランティアによって翻訳・発行されています。TidBITS 日本語版 では翻訳に協力してくれる方を募集しています。詳しくは以下の URL を 参照してください。

<http://jp.tidbits.com/join_us.html>


今回の TidBITS のスポンサーは:


MailBITS/14-May-01

(翻訳:山下 英治 <vatcanza@fhe.freeserve.ne.jp>)

さようなら、すべての笑いにありがとう -- パニックにならないで下さ い!有名なイギリスのユーモア作家で Macintosh 支持者の Douglas Adams 氏は、先週の金曜日、彼の California の自宅近くのジムで突然の 心臓発作により死去した。49 歳であった。彼には多くの性癖があったが (彼は納屋を建てたり、ボディガードとして働いたり、ロックバンド、 Pink Floyd とギターで共演したりしたことがあった)、Adams 氏は最高 傑作、「銀河ヒッチハイクガイド」シリーズを書いた。この作品は、BBC ラジオのシリーズ番組としてスタートし、また漫画小説、レコードアルバ ム、演劇、コンピュータゲーム、そしてテレビのシリーズなども生み出し た。最近では、Adams 氏は「銀河ヒッチハイクガイド」を Disney の長篇 映画用の翻案に取り組んでいた。Adams 氏は予言的な SF 作品を書こうと したのではなく、彼の作品はインターネット文化と大衆文化の驚くべき専 門用語集(たとえば有名な AltaVista 社の BabelFish 翻訳サービスのよ うな)を生み、Web ができるよりずっと以前に彼が心に描いた架空のガイ ドは、銀河系全体に及ぶオンライン共同制作システムと表現できるかも知 れない。友人やファンからの手向けが Adams 氏のサイトに集まっている。 [GD]

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

SoundJam 2001 年 6 月 1 日に姿を消す -- SoundJam のプログラマた ちが Apple に転籍して以来、Casady & Greene 社の SoundJam MP の将来 が疑問視されている。Apple 社ではプログラマたちが SoundJam のコード を基に無料の iTunes を作成した(レヴューは TidBITS-535 「ノリノリ SoundJam」を参照のこと)。現在 Casady & Greene 社はデベロッパの要 請によって、2001 年 6 月 1 日より SoundJam の公開を中止すると発表 した。にもかかわらず、Casady & Greene 社は称賛に値することだが、 SoundJam の所有者へのテクニカルサポートの提供は続けるという。他の Casady & Greene 社製品には今後の影響はない。

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

FreeHand 10 が Mac OS X に溶け込み、特色が加わる -- Macromedia 社は現在 FreeHand 10 を出荷している。 Flash 5 とベクターグラフィッ クのプログラムを統合するよう改良し、Mac OS X の環境で動作するよう になった。独特の新たな特色は、マスターページ、Macromedia 製品標準 のペンツール(FreeHand や Flash、Fireworks でも同様に機能する万能 ドローツール)、そして他の Macromedia 製品と共通のユーザーインタ フェースの導入である。FreeHand 10 のフルバージョンは、オンライン ダウンロードでは 400 ドル、以前のバージョンからのアップデートは 130 ドルで現在入手可能だ。パッケージ製品は 5 月末に出荷予定である。 Macromedia 社は、Mac OS X の環境でのオンラインの購入とダウンロード をサポートするシステムを、まだ更新しているところなので、会社側は Mac OS X ユーザには、パッケージ製品を購入するよう薦めている。[JLC]

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


TenBITS/14-May-01

by TidBITS Staff <editors@tidbits.com>
(翻訳:蒲生 竜哉 <gamo@lib.bekkoame.ne.jp>)
(  :尾高 里華子 <rikako@pobox.com>)

Mac OS X 10.0.3 がリリースされる -- Mac OS X 10.0.2 をリリースし たほんの数日後(詳しくは TidBITS-579 の「TenBITS/07-May-01」を参 照されたい)、Apple は10.0.3 へのアップデートを公開した。Apple に よれば Mac OS X 10.0.3 アップデートによって、通常考えられない数の アイテムを含むフォルダの内容の一部が表示されないという Finder の障 害が修正される。Mac OS X 10.0.3 を 10.0.1 が動作している Mac にイ ンストールした場合、CD 書き込み機能や安定性の強化、新しい FTP サー バなどの 10.0.2 で行われた修正が併せて提供される。このアップデート はシステム環境設定の中のソフトウェア・アップデートコントロールパネ ルを利用することでダウンロードする事ができる(アップデートの自動確 認機能が多くの人たちの環境で動かないことが報告されている。もしあな たの環境でもこれが動かない場合にはソフトウェア・アップデートの「今 すぐアップデート」ボタンをクリックすることでアップデートをダウンロー ドすることが可能だ)。もし Firewall やほかの環境が原因でソフトウェ ア・アップデートが使えない場合には 14.9 MB のアップデータディスク イメージをダウンロードして手動でインストールすることもできる。手動 でアップデートする場合はシステムが 10.0.1 かそれ以上になっている必 要がある。そうでない場合には先に 10.0.1 アップデートをインストール しなければならない(以下の最後の URL からダウンロード可能)。[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>

Mac OS X 版 Kensington MouseWorks 1.0 -- Kensington 社は Kensington マウスやトラックボールを Mac OS X 下でサポートする同社 の Mouse Works ソフトウェアのフルバージョンを初めて公開した。2 ボ タンのマウスやスクロールホイール付きのマウスは Mac OS X によってす でにサポートされているが、Mac OS X 版 Mouse Works 1.0 を利用するこ とによって Kensington 社のデバイスのユーザはさらに各ボタンの機能を カスタマイズすることができるようになる。ところでこの版ではいくつか の制限事項がある。1 ボタンのマウスおよび Turbo Mouse 1.0 から 4.0 までの製品(昔のボタンが二つしかないタイプ)はサポートされないほか、 Mac OS 9 版の Mouse Works ソフトウェアで提供されていた二つのボタン を同時に押す動作、アプリケーション別動作設定および休憩時間の通知機 能は提供されない。それでも、マウスの右クリックをダブルクリックとし て使う者の一人としてこうした基本的な機能が提供されるようになった事 は喜ばしい。Mac OS X 版 Kensington MouseWorks 1.0 のサイズは3.3 MB、 無料でダウンロード可能だ。[JLC]

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

UpdateAgent X Preview -- Mac OS X 対応のアプリケーションの数は増 加の一途をたどっている。メジャーなアプリケーションであればたいてい のところが記事にしてくれるが、マイナーだが欠かせないユーティリティ についてはどうすればよいだろうか。そのためにあるのが、Insider Software 社から出ている UpdateAgent X のプレビューバージョンである。 これはハードディスクをスキャンして、手持ちのプログラムのアップデー トが出ていれば自動的にダウンロードしてくれる。今回のリリースはまだ 少々粗削りなところ(一番目に留まるのは、デフォルトボタンがカラー効 果を利用した Mac OS X 風の点滅するものになっておらず、代わりにボタ ンのまわりに Classic っぽい黒の枠線が入ることだ)があるが、 UpdateAgent X のすべき仕事はちゃんとやってくれる。無償のデモ版(ダウ ンロード容量:2.5 MB)は、Apple から Mac OS アップデートしかダウン ロードできない仕様になっており、データーベースに入っている 5,000 個のプログラムについては、リストは作成してくれるがダウンロードして くれない。フルバージョンは年間使用料 50 ドルとなっている。今のとこ ろ、UpdateAgent は Classic アプリケーションと Carbon アプリケーショ ンしかアップデートしてくれないが、Cocoa プログラムのアップデートを サポートしたバージョンが出たときには、無償でアップデートできること になっている。[JLC]

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

Mac OS X の掃除係 -- Unix はいろいろな方法によって高い信頼性を得 ているのだが、その一つが cron と呼ばれるスケジューリングツールで、 通常の OS 使用で出てしまうごみのようなものを片づけるスクリプトを走 らせてくれる。この点に関しては、Mac OS X も他の Unix と変わりなく、 ログファイルのリセット、内部データベースバックアップ、その他の必要 なタスクを毎日、毎週、毎月、おおむね早朝の 3 時〜 5 時に行うスクリ プトが付属している。しかし、ほかの Unix システムと違い、Mac OS X は、マシンを使わないときはシステムを終了するかスリープするという使 い方がほとんどで、ほかの Unix マシンのように常に動くような使い方は されない。パワフルかつフレキシブルである cron といえども、この点で 大問題をひとつ抱えることとなる。作業が予定されている時間に Mac が 起動していなかったりスリープしていた場合、その作業を後から実行して くれたりはしないのだ。Brian Hill 氏はこの点を解決すべく、Mac OS X の毎日、毎週、毎月の保守スクリプトを手動で走らせることができる無償 のユーティリティ MacJanitor を作成した。MacJanitor を起動させるの を忘れてはだめだが、こまめにスクリプトを走らせれば走らせるほど、掃 除していることになっている時間帯に常に Mac をスリープさせたり、オ フにしておいても問題なくなる。[ACE]

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

Mac OS X で Setext を見る -- 1992 年以来、TidBITS のメール版で採 用している setext(「シーテクスト」と発音、structure-enhanced text) 形式は、1991 年に Ian Feldman 氏が開発したもので、私も開発に協力し た。setext は、マークアップ言語であるが目につくようなものではない ため、目にしていてもまったく気がつかないという人がほとんどだろう。しか し、setext で印された、節などやスタイルを処理するようなプログラム を作成することができる。たとえば、setext 書類の構造を自動的に検出 してくれるものに、テキストエディタの BBEdit や Alpha がある。 setext 書類を見るための正統なプログラムは、Akif Eyler 氏作の Easy View 2.6.2 だが、氏は数年前に今後サポートしないと宣言し、ソースコー ドを公開した。(少なくとも、Mac OS 9.1 下では)まだ動作するが、い ずれ終焉の時が来るのは間違いない。近ごろ setext への関心が再興し、 Sascha Bigalke 氏が Mac OS 9 および Mac OS X の Classic モードで動 作する SmartView 2.0 を、Samizdat Software 社が Mac OS X でのみ動 作する SetextView 0.3 をリリースした。どちらも開発途中のプログラム であり、Easy View が行っていた複数ファイルのブラウズといった類いの サポートはまだ初歩的な段階だったりもするが、setext に関心がある方 には一見の価値があるだろう。[ACE]

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


V.92 モデムでダイヤルアップアクセスは速くなるか?

by Kevin Savetz <savetz@northcoast.com>
(翻訳:吉田 節 <benjamin.takashi@nifty.ne.jp>)

明らかに忘れやすい V.92 という名前の新型モデムが、コンピュータスト アに並んでいる。このモデムは便利な機能を追加する上に、アナログ電話 回線から最後の 1 オンスまで搾り出すことを約束している。しかし今は まだ、あわててアップグレードしないように。インターネットサービスプ ロバイダがこの新しい標準を実際にサポートするのは、まだちょっと先の ことである。

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

実際にサポートされたら、V.92 が持つ次の 4 つの機能がほめちぎられる ことだろう。

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

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

(ついでながら、謎めいた V. 何々という命名規則はスイスの International Telecommunications Union で始められた。これは通信ネッ トワークとサービスの調整を行う組織である。「V.」で始まる名前を持つ プロトコルは電話回線ネットワーク上のデータ通信の標準を定めるもので、 V.1 から V.300 まである。)

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

パイプの詰まった側 -- 何社かのモデムメーカーが V.92 モデムのシリ アルおよび USB モデルを発表しており、どれもが Mac で使える。しかし コンピュータのユーザーは、インターネットサービスプロバイダが機材を アップグレードして新しいプロトコルが使えるようになるまでは、どの機 能も利用できない。それにはおそらく数ヵ月を要するだろう。

私は、最大規模の ISP が V.92 のトライアルを提供し始めるのは 2001 年半ば、そして V.92 が公式にサポートされるのは年末か2002年初めだと 予想している。小規模なサービスプロバイダは V.92 アクセスをすぐに提 供するかもしれない。

最大のオンラインプロバイダである America Online 社は V.92 のサポー トを表明していない。「このバージョンの消費者向けモデムは市場に出回 り始めたに過ぎません」とスポークスマンの Nicholas Graham 氏は言っ た。「V.90 モデムについて行ったのと同じく、私たちは適切な時期に V.92 モデムを徹底的にテストおよびデバッグする予定です。」

2 番目、3 番目に大きなダイヤルアッププロバイダである EarthLink と MSN の代理人も同様な声明を出した。「システムへ組み込むのに充分な安 定性と信頼性があると私たちが感じたら、すぐに V.92 のテストを始める 予定です」と EarthLink のスポークスマンである Kurt Rahn 氏は言った。 「しかし現時点では、すぐにサポートする計画はありません。」

現在動いている 56 Kbps モデムを V.92 モデルへ置き換えるのは早計だ ろう。しかし新しいモデムを買う予定があるなら、V.92 対応モデルを買 うのは道理にかなっている。それは現行の V.90 標準で動くだろうし、イ ンターネットプロバイダが V.92 に対応した時にはあなたは適切なハード ウェアを持っていることになる。さらに、V.92 モデムを買わないという 経済的な理由はない。値段は V.90 ユニットとほぼ同じだからだ。CNET Shopper の価格比較サービスの調査によれば、実売価格はおよそ 65 〜 150 ドルである。

新機能を利用するために新しいモデムを買う必要はないかもしれない。一 部のモデムメーカーは無料の「フラッシュアップグレード」ソフトウェア のリリースを計画している。これは、最近の特定機種のモデムについて内 部ソフトウェア(またはファームウェア)を V.92 対応にアップデートす るものである。しかし大部分の古いモデムは、強化された圧縮機能やキャッ チホン機能を処理するのにハードウェア性能が不足するので、アップグレー ドできない。モデムメーカーの Web サイトで、あなたのモデムにアップ グレードが提供されるかどうか確認することをお勧めする。

私は Apple 社に、新型 Mac に V.92 モデムを搭載するかどうか、それと 現行の Macintosh 内蔵 V.90 モデムにファームウェアアップグレードを 提供するかどうかを尋ねたが、返事はなかった。

消費者用モデムと「ヘッドエンド」機器(インターネットサービスプロバ イダが使う通信ハードウェア)のメーカーは、V.92 ソフトウェアの微調 整を行っている途中である。V.92 の新機能の多くはまだ完成途上なのだ。 従って新しい V.92 モデムを今買ったなら、数ヵ月以内にハードウェアを フラッシュアップグレードする心構えをしておこう。そうすれば最新かつ (理論上は)最良のファームウェアを使えることになる。こうしたフラッ シュアップデータが Mac にも提供されるかどうかはまだわからない。も しモデムメーカーが PC 版のアップデータだけをリリースしたら、アップ データを実行するために Virtual PC のような製品を利用するか、モデム を友達の PC に接続して V.92 サポートを組み込む必要があるかもしれな い。

「私たちは、56K モデムを持っていないか手持ちのモデムが壊れている人 たちには V.92 プラットフォームに投資する意味がきっとあると考えてい ます。しかし間違いなく次のようになると予想しています。サービスが本 当に登場した時には、その人たちは V.92 モデムをフラッシュアップグレー ドしたいと思うでしょう」と Larry Hancock 氏は言った。彼は Zoom Telephonics 社のマーケティングディレクタであり、同社は現在 Hayes 社と Global Village 社を傘下に収める有名なモデムメーカーである。

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

高速インターネットアクセスへの増え続ける要求と、ケーブルモデムや DSL などのブロードバンドサービスのコスト低下のため、アナログモデム は黄昏の時代に入っているのかもしれない。V.92 は最後の優れたモデム 標準なのかもしれない。しかし今は、比較的遅い速度や退屈だという評判 にもかかわらず、モデム接続の生きる場所がまだある。何といってもモデ ムアクセスは安価で、セットアップが簡単で、それにブロードバンドアク セスが利用できないところでも使えるのだ。

[Kevin Savetz 氏はインターネットと Macintosh が専門のフリーのコン ピュータジャーナリストである。]

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


リレーショナル・データベースと Mac OS X(第一部)

by Jonathan "Wolf" Rentzsch <tidbits@redshed.net>
(翻訳:尾高 修一 <shu@pobox.com>)
(  :斎藤 美礼 <mirei@x.age.ne.jp>)
(  :三好 泰子 <yokomo@mio.to>)

好むと好まざるとにかかわらず、Mac OS X の中には Unix がある。ユー ザーの立場からすると、Mac を使うという体験が、融通の利かないテキス トベースの環境設定ファイルを書き換えたり、わかりにくくてミスを許さ ないコマンドを入力するといった事態まで悪化してしまうことが心配だ。 だがプログラマーの立場からすると、これほど嬉しいことはない。という のも、一群のプロ仕様のソフトウェアに、おかげて初めて Mac ユーザー が手を伸ばすことができるからだ。こういったソフトウェアは、Fortune 500 企業を支え、非常に複雑な化学反応を計算し、私たちが映画館で観る 映画を生み出しているのだ。私個人は映画も作らなければ科学者でもない ので、関心があるのはビジネス系のソフトウェアということになる。中で も気になるのはリレーショナル・データベースだ。

従来の Mac OS では、FileMaker Pro と 4D がデータベースの世界を制覇 していた。私のお気に入りは新参の Valentina だが、Helix RADE や Frontier にも熱心な支持層がある。[Helix と Frontier については、 Matt Neuburg の記事を参考にしていただきたい。 - Adam] 残念ながら、 このいずれのデータベースも「プロ仕様」とはいえない。ここで誤解しな いでいただきたいのは、どれも立派に機能する一方、SQL と ACID という 多くのプロがどうしても欲しいと思う性質を備えていないのだ。SQL と ACID に深入りする前に、まずはリレーショナル・データベースとはどう いうものなのかについて触れよう。次回は、Mac OS X の到来とともに Mac ユーザーの手が届くようになったリレーショナル・データベースを検 討する。

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

リレーショナル・データベースたち -- データベースの種類は色々(フ リーフォーム、階層型、ネットワーク型とオブジェクト型のリレーショナ ルなど)あるが、ビジネス向けにはリレーショナル型が一番だ。

1970 年代初めに数学者である E. F. Codd 博士によって開発されたリレー ショナル・データベースのモデルは、実はシンプルなものだ(多くの本で は数学用語を多用して読者を煙に巻こうとしているが)。例として顧客の リストを表計算ソフトで管理しているとしよう。

> 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

情報は 3 つのカラムから構成されており、それぞれに何らかの種類の情 報が入れられている。顧客は 4 人おり、それぞれに一行が割り当てられ ている。

リレーショナル型ではこのようにしてデータを格納するものを「テーブル」 と呼んでいる。表計算ソフトの概念と似ているが、違う点もある。各カラ ムには一種類のデータしか入れることができない。たとえば、 「CUSTOMER_ID」カラムには数字しか入れることができず、テキストを入 れることはできない。また、表計算とは異なり、セルに計算式を入れるこ とはできない(どのセルも独立しており、他のセルを参照することができ ない)。

データベースをカードを積み上げたようなもの(FileMaker のように)と 考えることに慣れている方には、役に立つヒントをお教えしよう。テーブ ルとはカードの束のようなもので、行は一枚のカード(レコード)に相当 し、カラムはカード上の一つのフィールドに相当する。

では、上記の顧客との取引記録をつけたいとしよう。テーブルをもう一つ 作成する。

> 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"

顧客が何かを購入するたびにこのテーブルに行を追加していくことができ る。どの取引にも「CUSTOMER_ID」カラムがあり、これによって取引と顧 客を結びつけることができるのだ。たとえば、このテーブルから取引 #1 は顧客 #1 のものだということがわかる。

この関係がどのように役に立つかを見ていこう。PURCHASE_ID があれば、 顧客のメールアドレスを見つけることは簡単だ。4 件目の取引では、 CUSTOMER_ID フィールドは 3 となっている。顧客リストから ID が 3 と なっている顧客は Michael Spindler であり、メールアドレスは <mspindler654@yahoo.com> だということがわかる。

リレーションは逆方向にも利用することができる。CUSTOMER_ID があれば、 取引記録を作成することが可能だ。 CUSTOMER_ID が 1 の Steve Jobs を 例に取ろう。取引リストを見ていくと、CUSTOMER_ID フィールドが同じ記 録が 3 つ(1、3、5)ある。

テーブルをセットアップする際に正しい設計の仕方をすれば、データベー スには重複したデータはほとんどないかまったくなく、有効なデータしか受け つけなくなるはずだ。また、データベースが一つのプログラムに制約され るということがなくなる。今使っているデータベースプログラムを卒業し たら、さほど手間をかけずに別のプログラムへと移行することが可能だ。

最後に、リレーショナル・データベースは非常にスケーラブルでもある。 最初に 400 ドルの PC と Linux から始めたデータベースを、40 万ドル の大型 IBM 機に移すことができる。違いはスピードと信頼性だけだ。な ぜ企業がリレーショナル・データベースを好むかがお判りいただけるだろ う。

これでリレーショナル・データベースの基礎は頭に入れていただけたので、 続いて先程触れた SQL と ACID の謎を解くことにしよう。

SQL -- SQL は Structured Query Language(構造化照会言語)をあら わし、正しく発音するには文字を(「エス キュー エル」と)一字一字読 めばよい。なかには「シークエル」と発音する人もいるが、これは正しく ない。SQL の先駆者で SEQUEL という名前の言語が存在するのだ。SQL を 「シークエル」と発音するマイノリティもいるが、正しく理解されること はない。おそらく SCSI が決して「セクシー」と発音されなかったのと同 じ理由でだ。会議室でばかばかしく聞こえたのだ。(「セクシードライブ をシークエルサーバに取り付けなければならない。」こんなことを上司に 言うことになるのだ。)

SQL はリレーショナルデータベースと通信するために使用される標準言語 だ。実際きちんとした言語であるため、ユーザー、デベロッパー、ソフト ウェアのプログラムが SQL を使って、情報を含んだテーブルや行の作成、 変更、削除を行うことができる。標準言語を使うことによって、リレーショ ナルデータベースが多様なインターフェースやアクセス方法へと開かれる ことになる。ほかのタイプのデータベースでは、それぞれ一から書かなけ ればならないだろう。これが伝統的な Macintosh のデータベースの限界 のひとつを説明している。

HTML のように、SQL は宣言形言語だ。変数やループは含まず、プログラ マーでないユーザーでも簡単に学ぶことができる。宣言型言語でない言語 を使うと、タスクを完了するために必要なステップをすべて詳細に記述し なければならない。一方、宣言型言語では、ただ単に最終的に必要な結果 を記述することができる。SQL は古い言語で、大文字小文字を区別しない が、慣習的にほぼすべて大文字で記述する。ここに上で検討した顧客テー ブルを作成するための有効な文がある。

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

このコマンドは 3 つのカラムを持った CUSTOMER という名のテーブルを 作成する。カラムは CUSTOMER_ID、NAME 、EMAIL だ。CUSTOMER_ID カラ ムは数字を保持し、また NAME と EMAIL のカラムはそれぞれ 100 文字、 200 文字保持するよう定義されている。

情報をテーブルに入力するには INSERT という動詞を使えば簡単だ。

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

スペースの都合で行やテーブルの変更や削除のための文法を詳しく説明で きないが、テーブルや行の作成や挿入と同じくらい簡単だ。重要な SQL の動詞は SELECT で、データベースの情報へのアクセスやフィルタが可能 である。たとえば、顧客のメールアドレスをこのように調べることができ る。

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

返される結果はこうだ。

>  EMAIL
>  ameliorator321@hotmail.com

結果はテーブルの形をとっている。たしかに、この場合ではカラムが 1 つしかないテーブルだが、それでもテーブルにかわりはない。

最後の例では、名前を与えられたときに、後にあるような問い合わせによっ て顧客の購入がすべて表示される。もしわからなくてもかまわない。ただ SQL をつかって何ができるのかを少し見せびらかしたかっただけだ。

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

結果はこうだ。

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

ACID テスト -- ACID は、「原子性:Atomicity、一貫性:Consistency、 独立性:Isolation、そして、耐久性:Durability」の略である。これら の特性を持っているかいないかで、まがい物(FileMaker Pro、4D)と本 物(Oracle、PostgreSQL)を切り分けることができる。もしも、あなたの ビジネスがあなた自身が持っている情報の質に依存しているならば、ACID は、あなたが今晩眠れるように情報の質を保証してくれる特性の集まりな のである。

Atomicity (「アトミシティ」と発音する)は、原子(atom)という語に 由来している。その語源は、「これ以上分割できないもの」という意味で ある。データベースの世界では、複数の操作がすべて 1 つの分割できな いトランザクションに束ねられている。トランザクションの操作すべてが 起こるか、または、すべてが起こらないかのどちらかなのである。 原子 性(Atomicity)は、データベースが常に正しい状態にあるかどうかを保 証するのに役立つものである。 一貫性(Consistency)は、そのデータベース全体の妥当性の制限に合致 した操作のみが使用されなければならないという原則である。この一貫性 の最終目的は、外的(ユーザーが誤ったデータを入力する可能性)にも内 的(ディスクの満杯状態や必要な行が追加できないといった可能性)にも、 誤った操作をさせないことだ。

秩序のない Web の世界では、データベースは、同時発生する複数の修正 の処理をおこなわなければならない。しかし、ボブが「読む」というトラ ンザクションを行っているテーブルに対し、アリスがそのテーブルを修正 するというトランザクションを行っていたら何が起こるだろうか?独立性 (Isolation)とは、ボブが行っているトランザクションでは、そのテー ブルをアリスがトランザクションを始める前の状態か、または完了した後 の状態とみなすということを保証ものである。決して、中途の状態という ものはない。

最後に、耐久性(Durability)であるが、これは、いったんトランザクショ ンが完了したら、単なるシステムクラッシュなら起きてもよいという原則 である。実際には、すべての情報がディスクに書き込まれてから、トラン ザクションは完了したとみなされるという意味である。

さて、次回は? -- この連載記事の次回では、MySQL、FrontBase、そし て、Oracle の Mac 領域への参入に関する見解といった Mac OS X 上で稼 働可能な数多くのデータベースアプリケーションの利点について報告する 予定である。

[Jonathan "Wolf" Rentzsch 氏は、Red Shed Software を世に送り出し、 イリノイ州北西部で月刊Mac programmer get-together を刊行している]


非営利、非商用の出版物およびウェブサイトは、フルクレジットを明記すれば記事を転載またはウェブページにリンクすることが できます。それ以外の場合はお問い合わせ下さい。記事が正確であることの保証はありませ ん。書名、製品名および会社名は、それぞれ該当する権利者の登録商標または権利です。TidBITS ISSN 1090-7017

tb_badge_trans-jp2Valid HTML 4.01!Another HTML-lint gateway