4D においては、データベースという言葉は同時に以下の意味も持ちます:
- アプリケーションのストラクチャー(テーブル、フィールド、フォーム)の詳細
- アプリケーションのデータ(名前、日付、BLOB、あるいは保管/ソート/クエリする他の全ての値)
バイナリーモードのデータベースにおいては、ストラクチャーは単一のファイル(.4db ファイル)となっています。プロジェクトモードのデータベースでは、ストラクチャーは複数のテキストベースのファイルとフォルダーから構成されています。
どちらのアーキテクチャーにおいても、データは単一のファイル(.4dd ファイル)に保存されています。
新いデータベースを作成するとき、データベースの種類を選択する必要があります:プロジェクトモードデータベースかバイナリーモードデータベースです。

開発という視点からいえば、データベースの種類の違いは主に内部的なアーキテクチャーの違いにすぎません: どちらの種類を選択しても、4D の開発環境、利用できるエディター、機能は原則として同一です(ただし一部例外あり、以下参照)。
バイナリーモードデータベースをプロジェクトモードデータベースへと変換することはできますが、その逆は行えないことに注意してください。詳細はデータベースをプロジェクトモードに変換する の章を参照してください。
互換性に関する注意: データベース... および ストラクチャー定義を使用したデータベース... の項目はデフォルトでは表示されません(4D は今後は新規の開発にはプロジェクトアーキテクチャーを使用することを推奨します)。この項目を表示するためには、データベース設定の オプションをチェックする必要があります。
4D v18 で導入されたこのアーキテクチャーでは、データベースのデザイン全体が、json またはxml を使用した複数のテキストベースのファイルへと分割されています。データベースは.4dz ファイルとという単一の圧縮ファイルでコンパイル・配布することができます。以下の様な利点があることから、新規のデベロッパーに対しては、このアーキテクチャーを使用することが4D から推奨されています:
- ソースコントロール可能: 4D プロジェクトファイルは特にソース管理レポジトリ(Perforce、Git、SVN、など)で管理するのにとても適しており、これによって開発チームがこれらのツールの主な機能(バージョン管理・リビジョンの比較・ロールバック)の利点を最大限生かすことができます。この適合によって、新しいデベロッパーは、現代のソフトウェア業界ではとても一般的に使われるソース管理ツールをそのまま使えるので、自分たちの作業環境を変える必要がありません。
- 人間が読める(可読性のある)コード: データベース定義、メソッド、フォームなどを含めたデータベースのコードは、全てオープンなテキストファイルで保存されており、どのようなフレームワークまたはテキストソフトウェアでも読んで管理することが可能です。
- 軽量なクライアントサーバー配布: 単一の圧縮ファイル(.4dz)ファイルを利用しているため、これが可能です。ただしこの技術を用いても4D Server データベース上のチーム管理が可能になるわけではないことに注意してください(.4dz ファイルは読み出し専用だからです)。
- 追加の機能が利用可能: プロジェクトモードアーキテクチャーは最新のシステムライブラリー(*)に依存しており、そのため追加の機能が利用可能です。具体的には以下の通りです:
- フォームエディターでのダイナミック入力順の管理性の向上
- ファイル内の検索にOS の検索機能を使用可能
これは4D データベースファイルの従来のアーキテクチャーです。このアーキテクチャーでは、データベースストラクチャー、フォーム、コードを含む、データベースのデザインは、.4db ファイルというファイルに保存されています。コンパイルされたファイルであれば.4dc ファイルとなります。4D v18 までは、これが唯一の利用可能なファイルアーキテクチャーであり、とても効率的でした。新しい空のバイナリーモードデータベースを作成することもできますし、ストラクチャー定義から新しいバイナリーデータベースを作成することも可能です。
空のプロジェクトモードデータベースを作成するためには以下の様にしてください:
- ファイルメニューから、もしくは4D ツールバーの新規ボタンに割り当てられているメニューから新規 -> プロジェクトデータベース... を選択してください。
標準のファイルを保存ダイアログボックスが表示されます。 - メインのプロジェクトフォルダの名前と保存場所を選択してください:

