メインコンテンツへスキップ
HPO Software 4Dデータベースとローコードアプリ構築のステップバイステップガイド。最初のテーブル作成から、実用的なビジネスアプリの完成までをサポートします。

当サイトの一部にはアフィリエイトリンクが含まれています。これらのリンク経由でご購入いただいた場合、追加費用なしで弊社に手数料が支払われることがありますが、推奨内容に影響はありません。詳細はアフィリエイト開示ページをご確認ください。 アフィリエイト開示.

4 次元学習の基礎

4th Dimension Learning Basics Home Contents ------------------------- i. はじめに ii. 歴史 1. システム要件 2. プログラム構造 3. ネットワークの違い 4. ランタイムの違い 5. コンパイラ 6. ウェブホスティング 7. データチャート作成 8. プラグイン 9. ツール/ユーティリティ 10. リソース 11. その他の 4D URL 2. プログラム構造 ファイルとテーブル FMP では、データのすべての入力および出力にレイアウトを使用します。4D では、入力および出力フォームを使用します。4D では、データはテーブルに格納されます。これらのテーブルはデータファイルに保存されます。FMP の場合、構造とデータの両方がプログラムの全ファイルにおいて同じファイル内に保存されます。FileMaker Pro では、各ファイルの最大サイズは 2 GB(構造とデータを含む)です。図 1 - FMP と 4D ファイルの比較 Mac 上の 4D では、構造ファイルとデータファイルという 2 つのファイルのみが存在します。データファイルには最大 255 のテーブルを含めることができ、データの総容量は 128 GB まで可能です。噂によると、次バージョンの 4D(v7)では、1 テーブルあたり 10 億レコードを持つ 10 億のテーブルが扱えるようになるそうです。4D のテーブルは、FMP ファイルのデータ部分に類似しています。構造ファイルとデータファイルを分離することで、4D ではデータベース全体がはるかに効率的に動作します。Windows 版 4D では、構造ファイル (.4DB) とデータファイル (.4DD) に加えて、さらに 1 つまたは 2 つの追加ファイルが存在します。これらはリソースファイルであり、構造用が .RSR、データファイル用が .4DR です。.4DR は、データファイルに対して WEDD ユーティリティが使用された場合にのみ利用される点にご注意ください。モードと環境 FMP FMP には 4 つのモードがあります。ブラウズ(データ入力および画面上での表示用)、検索(検索条件の入力および一致するレコードの検索用)、プレビュー(印刷時のレイアウト確認およびレポートの集計用)、そしてレイアウト(ファイル設計用)です。4D 4D には基本的にデザイン環境とユーザー環境という 2 つのモード(環境)があります。4D のデザイン環境は FMP のレイアウトモードに類似しており、4D のユーザー環境は FMP のブラウズモードに相当します。ただし、4D には「カスタムメニュー」と呼ばれる第 3 の環境も存在します。これに対応する機能は FMP にはありません。実際、4D ユーザーが主に使用するべきなのはこのカスタムメニュー環境です。ユーザー環境は主に開発者向けのものです。カスタムメニュー環境について少し補足します。これは、4D プログラムを完全に制御できるように設計できる領域です。4D では、ウィンドウ上部に表示されるカスタムメニューバーを作成できます。ファイルメニューを変更したり、独自のカスタムメニューを作成したりすることが可能です。各メニューにメニュー項目を追加でき、キーボードショートカットを設定することもできます。これらの項目をクリックすると、ほぼあらゆる処理を実行するためのスクリプトやメソッドを呼び出すことができます。FMP では、FMP が提供するメニューバーに制限されますが、4D を使えばプログラムを完全に自作したもののように見せることができます。ユーザーは、そのプログラムが 4D で作成されたことにまったく気づかないかもしれません。カスタムメニューについては、後の章で詳しく解説します。使い方を覚えれば、非常に強力であるだけでなく、とても楽しい機能です。4D での開発では、まずデザイン環境で作業し、ユーザー環境で確認を行い、さらにカスタムメニュー環境で洗練させていきます。プログラムがユーザー向けに完成したら、通常はカスタムメニュー環境のみが使用されます。データフィールドと計算 4D にはより多くの種類のデータフィールドがありますが、計算フィールド、集計フィールド、グローバルフィールドは存在しません。図 2 - FMP と 4D データフィールドの比較 4D に計算データフィールドがないことは慣れが必要ですが、実際にはより効率的です。4D では、複雑な計算を作成して保存し、それを任意の場所、複数の場所に割り当てることができます。このように計算が割り当てられた「コンテナ」は変数と呼ばれます。変数は RAM 内にのみ保存され、データフィールドはハードドライブ上のデータファイルに保存されます。4D にはローカル、プロセス、インタープロセスという 3 種類の変数があります。これらについても、本シリーズの後半で詳しく解説します。スクリプトとメソッド FMP FMP にはスクリプトの種類が 1 つしかありません。FMP は ScriptMaker を使用しており、かなり豊富なスクリプトステップが用意されています。多くのアプリケーションでは、選択ウィンドウからステップをクリックするだけで済みます。ほとんどタイピングは不要で、正確な構文を覚える必要もありません。スクリプトは、ScriptMaker メニューから直接、キーボード経由、ボタン経由、ファイル開閉時などに呼び出すことができます。ただし、データ入力によってスクリプトをトリガーすることはできません。スクリプトからは他のスクリプト(他ファイル内の外部スクリプトも含む)を呼び出すことが可能です。条件分岐やループを行うスクリプトステップも利用できます。FMP のスクリプト機能は非常に使いやすいものです。4D 4D にはこれに相当する機能として「メソッド」があります。4D のメソッドは、FMP のスクリプトよりもはるかに汎用性が高く、強力です。4D には以下の 5 種類のメソッドがあります。オブジェクトメソッド フォームメソッド テーブルメソッド データベースメソッド プロジェクトメソッド これらについても、本シリーズの後半で詳しく解説します。リレーションシップ FMP と 4D の両方でリレーションシップ(関係付け)が使用されます。リレーションシップにより、プログラムはファイル内のレコード群をグループ化したり、特定のレコードを指定したりできます。説明を簡単にするために、操作を開始するファイルを「現在のファイル」、関連するレコードを持つファイルを「関連ファイル」と考えてください。FMP では、別のファイルとのリレーションシップを作成することも、同一ファイル内でのリレーションシップ(自己結合)を作成することも可能です。FMP ではリレーションシップに基づいたポータルを使用できます。現在のファイル内のポータルには、関連ファイルからのレコードのデータ行を表示できます。また、関連ファイルのデータを、現在のファイルのレイアウト上に個別のデータフィールドとして直接表示することも可能です。現在のファイルから関連ファイル内に新しいレコードを作成することもでき、現在のファイル内の計算で関連ファイルのデータを利用することもできます。FMP のリレーションシップ 図 3a - FMP でのリレーションシップ定義 図 3b - FMP でのリレーションシップ編集 4D のリレーションシップ 4D にはポータルはありません。代わりに、FMP のポータルと同様の機能を持つサブフォームがあります。4D では、リレーションシップを設定するためのグラフィカルな方法が用意されています。「多」側のテーブルから「一」側のテーブルへ線を引くだけでリレーションシップが作成されます。注:線を「多」側のテーブルから「一」側のテーブルへ引くことが非常に重要です。線の方向が意味を持ちます。完了すると、実体関係図(ER 図)ができあがります。図 4 - 4D でのリレーションシップ定義 FMP にはない 4D のその他の機能 4D では、配列、BLOB(Binary Large OBjects、最大 2 GB のデータを格納可能なデータフィールド)、ポインタ、プロセス、セマフォ、セット、トランザクション、トリガーといった用語を耳にすることでしょう。これらすべてについても、後ほど詳しく解説します。FMP のプログラム構造 FMP では、すべてを 1 つのファイルにまとめることができます。そのファイルには構造とデータの両方が含まれており、このようなファイルはフラットファイルと呼ばれます。FMP プログラムは多数のファイル(最大 50 個)を持つことができ、これらのファイルは相互に関連付けられ、データを共有することも可能です。データ


FileMaker を 45 日間無料でお試しください

デスクトップ、Web、モバイル上で 1 つのファイルからカスタム アプリを必要とするチーム向けの、長期にわたって実行されているリレーショナル データベース プラットフォームです。