Comments
Description
Transcript
Introduction to External SQL Sources_jp
Introduction to External SQL Sources 外部 SQL ソース入門 目次 本書について 3 ESS の概要 3 ESS の設計目的: 意図すること 4 ESS の設計目的: 意図しないこと 4 サポートされるデータソース 5 ESS の使用方法 5 Step 1: データベースへのアクセスとクレデンシャルを確立する .......................................... 6 Step 2: ホストマシンで DSN を定義する ................................................................................... 6 Step 3: FileMaker Pro で外部データソースを定義する .......................................................... 6 Step 4: FileMaker Pro のリレーションシップグラフに 1 つ以上のテーブルを追加する . 6 Step 5: シャドウテーブルへのリレーションシップを作成する .............................................. 6 Step 6: 外部テーブルを FileMaker Pro のテーブルと同じように使用する ......................... 7 外部データソースへのアクセスの確立 7 DSN の定義 8 Mac OS X での DSN の定義 ........................................................................................................... 8 Windows での DSN の定義........................................................................................................... 12 FileMaker Pro での外部データソースの定義 14 リレーションシップグラフへのテーブルの追加 17 新規テーブルのフィールド構造の管理 19 新規テーブルの操作 19 ESS のテーブルと FileMaker Pro のネイティブテーブル 22 サポートされるデータタイプ......................................................................................................... 22 競合の問題:このデータは最新か?............................................................................................... 23 索引..................................................................................................................................................... 23 スキーマの変更................................................................................................................................. 24 ESS vs. FileMaker Pro のその他の SQL 接続方法 24 ESS のベストプラクティス 26 SQL について基本的な知識を身につける.................................................................................... 26 ビューについて知る......................................................................................................................... 27 索引に注意する................................................................................................................................. 27 注意深く検索する............................................................................................................................. 27 注意深くソートする......................................................................................................................... 27 付録:その他の資料 28 用語..................................................................................................................................................... 28 FileMaker TechNet テクニカルブリーフ .................................................................................. 28 サポートされる ESS データソース............................................................................................... 28 サポートされる ODBC ドライバ .................................................................................................. 29 書籍..................................................................................................................................................... 29 29 著者について 外部 SQL ソース入門 2 ページ 本書について 本書は、FileMaker® Pro のデベロッパのほか、情報システムのプロフェッショナルの方々 に、FileMaker Pro 9 製品ラインから導入され、FileMaker Pro 10 製品ラインにて利用可 能な新機能である外部 SQL データソース(ESS)を、よりよく理解していただくためのも のです。デベロッパおよび情報アーキテクトが ESS 機能セットの主なメリットを評価する 際に役立つとともに、各機能セットの一連の用途および統合の可能性を理解できるような内 容になっています。 本書では ESS の機能とメリットを詳細に説明して、デベロッパおよび意思決定者がシステ ムの目標達成に ESS をどのように役立てられるかの評価を支援します。さらに、FileMaker Technical Network (TechNet) のメンバーであれば、ESS 機能セットをより詳しく探る詳 細な技術情報を必要としているデベロッパ向けの、包括的なテクニカルブリーフ(技術解説 書)にもアクセスすることができます。詳細は本書の付録を参照してください。 【訳注】本書は英語版テクニカルブリーフ「Introduction to External SQL Sources」を直訳したも ので、内容はすべて英語環境での動作に基づいています。日本のユーザの便宜を図るために対訳として 用意したものであり、本文中の「訳注」の内容も含め、日本語環境での動作については一切検証されて いないことをあらかじめご了承ください。英語版テクニカルブリーフは下記の URL から参照できます。 http://www.filemaker.com/downloads/documentation/techbrief_intro_ess.pdf ESS の概要 FileMaker Pro には以前のバージョンからずっと、各種の外部データソースとクライアント とデータを共有できる機能がありました。ODBC ベースのデータソースからレコードをイン ポートできる機能、および[Execute SQL]スクリプトステップを用いて各種 SQL バック エンドで SQL コマンドを実行できる機能は、デベロッパに高い接続レベルと外部 SQL ベー スデータソースとの相互接続性を提供しています。ただし、これらの接続機能には以下のよ うないくつかの限界があります。 • ODBC データソースからのインポートは一方通行の操作で、SQL ベースデータの 「ライブ」なビューを提供しない。 • [Execute SQL]を用いて SQL ソース内でレコードの作成、変更、削除を行うには、 手作りの SQL ステートメントを作成する必要がある。 • どちらの機能でも、各クライアントのデスクトップ上で ODBC ドライバを構成する 必要がある。 FileMaker Pro 10 製品ラインの ESS 機能では、サポートされる SQL ソースからデータテ ーブルを FileMaker Pro スキーマに「取り込む」ことができます。ESS テーブルは、 FileMaker Pro のテーブルと非常によく似た動作をします。ESS は以下のように、 FileMaker Pro での既存の SQL 接続方法の限界を克服しています。 • ESS ビューは非常に動的で、再表示可能。 • デベロッパによる SQL クエリーの直接作成は不要:ESS 機能セットが操作に応じた 適切なコマンドを生成する。 • FileMaker Server とともに使用する場合、ESS に必要なのは、データソースごと に1つの DSN だけで、サーバー上で作成されて保守される。 さらに、ESS では外部 SQL テーブルのスキーマを拡張する補助フィールドを定義すること ができます。補助フィールドは集計フィールドと非保存の計算フィールドによって構成され、 それらは SQL テーブルからのデータに対して動作しますが、FileMaker Pro ソリューショ ン内でローカルに定義されているものです。 本書の以下の項では、ESS 機能セットについて詳細に説明していきます。 外部 SQL ソース入門 3 ページ ESS の設計目的: 意図すること ESS 機能セットを最大限に活用するためには、これらの機能が何のために設計され、どのよ うに利用するのが最適かを理解しておくことが大切です。 ESS は、企業データウェアハウスや SQL ベースの E コマースシステムなど、既存の SQL データソースに FileMaker Pro ソリューションをよりよく統合するための手段として設計さ れました。代表的な利用例のシナリオを以下に示します。 • ある大企業では、Oracle ベースの人事マスターデータベースを使用していますが、 数多くの業務別アプリケーションが FileMaker Pro で開発されています。ESS を使 用することによって、どの FileMaker Pro アプリケーションからも、社員や部署、 部門の全社マスターリストの最新情報に直接アクセスすることができます。(当然 ながら会社の IT 部門の承認が必要になります) • あるコンピュータハードウェア再販業者では、MySQL ベースの E コマース Web サ イトを運営していますが、顧客管理と出荷は FileMaker Pro アプリケーションで処 理しています。ESS を使用することによって、デベロッパは MySQL ベースの注文 と支払い情報を FileMaker Pro ソリューションに「組み込む」ことができます。 FileMaker Pro ソリューション上の顧客レコードでは、MySQL にあるすべての注文 を簡単にポータルとして表示することができ、その際にインポートや同期は一切必 要ありません。 • ある美術館には、Microsoft® SQL Server ベースの所蔵・展示管理システム、 FileMaker Pro ベースの会員・寄贈管理システム、Oracle ベースの発券・販売シス テムがあります。ESS を使用することによって、この美術館では以下のようなこと ができるようになります。 o 発券情報と販売情報を FileMaker Pro ベースの会員データベースに組み込み、 各会員についての来観傾向・販売傾向をより把握できる。 o FileMaker Pro ベースのダッシュボードを作成して、所蔵、展示、会員、販 売の現状がわかる全体管理ビューを利用する。 ESS は、FileMaker Pro ソリューションが既存の SQL ベースのデータシステムとデータを 共有できるようにすることをもっとも意図して設計されています。 ESS の設計目的: 意図しないこと ESS は、「統合」に重点を置いています。ESS 機能セットは、FileMaker Pro を SQL デー タソースの「フロントエンド」として利用できるようにすることを意図したものではありま せん。特に、以下の点にご留意ください。 • ESS では、FileMaker Pro のデベロッパが独自の SQL クエリーを作成してサーバ ーに送ることはできません。ESS は操作に応じた SQL クエリーを自動的に作成しま す。(ただし、SQL データソース内でビューを定義することによって、ESS でその ような機能の一部は可能となります。それに比べて FileMaker Pro の[Execute SQL]スクリプトステップでは、デベロッパはカスタマイズした SQL クエリーを作 成して送信することができます) • ESS では、FileMaker Pro のデベロッパがサーバー側で SQL データソースのスキ ーマを変更または拡張することはできません。(ただし、FileMaker Pro 内で ESS テーブルに補助フィールドを追加できる機能によって、ローカルな拡張は可能で す) • ESS は、FileMaker Pro ソリューションを、FileMaker Pro のみをベースにしたソ リューションの限界を超えてスケールアップできる手段として設計されたものでは ありません。ESS 機能セットは、SQL バックエンドの高スケーラビリティ機能を特 外部 SQL ソース入門 4 ページ に活用するためというよりはむしろ、SQL ベースのテーブルを FileMaker Pro ソリ ューションにシームレスに統合することに重点を置いて設計されたものです。 各自の FileMaker Pro ソリューションでの ESS の使用方法を計画する際には、これらの設 計意図を常に念頭に置いておくことが大切です。 サポートされるデータソース FileMaker Pro 10 でサポートされると認定された最新の SQL データソースは以下の通り。 • Oracle 9i • Oracle 10g • Oracle 11g* • MS SQL Server 2000 • MS SQL Server 2005 • MS SQL Server 2008* • MySQL 5.0 Community Edition • MySQL 5.1 Community Edition* * FileMaker Pro 10 で新規追加 ESS 機能セットは ODBC に基づいているため、FileMaker, Inc.は製品ラインの今後のリリ ースで、さらに多くの ODBC 対応データソースのサポートを加えることがあります。 サポートされるデータソースは、サポートされる ODBC ドライバと共に動作します。サポー トされる ODBC ドライバについては、本書の付録を参照してください。 サポートされるドライバおよびデータソースに関する詳細は、下記の FileMaker の Web サ イトにあります。 http://www.filemaker.co.jp/support/technologies/sql.html ESS の使用方法 この項では、ESS の使用事例を用いて使用法を説明します。続く項で、各ステップについて さらに詳しい手順を説明しています。 タラ・マヤリさんは、大企業で FileMaker Pro ベースのソリューションを保守している FileMaker Pro 開発者です。タラさんが保守管理をしている FileMaker Pro ソリューション は、全社の人事データベースにアクセスする必要があります。現在は、会社の IT 部門が毎 日タラさんに書き出したファイルを送信し、タラさんがそれを自分の部署の FileMaker Pro ソリューション内の適切なテーブルにインポートしています。会社の IT 部門から受け取る 10 個のデータフィールドに加えて、タラさんの FileMaker Pro ファイルは、社員 1 名につ いて 15 個ものデータフィールド(タラさんの部署に固有のデータです)も追跡しています。 タラさんは ESS を活用して、Oracle データベースの人事マスターと、もっと直接的な統合 を図ることにしました。 外部 SQL ソース入門 5 ページ Step 1: データベースへのアクセスとクレデンシャルを確立する Oracle DBA(データベースアドミニストレータ)は、タラさんに基本テーブルへの直接ア クセスを許可することはできませんが、タラさんが処理する必要のある 10 個の Oracle デ ータベースフィールドへの読み取り専用アクセスを許可するデータベースビューを定義しよ うと考えています。DBA はタラさん用の新規ビューを作成し、そのビューへの読み取り専用 アクセスを許可するユーザ名とパスワードを与えます。 Step 2: ホストマシンで DSN を定義する DBA はタラさんが必要とするすべてを与えました。次に、新規データベースビューを自分の アプリケーションに統合するのは、タラさんの仕事です。タラさんのアプリケーションは FileMaker Server 10 上で稼働しています。タラさんは FileMaker Server マシン上に DSN(データソース名)をひとつだけ定義します。(これは大きな改善です。これまで ODBC を利用するには、個々のユーザのデスクトップ上に DSN を構成しなければなりませ んでした)DSN はタラさんのアプリケーションから Oracle データソースへの接続を許可し ます。 Step 3: FileMaker Pro で外部データソースを定義する サーバー上にタラさんの DSN が定義されています。タラさんは FileMaker Pro Advanced を起動して、自分のソリューションにアクセスします。(ESS で作業するためには FileMaker Pro Advanced を使う必要はありませんが、タラさんは開発者として、拡張デベ ロッパ機能セットを使いたいと考えています)[File]>[Manage]>[External Data Sources...]と進みます。新しい外部データソースを作成して、それが ODBC ベースにな るよう選択します。外部データソースの定義では、定義したばかりの DSN を使うように指 定し、データソース定義内に Oracle のユーザ名とパスワード保存します。(ユーザ名とパ スワードは FileMaker Pro ファイル内で暗号化されているので、これは安全な選択であり、 個々の FileMaker Pro ユーザは Oracle クレデンシャルを記憶して入力する必要がありませ ん)これで外部データソースの構成は完了です。 Step 4: FileMaker Pro のリレーションシップグラフに 1 つ以上のテーブルを追 加する 次にタラさんは、自分の FileMaker Pro ソリューション内のリレーションシップグラフに進 みます。新規テーブルオカレンスを追加し、外部ソースからのテーブル追加を選択します。 自分の Oracle ベース外部データソースを選択して、使用可能なテーブルのリストを表示し ます。そして Oracle DBA が自分用に定義してくれたビューを選択します。(タラさんは自 分のクレデンシャルでは他のテーブルにはアクセスできないことを知っています) そのビューをリレーションシップグラフに取り込むよう選択すると、以下のようなことが起 こります。 • 新しいテーブルオカレンスが作成される。 • そのテーブルオカレンスに基づいて、新しいレイアウトが作成される。 • ソリューションのテーブルリストに新しいシャドウテーブルが追加され、その Oracle テーブルが FileMaker Pro のテーブルリストに表示される。 Step 5: シャドウテーブルへのリレーションシップを作成する 次にタラさんは、リレーションシップグラフに進みます。社員 1 名について、追跡したいデ ータフィールドが他に 15 個あります。これらのファイルをシャドウテーブルに直接追加す ることはできませんが、それらを現在使用している人事テーブルにそのまま保存しておき、 外部 SQL ソース入門 6 ページ そのテーブルから新規 SQL ベーステーブルへのリレーションシップを作成することができ ます。 これで、SQL ベースのデータとタラさんが保守する追加データの両方を同じビューに表示で きるようになります。 Step 6: 外部テーブルを FileMaker Pro のテーブルと同じように使用する 以上のステップが完了すれば、タラさんはその Oracle ビューがまるで FileMaker Pro テー ブルであるかのようにアクセスし、処理を行うことができます。新規レイアウトに移動すれ ば、Oracle テーブルからのレコードが表示されます。自分の関連する人事テーブルのフィー ルドにデータを追加することもできます。(ただし Oracle フィールドのいずれかを変更し ようとしても、タラさんの権限では変更できません)検索モードに入り、Oracle テーブルに 検索を実行して、Oracle フィールド、自分自身の追加フィールド、またはそれら 2 つの組 み合わせを検索することができます。自分の FileMaker Pro テーブルと Oracle ビューの間 にリレーションシップを作成し、他のテーブルのレコード上に Oracle の関連データを表示 することができます。 さらに、タラさんは毎日のインポート作業を行う必要がなくなります。タラさんのアプリケ ーションは最新の人事データにアクセスでき、自分独自の関連データをマスターデータと並 べて見ることができます。このような統合はタラさんのエンドユーザには透過的で、Oracle DBA が許可できるアクセスの限界内で機能します。 以下の項では、上記のステップをさらに詳しく見ていきます。 外部データソースへのアクセスの確立 外部 SQL ソース内のデータテーブルを処理するためには、適切な権限が必要です。場合に よっては SQL の権限を直接制御できることもあり、その場合は自分自身で適切な権限を設 定することができます。あるいは、別の個人やグループからアクセスを要求しなければなら ないこともあります。アクセスを認められるレベルの決定は、組織のポリシー、あるいは外 部監査や法規制(2002 年のサーベインス・オクスリー法など)のコンプライアンスによっ て影響を受ける場合があります。 外部 SQL データソースへの DSN ベースの接続では、ユーザ名とパスワードを保存しておく ことができます。これによって DBA は個々のユーザごとにクレデンシャルを設定する必要 がなくなるため、とても便利です。DBA は 1 つのデータベースへのすべての FileMaker Pro アクセスについて、単一のクレデンシャルセットを設定できます。一方、以前から DBA がより詳細なユーザレベルのクレデンシャルを作成していた場合は、DSN の定義時にユーザ 名とパスワードを指定しないでおくことができます。単一のユーザ名とパスワードを後から プロセス中で指定して、FileMaker Pro のデータソース参照内に保存することもできます。 (DSN は FileMaker Pro 以外の用途も持つと思われるので、アクセス情報をハードコード するのは適切ではありません)あるいは、クレデンシャルをどこにも保存しない方法を選ぶ こともできます。その場合、ユーザは SQL データソースにアクセスする時点でユーザ名と パスワードを尋ねられます。それぞれの状況に応じて、ある一方のシナリオがより有益であ ったり、あるいは別の方が有益だったりするかもしれません。 自分自身で SQL データベースの権限を設定するか、または DBA と協力してアクセスを構成 するかどうかに関わらず、FileMaker Pro の SQL データベースとの情報のやりとりは必要 最小限に抑えるのが適切です。これがあらゆる大型データストアへのクライアントアクセス についてのベストプラクティスで、必要なデータのみを処理し、問題や損失を起こすエラー 発生の可能性を避けながら必要なアクセスのみを許可する構成にするのが、最適な方法です。 以下に例を示します。 外部 SQL ソース入門 7 ページ • FileMaker Pro ソリューションが 10 個のフィールドのデータのみを必要とする場合 には、これら 10 フィールドのみにアクセスし、残る 30 フィールドにはアクセスし ない方法を見つけること。 • ユーザが SQL データの読み取りのみを必要とし、SQL レコードの更新を必要として いない場合には、SQL テーブルへの書き込みアクセスを禁止するクレデンシャルを 使用させるようにすること。 • ユーザが処理する必要のあるレコードが、数十万にのぼるレコードのうち数千のみ の場合には、必要とするレコードのみを表示できるよう制限する方法を見つけるこ と。 これら 3 つの目標すべてを達成する一般的な方法は、SQL データベース内にデータベースビ ューを定義するものです。ビューは、独自の許可をもった一種の仮想テーブルと考えること ができます。1 つのビューは複数の SQL テーブルのデータを組み合わせて、列(フィール ド)の数と返されるレコード数を制限することができます。アクセスを得るのに DBA と協 力する必要がある場合、DBA は適切なビューを作成することによってアクセスを許可する方 法を好むことが多いのがわかります。 DSN の定義 外部 SQL ソースにアクセスするための次のステップは、ホストマシン上での DSN(データ ソース名)の定義です。マシンは、FileMaker Pro ファイルがローカルでホスティングされ ている場合はローカルコンピュータ、ファイルが FileMaker Server を用いてホスティング されている場合はサーバーマシンです。サーバー上で DSN を定義および管理することがで きれば、FileMaker Pro ODBC の実装を大きく前進させるステップになります。 Mac OS X での DSN の定義 この項では、Mac OS で MySQL 5 用の DSN を作成する方法を説明します。 1. サポートされる適切なドライバをダウンロードし、インストールします。ここでは、 下記の URL からオープンソースデータベース用の ODBC ドライバのバージョン 2.7 以降を選びます。Actual Technologies: http://www.actualtechnologies.com/product_opensourcedatabases.php (MySQL Connector ODBC を使用することもできます*1。サポートされるドライ バの詳細は、本書の付録を参照してください) *1 訳注:Windows の場合 2. Mac OS X の「ODBC Administrator」(/Applications/Utilities フォルダにあり ます*2)を開きます。[System DSN]タブを選択して、[Add]ボタンを押しま *2 す。 訳注:Mac OS X v10.6 Snow Leopard では標準のユーティリティとして提供 されていないため Apple のサイトからダウンロードする必要があります。 外部 SQL ソース入門 8 ページ (FileMaker Pro の ESS は[System DSN]のみをサポートしていることに注意し てください。これは 1 つのマシン上の全ユーザが使用可能です) 3. 「Actual Open Source Databases」ドライバを選択します。 4. 「Create a New Data Source to an Open Source Database」の画面で、 [Continue]ボタンをクリックします。 外部 SQL ソース入門 9 ページ 5. 次の画面で、データベースのタイプに MySQL を選択します。DSN に適切な名前と 説明をつけます。「ODBC Administrator」の[System DSN]タブから手順を開 始した場合は、この画面でどちらの DSN タイプ( System DSN または User DSN )を選択しても、DSN は System DSN として作成されます。 6. 次の画面で、MySQL サーバーのホスト名か IP アドレスを選んでください。ここで は、サーバーは DSN と同じマシン上で動作しているので、localhost を選択します。 あとは MySQL サーバーがデフォルト以外のポートで稼働しているならポート番号 を変えるだけです。 7. 次の画面で、接続したいデータベースの名前を選択します。(必要な SQL データベ ースの正確な名前を知っている必要があります) 外部 SQL ソース入門 10 ページ 8. 必要なオプションの設定をすべて完了すると、作成した DSN を説明する画面が表示 されます。[Done]ボタンを押してください。 (これらの ODBC ドライバの画面は、時とともにドライバが進化するために実際に は少しずつ異なる場合がありますが、まったく同一ではないにしても、ここに示し ている画面とほぼ同じはずです) 外部 SQL ソース入門 11 ページ 9. これで、「ODBC Administrator」画面に新しい DSN が表示されます。変更を保存 するためには、必ず[Apply]ボタンを押してください。これで「ODBC Administrator」を終了し、新しい DSN の使用を開始することができます。 Windows での DSN の定義 Windows での DSN の作成手順も、Mac OS での手順と非常によく似ています。 1. サポートされる適切なドライバをダウンロードし、インストールします。ここでは、 下記の URL から MySQL Connector ODBC のバージョン 3.51.14 以降を選びまし ょう。 http://dev.mysql.com/downloads/connector/odbc/3.51.html#win32(サポ ートされる他のドライバの詳細は、本書の付録を参照してください) 2. Start > Control Panel > Administrative Tools > Data Sources (ODBC)を選択 して、「Windows ODBC administration tool」を開きます。[System DSN]タ ブを選んで、[Add…]ボタンを押します。 外部 SQL ソース入門 12 ページ 3. 「MySQL ODBC 3.51」ドライバを選択します。 4. DSN の名前と説明を入力します。さらに、データベースサーバーのホスト名または IP アドレス、ユーザ名とパスワード、アクセスしたいデータベースの名前も入力す る必要があります。 外部 SQL ソース入門 13 ページ 5. [OK]ボタンをクリックすると、新しい DSN が「System DSN」ウィンドウに表 示され、使用できるようになっています。 FileMaker Pro での外部データソースの定義 「外部データソース」は、現行の FileMaker Pro ファイルの一部ではないすべてのデータソ ースを表す FileMaker Pro 9 と 10 の用語です。そのようなデータソースを FileMaker Pro リレーションシップグラフに「取り込む」ことができ、そこでは外部データソースであるこ とを示すイタリック体の名前で表示されます。FileMaker Pro 7 から 8.5 まででは、外部デ ータソースは他の FileMaker Pro ファイルのテーブルのみで構成することが可能で、 「Define File References(ファイル参照を定義)」ダイアログから管理していました。 FileMaker Pro 9 および 10 では、ODBC ベースの外部データソースも利用することができ ます。現在は、FileMaker Pro ベースのものも ODBC ベースのものも含めたすべての外部 データソースを、「Manage External Data Sources(外部データソースの管理)」ダイア ログから管理します。 新規の FileMaker Pro ファイルを作り、そのファイルの中にアプリケーションを作成する場 合を考えてみましょう。そのアプリケーションは、MySQL データソースの顧客データにア クセスする必要があります。前の項で示された手順に従って、もう顧客データベースへの接 続を許可する DSN の構成は終了しています。次のステップは、以下の通りです。 外部 SQL ソース入門 14 ページ 1. [File] > [Manage] > [External Data Sources…]を選択します。 [New…]ボタンをクリックします。 2. タイプを「ODBC」に指定し、ユーザ名、パスワードを入力します。(あるいは、 ここでは入力せずにブランクのままとして、ユーザに直接認証させることもできま す)次に DSN を選択するために、[Specify…]ボタンを押します。 外部 SQL ソース入門 15 ページ 3. すると、ホストマシン上で使用可能な DSN のリストが表示されます。ファイルがロ ーカルにホスティングされている場合には、そのローカルマシン上で使用可能な DSN のリストが表示されます。ファイルがリモートでホスティングされている場合 には、そのリモートホスト上で定義されている DSN のリストが表示されます。適切 な DSN を選択して、[OK]ボタンを押します。 4. これで、新しい ODBC ベースの外部データソースを使用できる状態になりました。 外部 SQL ソース入門 16 ページ リレーションシップグラフへのテーブルの追加 これで外部データソースが定義されたので、そのデータソースのテーブルを FileMaker Pro のリレーションシップグラフに追加することができます。この手順は、外部 FileMaker Pro ファイルのテーブルを参照する手順ととてもよく似ています。 1. 「Manage Database」ダイアログを開き、「Relationships」タブからリレーショ ンシプグラフに進みます。グラフに新しいテーブルオカレンスを追加します。 FileMaker Pro の前バージョンと同様、現在のファイルからテーブルを参照するか、 (以前にファイル参照でアクセスした)外部ソースからテーブルを参照するか、選 択することができます。ここでは customers_mysql データソースがすでに定義さ れているので、それをグラフ用のデータソースとして使用することができます。 2. customers_mysql データソースを選択すると、そのソース内で定義されている SQL テーブルにアクセスすることができます。この例では、この MySQL データベ ースに入っているのは customer というテーブル 1 つだけなので、これにアクセス できます。 外部 SQL ソース入門 17 ページ 3. リモートの顧客テーブルを選択すると、新しいテーブルオカレンスがグラフに取り 込まれます。FileMaker Pro の前バージョンと同様、イタリック体のテーブルオカ レンス名は、そのテーブルオカレンスが外部データソースをベースにしていること を表します。テーブルオカレンスの中には、その SQL 顧客テーブル内で定義されて いるすべてのフィールド名が表示されます。 外部 SQL ソース入門 18 ページ 新規テーブルのフィールド構造の管理 ODBC ベースのデータソースにあるテーブルを初めて自分のスキーマに追加する時点で、 FileMaker Pro はローカルファイル内にシャドウテーブルを作成します。シャドウテーブル には、リモート SQL テーブル内の全フィールドのフィールド定義が含まれています。これ らのフィールドの定義を変更することはできません。シャドウテーブルからフィールドを削 除することはできます。それによって SQL データベース自体が影響を受けることはありま せん。FileMaker Pro に取り込まれて表示されるフィールドが影響を受けるだけです。シャ ドウテーブルから関心のないフィールドを削除するのは、SQL ソースから取り込む必要のあ るデータ量を制限する効果的な方法となります。削除したシャドウフィールドを復元する必 要がある場合、または FileMaker Pro 内のシャドウテーブルの構造とサーバー上の SQL テ ーブルの構造とを再同期させる必要がある場合は、この画面の上部にある[Sync]ボタンを 押してください。 シャドウテーブルの構造に補助フィールドを追加することもできます。補助フィールドは、 下の画面でわかるとおり、FileMaker Pro でローカルに定義されている非保存の計算フィー ルドや集計フィールドです。この例では、顧客名の表示形式を「Last, First」にするための 計算フィールドを追加しています。 新規テーブルの操作 リレーションシップグラフに新しいテーブルを追加したので、その SQL ベーステーブルを 通常の FileMaker Pro テーブルであるかのように操作することができます。たとえば、 FileMaker Pro テーブルと SQL ベーステーブルの間のリレーションシップを確立すること が可能です。(また、選択すれば異なる SQL ベーステーブル間のリレーションも確立でき ます。ただし、同じ機能を実行する SQL サーバー上で DBA にデータベースビューを作成し てもらうほうが、より効率的と思われます) 外部 SQL ソース入門 19 ページ たとえば SQL ベースの顧客テーブルを、地域や地区のフィールドなど、各顧客に関する追 加情報の追跡によって拡張する必要が生じたものとします。これらは保存と編集が可能なフ ィールドでなければならないため、顧客シャドウテーブル自体の中で補助フィールドとして 定義することはできません。ただし、この情報を保持する FileMaker Pro のネイティブテー ブルを作成し、そのテーブルをリレーションシップによってシャドウテーブルビューにリン クさせることはできます。そのためには、以下のステップに従います。 1. 追加フィールドを入れておくための新しい FileMaker Pro ネイティブテーブルを customer_additional というテーブル名で定義します。 2. 追加したテーブルには、保存する必要のある新規データフィールドに加えて、SQL ベーステーブルと関係づけるための適切な照合フィールドがあることを確認します。 (ここでは、照合フィールドは id_customer です) 外部 SQL ソース入門 20 ページ 3. SQL ベースのテーブルと FileMaker Pro ベースのテーブルの間にリレーションシ ップを作成します。 4. 両方のテーブルのデータを表示するデータレイアウトを作成します。下の図では、 FileMaker Pro のネイティブ列が強調表示されています。ユーザの観点からは、こ の画面は基本および拡張顧客データの完全な編集可能ビューを表すものです。 (FileMaker Pro アプリケーションが SQL フィールドに対する読み取り権限だけで なく書き込み権限も持っていると仮定した場合) 外部 SQL ソース入門 21 ページ ESS のテーブルと FileMaker Pro のネイティブテーブル これまでの例で、外部データソースを構成し、そのテーブルの一部または全部を FileMaker Pro アプリケーションのスキーマに簡単に追加できることがわかりました。これらの外部テ ーブルは、FileMaker Pro 内でほとんどシームレスに利用することができます。ただし、 ESS のテーブルと FileMaker Pro のネイティブテーブルとにはいくつかの重要な相違があ り、それについて以下の項で説明していきます。 サポートされるデータタイプ SQL データソースは、一般的に、FileMaker Pro より多数のデータタイプをサポートしてい ます。多くの場合、これらのデータタイプは FileMaker Pro のデータタイプより詳細で、そ して、一定の方法でさらに制限をかけることができます。たとえば、ほとんどの SQL デー タソースには整数データと浮動小数点データのために異なるデータタイプがありますが、 FileMaker Pro は整数値と浮動小数点値の両方を単一のデータタイプで処理します。SQL の 整数タイプでは、保持できるデータのサイズが制限されていることがあります。テキストタ イプのフィールドのデータサイズも異なることがあります。たとえば、MySQL のテキスト タイプはデフォルトで 65,535 文字のみを保持できるのに対し、FileMaker Pro のテキスト タイプは理論上ではおよそ 10 億文字を保持できます。したがって、MySQL のテキスト列 は FileMaker Pro のテキストフィールドにマップされますが、その FileMaker Pro シャド ウフィールドには入力を 65,535 文字に制限する検証が含まれることになります。 たいていの場合、SQL フィールドは FileMaker Pro の対応するフィールドより少ないデー タしか保持できません。わずかですが、SQL フィールドのほうが幅広いデータを処理できる 場合もあります。いずれの場合にも、これらの制限を強制するシャドウフィールドには、 FileMaker Pro はできるだけ検証を義務付けようとします。 外部 SQL ソース入門 22 ページ 競合の問題:このデータは最新か? 純粋な FileMaker Pro 環境では、各クライアントのデータビューは非常に動的です。ある FileMaker Pro ユーザが 1 つのレコードに変更を加えた場合、そのレコードがサブミットさ れるとすぐに、他のすべての FileMaker Pro ユーザは変更済みのデータを見ることになりま す。ESS のテーブルのデータの場合では、そうはいきません。あるクライアントが ESS デ ータに変更を加えた場合、それが FileMaker Pro を通した変更でも、他の方法による変更で あっても、そのレコードにアクセスしている他のクライアントに即時にブロードキャストさ れることはありません。FileMaker Pro 10 は SQL データのビューを定期的に再表示します が、FileMaker Pro に表示されているデータが最新の SQL データと一致していない時間が 生じます。 FileMaker Pro 10 では、[Records]メニューから[Refresh Window]コマンドを使用 できます。[Refresh Window]は、キャッシュされた ODBC データをすべてフラッシュ でき、ODBC ソースのデータを再表示することができます。ユーザ(またはスクリプト)は、 確実に最新の SQL データを処理するために、ときどき[Refresh Window]を使用する必 要があります。レコードのロックについても、ESS ベースのテーブルでは少し動作が異なり ます。FileMaker Pro ベースのテーブルでは、あるユーザがレコードの編集を開始すると、 他のユーザはそのレコードに対する変更を禁止されます。ESS レコードでは、この動作はあ りません。2 人のユーザが同時に 1 つの ESS レコードを編集することもできます。どちら か先にレコードをサブミットしたユーザが、データベースへの変更を送信できます。同じレ コードのコピーを 2 番目にサブミットしたユーザには、下記のような警告が表示されます。 ここで、他のユーザの変更を上書きするか、自分の変更を取り消すか、決めることができま す。 索引 データベースで効率的にデータを見つけるためには、索引が必要です。FileMaker Pro では、 検索、ソート、リレーションシップの作成に索引が使用されます。多くの場合、デベロッパ が FileMaker Pro の索引について心配する必要はありません。他に指示がない限り、要求さ れた検索、ソート、リレーションシップ選択をサポートするために必要な索引を FileMaker Pro が作成してくれます。 ESS テーブルの場合は異なります。FileMaker Pro は ESS テーブルのスキーマを変更でき ないので、要求された操作をサポートする索引を自動的に作成することはできません。SQL 側で索引のない ESS フィールドにユーザが検索を実行すると、その検索の実行速度は非常 に遅くなることがあります。デベロッパはユーザによる検索を索引のある SQL フィールド に限定するとともに、SQL DBA と緊密に協力して、必要な索引を確実に用意しておくよう にします。 外部 SQL ソース入門 23 ページ スキーマの変更 すでに何度か説明しましたが、重要なので繰り返します。ESS の機能には、FileMaker Pro のデベロッパが SQL ベースのテーブルやデータベースのスキーマを編集する手段は一切あ りません。作成したシャドウテーブルのスキーマを、SQL フィールドの除外や非保存の計算 または集計補助フィールドの追加によって変更することは可能ですが、SQL スキーマを変更 する直接的な手段はありません。スキーマ変更に影響を与えるためには、適切なアクセス権 がある場合は自分自身で SQL スキーマを変更するか、変更できる人と協力する必要があり ます。 ESS vs. FileMaker Pro のその他の SQL 接続方法 ESS 機能セットの追加により、FileMaker の製品ラインは FileMaker Pro ベースのアプリ ケーションで SQL データソースのデータを操作する 3 つの異なる方法をサポートするよう になりました。下記の表は、これらの方法を比較対照したものです。 外部 SQL ソース入門 24 ページ サポートされるデータベ ース ODBC データソースから のレコードの読み取り ODBC データソース内の レコードの作成、編集、 または削除 ODBC イ ンポート [Execute SQL] スクリプトステッ プ 外部 SQL データ ソース ODBC ド ライバのサ ポートによ ってのみ制 限される ODBC ドライバの サポートによって のみ制限される Oracle 9i, Oracle 10g, Oracle 11g, MS SQL Server 2000, MS SQL Server 2005, MS SQL Server 2008, MySQL 5.0 および 5.1 Community Edition ○ ○ ○ FileMaker Pro のように ダイナミックな ODBC デ ータの操作 SQL データベースへのカ スタムクエリーの送信 ○ ○ ○ FileMaker Pro ベースお よび SQL ベースのデータ セット間のリレーション シップの作成 ○ 補助フィールドによる SQL データセットの拡張 ○ SQL テーブルの FileMaker Pro データベ ース構造への統合 ○ [Execute SQL]スクリプトステップは、ESS よりはるかに幅広い ODBC ソースと連携で きる可能性をもち、制約は使用できるドライバのみです。データの問い合わせには効果的に 使用できませんが、サーバー上でのレコードの作成、編集、削除のみに、またはサーバー上 にストアドプロシージャの呼び出しに、使用することができます。FileMaker Pro インター フェース内で ODBC ベースのデータを表示できる手段はありません。 ODBC データソースからのインポート機能は、やはり幅広い可能性をもっていますが、 [Execute SQL]スクリプトステップのほとんど逆になります。データのクエリーのみに使 用でき、SQL ソース内のレコードの作成、編集、削除には使用できません。 サポートされる ESS データソースについては、ESS 機能セットが最高の双方向性と機能性 を提供します。ただし、サーバーへのカスタム SQL クエリー送信はサポートせず、現在の ところ、使用は 3 つのサポートされる SQL 製品に制限されています。 外部 SQL ソース入門 25 ページ ESS によってサポートされていないデータソースについては、ODBC のインポートと FileMaker Pro の[Execute SQL]機能をともに使用すれば、FileMaker Pro および ODBC ベースのデータソースの間で簡単かつ効果的なデータ共有を行えます。 ODBC のインポートおよび[Execute SQL]機能に関する大切な注意は、ESS 機能セッ トにようにサーバー側 DSN を利用することはできない点です。リモートホスト上で定義さ れた DSN は、ESS の操作のみに使用できます。ODBC のインポートおよび[Execute SQL]を使用する場合には、まだ各クライアントのデスクトップで DSN の構成が必要にな ります。 ESS のベストプラクティス ESS は、FileMaker Pro ツールキットの中でも非常に強力な新しいツールです。この機能を 最大限に活用するには、その設計の目的が何だったかを明確に理解しておく必要があります。 設計の目的は、「幅広く使われている SQL ストレージシステムベースのデータテーブルを FileMaker Pro ソリューションに統合できるようにしながら、既存の FileMaker Pro の やり方と約束ごとの範囲内で、できるだけ透過的に操作できるようにすること」だと言えま す。つまり、ソリューションが SQL ベースのシステムからのデータを統合できる一方で、 そのデータはできる限り FileMaker Pro のデータと同じように見え、同じように動作する必 要があるということです。 「FileMaker Pro ベースのソリューションのサイズやスケーラビリティの可能性を高める」 ことは、ESS 機能セットの明確な設計目的ではないことに注目することが大切です。ESS をそのような方法で使うことができるかもしれませんが、機能セットは透過性と使いやすさ を目指して設計されており、純粋に速度を高めるためのものではありません。そのため、最 も大きくて複雑な FileMaker Pro ベースのテーブルを SQL ベースのテーブルで置き換える のが ESS のよい使い方だと考えるのは、適切とは言えないでしょう。完全に正しく機能す る場合もあるかもしれないし、あるシステムでは問題を解決する場合もあるでしょうが、常 に注意しながら進め、この機能の設計者が達成しようとしていたことは、「大きくて高速な FileMaker Pro ベースのシステム」ではなく「スムーズで FileMaker Pro のような統合」だ ということをを忘れないようにしてください。 デベロッパとしてこれを心に留めておけば、ESS 機能の使用にメリットをもたらす数多くの 重要なステップとプラクティスがあります。 SQL について基本的な知識を身につける ESS 機能セットの最も目覚ましい特徴の 1 つは、SQL クエリーの詳細がデベロッパから見 えないことですが、それでも SQL の基本的な働きについて知っておくと役立ちます。何ら かの理由で SQL ベースサーバーから期待する結果が得られない場合、ある程度の調査をす ることになります。SQL クエリーログを見たり、SQL データベースの構造を DBA と話し合 ったりしなければならないこともあります。テクノロジーのどの分野でも言えることとして、 知っていれば知っているほど、役に立ちます。サポートされる 3 つの SQL データベースシ ステム(Oracle、MySQL、MS SQL Server)はすべて、ダウンロードしてインストールで きる無料版があります。いずれか 1 つを選んで、システムの一部機能、利用できるツール、 SQL 言語の基本を知っておくことは、時間をかけるだけの価値があります。 外部 SQL ソース入門 26 ページ ビューについて知る SQL バックエンドの特に重要な機能は、データベースビューを保存、管理できることです。 ビューは、一種の保存されたクエリー、独自のアクセス許可をもてる仮想テーブルと考える ことができます。たとえば、1000 万のレコードと 60 のデータフィールドをもつ顧客テー ブルがある場合、DBA は SQL クエリー SELECT name_first, name_last, address, city, state, zip FROM customer_master WHERE region= East に基づいて、 eastern_address_book という名前のビューを作成することができます。このビューは、 他のどの SQL テーブルともまったく同じように、クエリー(および FileMaker Pro への組 み込み)が可能です。数多くの顧客フィールドのうち数個だけを選択する、また顧客レコー ドのサブセットのみを選択するという、役立つ特性があります。1 回に処理する SQL データ の量を制限するのは、ESS にとって不可欠なベストプラクティスです。 索引に注意する FileMaker Pro とは異なり、SQL ベースのシステムはユーザのクエリーをサポートする索引 を自動的に作成しません。ユーザが既存の索引によって十分にサポートされていないクエリ ーをサブミットすると、そのクエリーの実行速度が非常に遅くなる場合があります。どの索 引が必要かをよく考え、それが SQL 側に存在することを確認してください。特に以下の動 作をサポートする索引が必要となります。 • リレーションシップ:SQL テーブルとのリレーションシップを作成したい場合、リ レーションシップの照合フィールドとして使用したいすべての SQL に、索引が必要。 (なくてもリレーションシップは機能しますが、解決速度は遅くなることがある) • 検索:ユーザがフィールドを検索したい場合、SQL 内に何らかの索引が必要になる と思われる。ESS 機能は SQL サーバーに、できるだけ多くのクエリー処理をさせよ うとする。一部の検索は SQL で全面的にはサポートされていないことがあり、その 場合は FileMaker Pro 自身がクエリー処理を「完結」させる(訳注:FileMaker 側 で処理する)が、SQL 側での適切な索引作成が不可欠。 注意深く検索する 索引に関する注意の延長として、ユーザが ESS データソースに対して検索を実行できる方 法を制限すると便利でしょう。たとえば、そのような検索が必ず適切な索引のあるフィール ドで実行されるようにします。そこで、ESS データ用に特別な検索フォームを作成するか、 検索可能なフィールドを示すために、何らかの形式の視覚的な強調表示を使用します。 FileMaker Pro のレイアウト機能を使用して、ユーザが検索モードでは索引のない ESS フ ィールドに入れないようにすることもできます。 注意深くソートする FileMaker Pro には豊富な多言語サポートがありますが、文字セットと文字のコード化は複 雑なため、FileMaker Pro は特定の SQL システムに FileMaker Pro によるソートと同じ方 法でレコードをソートさせることはできません。したがって、検索とは異なり(検索の場合、 FileMaker Pro はできるだけ SQL システムに処理を任せようとします)、ESS データのソ ートはすべて FileMaker Pro 内で実行されます。FileMaker Pro での ESS データのクエリ ー方法により、大規模な ESS データセットのソートは効率が悪くなりやすく、避けるべき です。ユーザが大型のデータセットを常に特定の順序にソートした状態で操作する必要があ る場合には、SQL 側に必要なソート順序を組み込むデータベースビューを定義するようにし てください。一般的に、ESS レコードの小さいグループのみをソートするのが最適です。数 百から数千のレコードの場合に、最高のパフォーマンスを発揮すると思われます。 外部 SQL ソース入門 27 ページ 付録:その他の資料 用語 以下に、ESS 機能セットを理解するために重要な用語について、概要を示します。 ESS:外部 SQL ソース。選ばれた SQL データソースのデータを、FileMaker Pro のデータ ベースから動的に参照できるようにする。 ODBC:オープンデータベースコネクティビティ。データベースとの通信に広く使用されて いるインターフェース。ESS は ODBC 接続を介して機能する。 ODBC ドライバ:ODBC と特定の ODBC データソースとの通信をサポートするソフトウェ ア。 DSN:データソース名。構成設定値のグループで、特定の ODBC 対応データベースへの通 信に、特定の ODBC ドライバをどのように使用するかを指示する。 シャドウテーブル:FileMaker Pro に保存されているテーブル定義。外部 SQL ソース内の テーブルの「シャドウ(影)」。 シャドウフィールド:SQL データソース内のフィールド定義に対応する、シャドウテーブル 内のフィールド定義。このフィールドは SQL ベースフィールドの「シャドウ(影)」。通 常の FileMaker Pro フィールドとは異なり、定義を編集することはできないが、シャドウフ ィールドをシャドウテーブルから削除することはでき、それによって FileMaker Pro がその フィールドを使用または表示できないようにすることが可能。 補助フィールド:シャドウテーブルに追加された非保存計算または集計フィールド。補助フ ィールドは、FileMaker Pro で定義されている非保存フィールドで SQL スキーマを補完す る。 FileMaker TechNet テクニカルブリーフ 本書は、ESS の採用を検討している方のために、ESS 機能セットについて説明しています。 本書を補足する資料として、ESS 機能セットについてさらに詳しく技術的な説明を加えてい る包括的なテクニカルブリーフ(技術解説書)もあり、TechNet のメンバーになると利用で きます。その TechNet テクニカルブリーフは、ESS の採用や実装を予定していて、 FileMaker Pro が ESS を使用して SQL ベースのシステムと情報のやりとりをする方法を詳 しく理解したいと思っているデベロッパ向けのガイドブックです。 TechNet のメンバーになる方法については、下記の Web サイトを参照してください。 http://www.filemaker.co.jp/technet/ サポートされる ESS データソース ESS は現在、下記のデータソースをサポートしています。これらのいずれかを使用している 場合、製品についてまだよく知らなければ、ベンダーの「ライト」版または「Express」版 をダウンロードしてみてください。 Oracle Database Server (9i, 10g, 11g): http://www.oracle.com/database/index.html (このページに Express 版へのリンクが あります) MySQL Community Edition (5.0 および 5.1): http://dev.mysql.com/downloads/mysql/5.0.html (MySQL に「ライト」版または 「Express」版はありません: the Community Edition は無料でダウンロードできます。 また下記の Web サイトにある GUI Tools も参考になります。 http://dev.mysql.com/downloads/gui-tools/5.0.html) 外部 SQL ソース入門 28 ページ MS SQL Server (2000, 2005, および 2008): http://www.microsoft.com/sql/default.mspx 「Express」版は下記の Web サイトにあ ります。 http://www.microsoft.com/sql/editions/express/default.mspx サポートされる ODBC ドライバ ESS は、サポートされる ODBC ドライバとともに使用することが大切です。サポートされ ていないドライバを使用すると、正しくない結果が生じることがあります。 最新のサポートされるドライバおよびデータソースに関する更新情報は下記の Web サイト にあります。http://www.filemaker.co.jp/support/technologies/sql.html 書籍 ESS では SQL プログラミングの詳細がユーザやデベロッパから見えないようになっていま すが、ESS を使用する場合には SQL についてある程度知っていると役立ちます。SQL を少 し詳しく説明している無料オンラインブックの参照先を下記に示します。最新版ではありま せんが、SQL の基本はほとんど変わっておらず、このオンラインブックの内容は確かな出発 点となります。 http://podgoretsky.com/ftp/Docs/DB/SQL%20in%2021%20Days/fm/fm.htm 著者について スティーヴ・レインは Soliant Consulting のバイスプレジデントで、これまで 8 年にわた って FileMaker と Web 開発チームを率いてきました。FileMaker に関する 5 冊の書籍を共 同執筆した経験をもつとともに、FileMaker Developer Conference でも頻繁に講演し、 2003 年には「FileMaker Pro の限界を広げた」として FileMaker Fellowship 賞を受けま した。また FileMaker の認定トレーナーとして、FileMaker Professional Training Foundation Series 資料の最新の 3 版の作成にも加わっています。小規模な民間企業から大 規模な公共企業まで、多様な FileMaker クライアントのコンサルタントを務め、FileMaker システムと Web ベースおよび SQL ベースのシステムとの統合を専門としています。シカゴ 大学で中世史の博士号を取得し、以前、同大学で Macintosh ベースの Double Helix システ ムを用いた初のリレーショナルデータベースを構築しました。 本書は、たくさんの方々のアドバイスや見識をお借りして完成したものです。特に、ガル ト・ジョンソンとクレイ・メーケルは重要な技術批評を加え、レイ・コロゴンは日付・時刻 フィールドに関連する SQL Server の動作の重要な側面について注意を促し、検討してくれ ました。 外部 SQL ソース入門 29 ページ --©2009 FileMaker, Inc. All rights reserved. FileMaker、ファイルメーカー及びファイル フォルダロゴは、米国及びその他の国において登録された FileMaker, Inc. の商標です。そ の他の商標はすべて、それぞれの所有者の財産です。 FileMaker は、個々の独立した提供者により製造されここに紹介される製品の性能や信頼性 について、明示的であれ、黙示的であれ、なんらの保証をもおこなうものではありません。 協定、合意、または保証は、たとえ交わされるとしても、すべて提供者と将来のユーザの間 において交わされるものとします。製品の仕様や提供の可能性は、予告なく変更される場合 があります。 本書は、一切の保証なしに 現状のまま 提供されるものであり、FileMaker は、黙示の商 品性の保証、特定の目的についての適合性、非侵害の保証を含め、一切の明示あるいは黙示 の保証を否認します。FileMaker ならびに FileMaker の供給者は、直接的損害、間接的損 害、偶発的損害、結果的損害、営業利益の損失、懲罰的損害、特別損害を含め、このような 損害が生じる可能性についてたとえ知らされていたとしても、いかなる損害についても一切 の責任を負わないものとします。法域によっては、無保証あるいは責任制限を認めない場合 があります。FileMaker は、本書を予告なくいつでも変更できるものとします。本書はいず れ時代遅れとなるかもしれませんが、その情報を最新の情報にすることを約束するものでは ありません。 --©2009 FileMaker, Inc. All rights reserved. FileMaker is a trademark of FileMaker, Inc., registered in the U.S. and other countries, and the file folder logo is a trademark of FileMaker, Inc. All other trademarks are the property of their respective owners. FileMaker makes no warranties, express or implied, with respect to the performance or reliability of any products presented herein that are manufactured by independent vendors. All understandings, agreements, or warranties, if any, take place between the vendors and prospective users. Product specifications and availability subject to change without notice. (Docv2) THIS DOCUMENT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, AND FILEMAKER DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR THE WARRANTY OF NON-INFRINGEMENT. IN NO EVENT SHALL FILEMAKER OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS, PUNITIVE OR SPECIAL DAMAGES, EVEN IF FILEMAKER OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY. FILEMAKER MAY MAKE CHANGES TO THIS DOCUMENT AT ANY TIME WITHOUT NOTICE. THIS DOCUMENT MAY BE OUT OF DATE AND FILEMAKER MAKES NO COMMITMENT TO UPDATE THIS INFORMATION. 外部 SQL ソース入門 30 ページ