- 保存をクリックします。
これでプロジェクトフォルダとそのサブフォルダ階層が指定された場所に作成されました。
プロジェクトサブフォルダ階層の詳細な説明については、developer.4d.com のArchitecture of a project のページを参照してください。
その後、エクスプローラーが最前面に表示された状態で4D アプリケーションウィンドウが表示されます。
また、バイナリーモードのデータベースをプロジェクトモードへと変換することが可能です。詳細はデータベースをプロジェクトモードに変換する の章を参照してください。
互換性に関する注意: データベース... および ストラクチャー定義を使用したデータベース... の項目はデフォルトでは表示されません(4D は今後は新規の開発にはプロジェクトアーキテクチャーを使用することを推奨します)。この項目を表示するためには、データベース設定の オプションをチェックする必要があります。
テーブルやフィールドおよびフォームなどを全く含まない空のデータベースを作成できます。これはデータベースでの空のシートに相当すると言えます。
空のデータベースを作成するには以下の通りにします:
- ファイルメニューまたは4Dツールバーの"新規"ボタンから新規 > データベース...を選択します。
標準の保存ダイアログボックスが表示され、4D パッケージの名称と場所を選択できます:

- データベースの名称を入力し、保存をクリックします。
OSが許可する名前であれば任意のファイル名を指定できます。 注意: データベースを他のプラットフォームでも利用するつもりの場合には、それぞれのプラットフォームの規則に従う事を考慮しなければなりません。例えば、バックスラッシュ(¥)記号はOS Xでは問題ありませんが、Windowsでは許されません。
ダイアログボックスを受け入れると、4Dは (データベースが開かれていれば) カレントデータベースを閉じ、指定した名称で指定した場所にフォルダーを作成し(フォルダ名はデータベースの名前です)、データベースとして動作するために必要なファイル一式をそこに配置します。4Dデータベースのアーキテクチャーに関する詳細はデータベースアーキテクチャーを参照してください。
4Dアプリケーションウィンドウにエクスプローラーが表示されます。ここからプロジェクトフォームを作成したり、ストラクチャーエディターでテーブルやフィールドを追加することができます。
互換性に関する注意: データベース... および ストラクチャー定義を使用したデータベース... の項目はデフォルトでは表示されません(4D は今後は新規の開発にはプロジェクトアーキテクチャーを使用することを推奨します)。この項目を表示するためには、データベース設定の オプションをチェックする必要があります。
XMLフォーマットで書き出されたストラクチャー定義を使用して、同じ構造のデータベースを新規に作成できます。この場合ストラクチャー定義は、必要に応じて複製が可能なストラクチャーテンプレートとみなすことができます。詳細はストラクチャー定義の書き出しと読み込みを参照してください。
XMLストラクチャー定義はそのまま、あるいはXMLエディターで編集して、使用することができます。これはプログラムでストラクチャーを生成するために使用されるいかなるタイプのメカニズムも利用できることを意味します。
さらに4Dストラクチャー定義XMLファイルの内部フォーマットは公開されているので (4Dストラクチャー定義のフォーマット参照)、他のデータベース環境やデザインアプリケーションからこのタイプのファイルを構築し、自動で4Dデータベースを生成することができます。
ストラクチャー定義からバイナリーモードのデータベースを作成するには以下の手順に従います:
- ファイルメニューまたは4Dツールバーから新規 > ストラクチャー定義を使用したデータベース...を選択します。
標準のドキュメントを開くダイアログボックスが表示され、開く定義ファイルを選択できます。4Dストラクチャ定義の文法に準拠したXMLフォーマットのファイルを選択しなければなりません (プログラムはDTDを使用してファイルを検証します)。 - ストラクチャー定義ファイルを選択してOKをクリックします。
4Dは作成するデータベースの名称と配置場所を指定するダイアログボックスを表示します。 - データベースの名称と場所を選択して、保存をクリックします。
XMLが妥当であれば、4Dは (開かれていれば) カレントデータベースを閉じ、ストラクチャー定義に基づき新しいストラクチャーを作成します。指定された場所に指定された名称でフォルダーが作成され、データベースとして動作するために必要なファイルがすべて配置されます。そしてエクスプローラーウィンドウが表示されます。
注: ストラクチャー定義からプロジェクトモードのデータベースを作成することはできません。