| .dbf | |
|---|---|
| ファイル名拡張子 | .dbf |
| インターネットメディアの種類 | アプリケーション/dbf、アプリケーション/dbase |
| 開発者 | dBase |
| 初回リリース | 1983年 |
| 最新リリース | 7 |
| Webサイト | dbase.com |
.dbfファイル拡張子は、dBase データベースファイルを表します。このファイル形式は1983年にdBASE IIで導入されました。ファイル構造は進化を遂げ、多くの機能と性能を備えています。データの保存と操作をサポートするために、いくつかのファイル形式が追加されました。現在の .dbf ファイルレベルはレベル7と呼ばれています。.dbf 形式は、多くのデータベース製品でサポートされています。
概要
[編集]オリジナルのdBASEデータベースはProject Vulcanとして知られ、 1978年にWayne Ratliffによって開始されました。当時、データを格納するファイルはASCII文字セットを使用してデータを追加、変更、削除、印刷できる単純なテーブルでした。[ 1 ] 1985年までに、PC Magazine誌は.dbfファイル形式を他のソフトウェアの「事実上の標準」と評しました。[ 2 ]製品の人気が高まるにつれて、.dbfは拡張され、データベースシステムの機能を向上させるために追加のファイルが追加されました。dBASEはIDE(統合開発環境)、データベースシステム、コンパイラ、データベースアプリケーションビルダーであるにもかかわらず、実際のデータ保存メカニズムにはオリジナルの.dbfファイルが依然として使用されていました。
ファイル形式の歴史
[編集]クラシック .dbf
[編集]- プロジェクト・バルカン – CP/M (レベル 1)
- オリジナルのレイアウトに関する公開情報はありません。分かっているのは、ASCIIデータの追加、削除、変更、出力が可能なシンプルなテーブルであったということです。CP /Mを実行する8ビットマシン向けに書かれました。
- dBASE II – MS-DOS (レベル 2)
- dBASE IIはアシュトン=テイトによる最初のメジャーリリースでした。Project Vulcanの単純なテーブル構造をはるかに超える多くの進歩を遂げていました。[ 3 ]
- まだ8ビットコンピューティング用に書かれている
- フィールド数を16から32に増加
- SORTルーチンを導入しました
- 1983年4月にようやく16ビット版がリリースされた(バージョン2.4)
- dBASE III – MSDOS (レベル 2sh)
- dBASE III (バージョン「1.0」) は、1984 年 6 月にリリースされました。これは完全な 16 ビット アプリケーションでした。dBASE III のファイル形式は、dBASE II と dBASE III+ の間の移行段階です。
最新の dBASE
[編集]- dBASE III+ – MS-DOS (レベル 3)
- dBASE III+は1985年12月にリリースされました。これは現代のdBASEファイル形式の先駆けとなりました。dBASE IIIのファイル形式とは互換性がありません。[ 4 ]
- dBASE IV – MS-DOS (レベル 4)
- 1.0 x322 1988年10月
- 1.0 x55 1993年3月 – dBASEコンパイラ
- 2.0 x12 1993年10月 dBASE IV v2.0 x16 以降の修正が含まれています(x17 には対応していません。VLM とは互換性がありませんが、dB5D exe は互換性があります)。また、V1.0 製品にはない新機能も含まれています。
- 32ビット世代
- 自動コンパイルとリンク
- .EXEファイルのサイズが小さい
- メニュー駆動型のユーザーインターフェース
- リンカーは結合された.DBO出力を生成することができる
- リンカーは.MAPファイルを生成できる
- コンパイラは代替日付形式をサポート
- コマンドラインスイッチはファイル名にワイルドカードを受け入れます。
- dBASE V – MS-DOS (レベル 5)
- 1.0 x46 1994年6月
- BDE – ボーランド データベース エンジン 2.52
これはBorland Database Engine(BDE)の16ビット版の最後のアップデートでした。[ 5 ]
dBASE V – MS-Windows (レベル 5)
- 5.5 b673 1995年7月
xベース
[編集]xBaseはdBaseのクローン、典型的にはdBASE III+~Vに付けられる名称です。ほとんどのxBaseプログラムは、このフォーマットを直接使用するか、独自の拡張機能を備えた派生フォーマットを使用します。Erik Bachmannは、これらのフォーマットのオープンライセンスの説明を管理しています。[ 6 ]
dBASE 7
[編集]レベル7構造は、dBASEとBDEでサポートされている最新のファイル形式です。以前のファイル形式とは互換性がなく、サポートされているサードパーティ製アプリケーションも限られています。[ 7 ]
dBASE 7 – MS-Windows (レベル 7)
- 7.0 b1345 1997年12月 Win 95/NT用フル32ビットバージョン
レベル7では多くの改善が行われました。フィールド名の最大文字数が10文字から31文字に増加しました。また、同じテーブル内で重複するレコード番号の作成を防ぐ自動インクリメントフィールド[ 8 ]など、いくつかの新しいフィールドタイプが追加されました。
BDE バージョン 5.1.0
以前のリリースに比べて大幅に改善されました。[ 9 ]また、 BDEが処理できる内容に関してはいくつかの制限があります。[ 10 ]
レベル5 DOS dBASEのファイル形式
[編集]「現代のdBASE」III+-Vは、現在最も一般的に見られるdBASEファイル形式です。「現代のdBASE」では、.dbfファイルはヘッダー、データレコード、そしてファイル終了マーカーで構成されます。
- ヘッダーには、レコードの数やレコードで使用されるフィールドの種類の数など、ファイルに関する情報が含まれています。
- レコードには実際のデータが含まれます。
- ファイルの終わりは、値0x1Aの 1 バイトでマークされます。
ファイルヘッダー
[編集]| バイト | コンテンツ | 意味 |
|---|---|---|
| 0 | 1バイト | 有効な dBASE for DOS ファイル。ビット 0 ~ 2 はバージョン番号、ビット 3 は dBASE for DOS メモ ファイルの存在、ビット 4 ~ 6 は SQL テーブルの存在、ビット 7 はメモ ファイル (dBASE m PLUS または dBASE for DOS) の存在を示します。 |
| 1~3 | 3バイト | 最終更新日。YYMMDD 形式(YY は 1900 年からの年数) |
| 4~7 | 4バイト(LE) | データベースファイル内のレコード数 |
| 8~9 | 2バイト(LE) | ヘッダーのバイト数 |
| 10~11 | 2バイト(LE) | レコード内のバイト数 |
| 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に設定されている場合、「データベースが暗号化されています」というメッセージが表示されます。このフラグを0に変更するとメッセージは削除されますが、ファイルは復号化されません。
- ^ フィールドの最大数は 255 です。
- ^ nはフィールド記述子配列の最後のバイトを意味します。配列のサイズは、データベースで使用されるフィールドの数によって異なります。n は 31 + 32 * (フィールド数) に等しくなります。
フィールド記述子配列
[編集]| バイト | コンテンツ | 意味 |
|---|---|---|
| 0~10 | 11バイト | ASCII 形式のフィールド名(ゼロ埋め) |
| 11 | 1バイト | フィールドタイプ。使用可能な値: C、、、、、、または(意味については次の表をD参照F)LMN |
| 12~15歳 | 4バイト | 予約済み |
| 16 | 1バイト | バイナリでのフィールド長(最大 254 ( 0xFE ))。 |
| 17 | 1バイト | バイナリでのフィールドの小数点数 |
| 18~19歳 | 2バイト | 作業領域ID |
| 20 | 1バイト | 例 |
| 21~30 | 10バイト | 予約済み |
| 31 | 1バイト | 生産MDXフィールドフラグ。生産MDXファイル内のフィールドにインデックスタグがある場合は1、ない場合は0 |
データベースレコード
[編集]各レコードは1バイトの「削除」フラグで始まります。このバイトの値は、レコードがアクティブな場合はスペース( 0x20 )、レコードが削除されている場合はアスタリスク( 0x2A)です。フィールドは、フィールド区切り文字やレコード終端文字なしでレコードにパックされます。
すべてのフィールドデータはASCIIです。フィールドの種類に応じて、アプリケーションによってさらに制限が課せられます。
| フィールドタイプ | ニモニック | 受け入れるもの |
|---|---|---|
| C | キャラクター | 任意の ASCII テキスト(フィールドの長さまでスペースが埋め込まれます) |
| D | 日付 | 月、日、年を区切る数字と文字(内部的には YYYYMMDD 形式の 8 桁で保存されます) |
| F | 浮動小数点 | -、、.– 0(9右揃え、空白で埋める) |
| L | 論理的 | Y、、、、、、、、、または(初期化されていない場合y)NnTtFf? |
| M | メモ | 任意の ASCII テキスト (内部的には .dbt ブロック番号を表す 10 桁の数字として保存され、右揃えで空白が埋め込まれます) |
| 北 | 数値 | -、、.– 0(9右揃え、空白で埋める) |
メモフィールドと.DBTファイル
[編集]メモファイル(.DBT)は、0、1、2、…というように連番が付けられたブロックで構成されています。SET BLOCKSIZE は各ブロックのサイズを決定します。最初のブロック(ブロック0)はメモファイルのヘッダーです。
.DBF ファイルの各レコードのメモフィールドには、メモフィールドが始まるブロック番号(ASCII 形式)が含まれます。メモフィールドにデータが含まれていない場合、.DBF ファイルには数字ではなく 空白( 0x20 )が含まれます。
メモフィールドの内容が変更されると、ブロック番号も変更される可能性があります。つまり、メモの位置が変更されます。その場合、.DBFファイル内の番号が更新されます。
dBASE III PLUS では、メモ フィールドで削除されたテキストによって消費されたスペースは再利用できません。他のテキストが削除された場合でも、テキストが追加されるたびに .DBT ファイルのサイズは大きくなります。dBASE for DOS では、そのスペースが新しいテキストに再利用されることがあります。dBASE IQ PLUS では、常に新しいテキストが .dbt ファイルの末尾に追加されていました。
dBASEで見つかるその他のファイルタイプ
[編集]dBASEは多くのファイル形式を定義しています。また、一部のオペレーティングシステムファイルや他の製品のファイルも認識します。以下の表は、最も一般的に使用される形式を最初に示しています。この表は、dBASE III+、dBASE IV、およびdBASE CLASSICのドキュメントからまとめたものです。[ 11 ]
| 拡大 | ファイルの内容 |
|---|---|
| .DBF | データベースファイル |
| .DBK | データベースのバックアップファイル |
| .DBO | コマンドおよびプロシージャオブジェクトファイル |
| .DBT | データベースメモファイル |
| .DEF | セレクタ定義ファイル |
| .DEM | CUAフォームのステートメントを定義する |
| .DIF | データ交換フォーマット、または VisiCalc ファイル。APPEND FROM および COPY TO で使用される。 |
| .DOC | ドキュメントファイル; アプリケーションジェネレータのみ |
| .エラー | フォーム生成中にエラーが発生した場合、または回復不可能なエラーが発生した場合に作成されます |
| .FIL | ファイルリスト設計オブジェクトファイル |
| .エモ | コンパイルされた形式(.fmt)ファイル |
| .FMT | 生成されたフォーマットファイル; .scr ファイルから |
| .FNL | バイナリ名リストファイルを報告する |
| .FR3 | 古い dBASE HI レポート フォーム (.frm) ファイルの名前を変更しました |
| .ERG | 生成されたレポートフォームファイル; .frm ファイルから |
| .FRM | レポートフォームファイル |
| .FRO | コンパイルされたレポートフォーム(.ERG)ファイル |
| .FW2、.FW3、.FW4 | フレームワークスプレッドシートまたはデータベースファイル。インポートとエクスポートに使用されます。 |
| .GEN | テンプレートファイル |
| .GRP | DOS 用 dBASE の Windows グループ ファイル |
| .HLP | DOS ヘルプファイル用の dBASE |
| .ICO | Windows 上の DOS アイコンファイル用の dBASE |
| .INI | ラベル デザイナーと IDE の状態情報を保存するための Windows のような INI ファイル。 |
| 。鍵 | キーストロークマクロライブラリファイル |
| .LB3 | 古い dBASE III ラベル フォーム (.LBL) ファイルの名前を変更しました |
| .LBG | 生成されたラベルフォームファイル; .LBL ファイルから |
| .LBL | ラベルフォームファイル |
| .LBO | コンパイルされたラベルフォーム(.LBL)ファイル |
| 。ログ | トランザクションログファイル |
| .LNL | ラベルバイナリ名リストファイル |
| .MBK | 複数のインデックスバックアップファイル |
| .MDX | 複数のインデックスファイル |
| .MEM | メモリファイル |
| .NDX | 単一のインデックスファイル |
| .OVL | DOS オーバーレイファイル用の dBASE |
| PIF | Windows 以外のアプリケーション用の Microsoft Windows ファイル |
| 。ポップ | ポップアップ メニュー デザイン オブジェクト ファイル (アプリケーション ジェネレーターのみ) |
| .PR2 | プリンタドライバファイル |
| .PRD | DBSETUP のプリンタ ドライバ情報を含むファイル |
| .PRF | フォームファイルを印刷する |
| .PRG | dBASEコマンドまたはプロシージャファイル |
| .PRS | dBASE SQLコマンドまたはプロシージャファイル |
| .PRT | プリンタ出力ファイル |
| .QBE | QBEクエリファイル |
| .QBO | コンパイルされた QBE クエリ (.QBE) ファイル |
| .QRY | dBASE Elクエリファイル |
| .RES | リソースファイル |
| .RPD | RapidFile ファイル。インポートとエクスポートに使用されます。 |
| .SC3 | 古い dBASE III スクリーン (.SCR) ファイルの名前を変更しました |
| .SCR | スクリーンファイル |
| .SNL | 画面バイナリ名リストファイル |
| .STR | 構造リスト設計オブジェクトファイル; アプリケーションジェネレータのみ |
| .T44/.W44 | 中間作業ファイル。SORT および INDEX によって使用されます。 |
| .TBK | データベースメモのバックアップファイル |
| 。TXT | ASCIIテキスト出力ファイル |
| .UPD | QBE更新クエリファイル |
| .UPO | コンパイルされた QBE 更新クエリ (.UPD) ファイル |
| .VAL | 値リスト設計オブジェクトファイル(アプリケーションジェネレータのみ) |
| .VMC | 構成ファイル; 仮想メモリ マネージャー (VMM) 用 |
| .VUE | ファイルを表示 |
| 。勝つ | 論理ウィンドウ保存ファイル |
| .WKS、.WK1 | Lotus 1-2-3 ファイル。APPEND FROM および COPY TO で使用される。 |
参照
[編集]参考文献
[編集]- ^ Powell, David B. (1984年2月7日). 「From Basement To Boardroom」 . PC Magazine . p. 131. 2013年10月24日閲覧。
- ^ Miner, Leslie (1984年2月7日). 「Three Days With dBASE II」 . PC . pp. 185– 187. 2025年4月11日閲覧。
- ^ Powell, David B. (1984年2月7日). 「From Basement to Boardroom」 . PC Magazine : 131–135 . 2014年8月15日閲覧。
- ^ 「dBASE テーブルファイル形式 (DBF)」 Digitalpreservation.gov. 2012年10月8日. 2014年8月15日閲覧。
- ^ 「dBASEドキュメントのダウンロード - dBase, LLC」 . Dbase.com . 2014年8月15日閲覧。
- ^ Bachmann, Erik. 「Xbaseデータファイル(*.dbf)」 . www.clicketyclick.dk .
- ^ 「dBASE .DBFファイル構造」 . Dbase.com . 2014年8月15日閲覧。
- ^ Jean-Pierre Martel. 「AutoIncrement Fields」 . Dbase.com . 2014年8月15日閲覧。
- ^ Jean-Pierre Martel. 「新しいBDE 5.1.0とVisual dBASE 7.01」 . Dbase.com . 2014年8月15日閲覧。
- ^ 「DBase Plus ヘルプ 8」。
- ^ "dBASE Classic" . dBASE Classic . 2014年8月15日閲覧。
さらに読む
[編集]- ベン・フライ(2007年12月18日)『データの可視化:処理環境によるデータの探索と説明』O'Reilly Media, Inc.、325ページ。ISBN 9780596554729。
- アレン・ケント、ジェームズ・G・ウィリアムズ(1989年10月5日)『マイクロコンピュータ百科事典:第4巻 コンピュータ関連アプリケーション:計算言語学からdBaseまで』CRC Press、398ページ。ISBN 9780824727031。
外部リンク
[編集]- FoxBase、dBASE III/IV ファイル形式仕様(2018 年 8 月 6 日取得)