.DBF オプション番号
拡張子が .dbf のファイルは、dBASE というデータベース管理システム アプリケーションで使用されるデータベース ファイルです。当初、dBASE データベースは Project Vulcan という名前でした。 1978 年に Wayne Ratliff によって開始されました。DBF ファイル タイプは、1983 年に dBASE II で導入されました。これは、複数のデータ レコードを配列タイプ フィールドに配置します。 xBase データベース ソフトウェアは、幅広いファイル形式との互換性があるため人気があります。 DBF ファイルもサポートしています。
DBF ファイル形式
DBF ファイル形式は dBASE データベース管理システムに属しますが、xBase またはその他の DBMS ソフトウェアと互換性がある場合があります。 dbf ファイルの初期バージョンは、ASCII 文字セットを使用してデータを追加、変更、削除、または印刷できる単純なテーブルで構成されていました。時間の経過とともに .dbf が改善され、データベース システムの機能と能力を向上させるために追加のファイルが追加されました。
最新の dBASE では、DBF ファイルはヘッダー、データ レコード、および EOF (End of File) マーカーで構成されます。
- ヘッダーには、レコードの数やレコードで使用されるフィールドの種類の数など、ファイルに関する情報が含まれています。
- レコードには実際のデータが含まれています。
- ファイルの終わりは、値が 0x1A の 1 バイトでマークされます。
ファイルヘッダー
次の表に、dBase のファイル ヘッダーのレイアウトを示します。
| |バイト |目次 |意味 | —|—|—| | | 0 | 1 バイト | DOS ファイルの有効な dBASE。ビット 0 ~ 2 はバージョン番号を示し、ビット 3 は dBASE for DOS メモ ファイルの存在を示し、ビット 4 ~ 6 は SQL テーブルの存在を示し、ビット 7 は任意のメモ ファイル (dBASE m PLUS または dBASE for DOS) | | | 1–3 | 3 バイト |最終更新日; YYMMDD | としてフォーマットされます。 | | 4–7 | 32 ビット数 |データベース ファイル内のレコード数 | | | 8–9 | 16 ビット数 |ヘッダーのバイト数 | | | 10–11 | 16 ビット数 |レコード内のバイト数 | | | 12–13 | 2 バイト |予約済み; 0 で埋める | | | 14 | 1 バイト |未完了取引フラグ[注1] | | | 15 | 1 バイト |暗号化フラグ[注 2] | | | 16–27 | 12 バイト |マルチユーザー環境で DOS 用の dBASE 用に予約 | | | 28 | 1 バイト |プロダクション .mdx ファイル フラグ。実動 .mdx ファイルがある場合は 1、ない場合は 0 | | | 29 | 1 バイト |言語ドライバー ID | | | 30–31 | 2 バイト |予約済み; 0 で埋める | | | 32–n [注 3][注 4] |それぞれ 32 バイト |フィールド記述子の配列 (記述子のレイアウトについては以下を参照) | | | n + 1 | 1 バイト |フィールド記述子配列ターミネータとして 0x0D |
- ISMARKEDO 関数はこのフラグをチェックします (BEGIN TRANSACTION はフラグを 1 に設定し、END TRANSACTION および ROLLBACK はフラグを 0 にリセットします)。
- このフラグが 1 に設定されている場合、「データベースが暗号化されました」というメッセージが表示されます。
- フィールドの最大数は 255 です。
- n は、フィールド記述子配列の最後のバイトを意味します。
フィールド記述子配列
dBASE でのフィールド記述子のレイアウト:
| |バイト |目次 |意味 | —|—|—| | | 0 ~ 10 | 11 バイト | ASCII (ゼロで埋められた) のフィールド名 | | | 11 | 1 バイト |フィールドの種類。使用できる値: C、D、F、L、M、または N (意味については、次の表を参照してください) | | | 12–15 | 4 バイト |予約済み | | | 16 | 1 バイト |バイナリのフィールド長 (最大 254 (0xFE))。 | | | | 17 | 1 バイト | 2 進数のフィールド 10 進カウント | | | 18–19 | 2 バイト |作業域 ID | | | 20 | 1 バイト |例 | | | 21–30 | 10 バイト |予約済み | | | 31 | 1 バイト |プロダクション MDX フィールド フラグ。フィールドが本番 MDX ファイルでインデックス タグを持っている場合は 1、そうでない場合は 0 |
データベース レコード
各レコードは、削除 (1 バイト) フラグで始まります。フィールドは、フィールド セパレータなしでレコードにラップされます。すべてのフィールド データは ASCII です。フィールドのタイプに応じて、アプリケーションはさらに制限を課します。 dBase のフィールド タイプは次のとおりです。
| |フィールドタイプ |ニーモニック |受け入れるもの | ——-|—–|—-| | |シー |キャラクター |任意の ASCII テキスト (フィールドの長さまでスペースで埋められる) | | | D |日付 |月、日、年を区切る数字と文字 (YYYYMMDD 形式で 8 桁として内部的に格納されます) | | |ふ |浮動小数点 | -, ., 0–9 (右寄せ、空白でパディング) | | |中 |論理 | Y、y、N、n、T、t、F、f、または? (初期化されていない場合) | | |み |メモ |任意の ASCII テキスト (.dbt ブロック番号を表す 10 桁として内部的に保存され、右寄せされ、空白が埋め込まれます) | | |ん |数値 | -, ., 0–9 (右寄せ、空白でパディング) |