aspose.info
FA

DBF - فایل پایگاه داده dBase

به‌روزرسانی

فایل DBF چیست؟

The file with .dbf extension is a database file used by a database management system application called dBASE. Inititally, the dBASE database was named as Project Vulcan; started by Wayne Ratliff in 1978. نوع فایل DBF با dBASE II در سال 1983 معرفی شد. چندین رکورد داده را با فیلدهای نوع Array مرتب می کند. نرم افزار پایگاه داده xBase که به دلیل سازگاری آن با طیف گسترده ای از فرمت های فایل محبوبیت دارد. همچنین از فایل های DBF پشتیبانی می کند.

فرمت فایل DBF

فرمت فایل DBF متعلق به سیستم مدیریت پایگاه داده dBASE است اما ممکن است با xBase یا سایر نرم افزارهای DBMS سازگار باشد. نسخه اولیه فایل dbf شامل یک جدول ساده بود که می توانست داده ها را با استفاده از مجموعه کاراکترهای ASCII اضافه، اصلاح، حذف یا چاپ کند. با گذشت زمان .dbf بهبود یافت و فایل های اضافی برای افزایش امکانات و قابلیت های سیستم پایگاه داده اضافه شد.

در dBASE مدرن یک فایل DBF از یک هدر، رکوردهای داده و نشانگر EOF (پایان فایل) تشکیل شده است.

  • هدر حاوی اطلاعاتی در مورد فایل است، مانند تعداد رکوردها و تعداد انواع فیلدهای استفاده شده در رکوردها.
  • سوابق حاوی داده های واقعی است.
  • انتهای فایل با یک بایت با مقدار 0x1A مشخص شده است.

هدر فایل

چیدمان هدر فایل در dBase در جدول زیر آورده شده است:

بایتمطالبمعنی
01 بایتdBASE معتبر برای فایل DOS. بیت‌های 0-2 نشان‌دهنده شماره نسخه، بیت 3 نشان‌دهنده وجود یک dBASE برای فایل یادداشت DOS، بیت‌های 4-6 نشان‌دهنده وجود یک جدول SQL، بیت 7 نشان‌دهنده وجود هر فایل یادداشتی (یا dBASE m PLUS یا dBASE برای DOS)
1-33 بایتتاریخ آخرین به روز رسانی؛ فرمت شده به عنوان YYMMDD
4-7شماره 32 بیتیتعداد رکوردهای فایل پایگاه داده
8-9شماره 16 بیتیتعداد بایت ها در هدر
10-11شماره 16 بیتیتعداد بایت ها در رکورد
12-132 بایترزرو شده؛ پر کردن با 0
141 بایتپرچم نشان دهنده تراکنش ناقص[نکته 1]
151 بایتپرچم رمزگذاری[یادداشت 2]
16-2712 بایترزرو شده برای dBASE برای DOS در یک محیط چند کاربره
281 بایتتولید پرچم فایل mdx. 1 اگر یک فایل .mdx تولیدی وجود دارد، 0 اگر نه
291 بایتشناسه درایور زبان
30-312 بایترزرو شده؛ پر کردن با 0
32–n [یادداشت 3] [یادداشت 4]هر کدام 32 بایتآرایه ای از توصیفگرهای میدان (برای چیدمان توصیفگرها به زیر مراجعه کنید)
n + 11 بایت0x0D به عنوان پایان دهنده آرایه توصیفگر میدان
  • تابع ISMARKEDO این پرچم را بررسی می کند (BEGIN TRANSACTION آن را روی 1 تنظیم می کند، END TRANSACTION و ROLLBACK آن را روی 0 تنظیم می کند).
  • اگر این پرچم روی 1 تنظیم شود، پیام Database encrypted ظاهر می شود.
  • حداکثر تعداد فیلدها 255 می باشد.
  • n به معنای آخرین بایت در آرایه توصیفگر فیلد است.

آرایه توصیفگر فیلد

چیدمان توصیفگرهای فیلد در dBASE:

بایتمطالبمعنی
0-1011 بایتنام فیلد در ASCII (صفر پر شده)
111 بایتنوع میدان. مقادیر مجاز: C، D، F، L، M، یا N (برای معانی جدول بعدی را ببینید)
12-154 بایترزرو شده
161 بایتطول فیلد به صورت باینری (حداکثر 254 (0xFE)).
171 بایتفیلد شمارش اعشاری به صورت باینری
18-192 بایتشناسه محل کار
201 بایتمثال
21-3010 بایترزرو شده
311 بایتتولید پرچم میدان MDX; 1 اگر فیلد دارای برچسب شاخص در فایل MDX تولیدی باشد، 0 اگر نه

رکوردهای پایگاه داده

هر رکورد با یک پرچم حذف (1 بایت) شروع می شود. فیلدها بدون جداکننده فیلد در رکوردها پیچیده می شوند. تمام داده های فیلد ASCII هستند. بسته به نوع رشته، برنامه محدودیت های بیشتری را اعمال می کند. در اینجا انواع فیلد در dBase آمده است:

نوع میدانیادگاریآنچه را می پذیرد
جشخصیتهر متن ASCII (پر شده با فاصله تا طول فیلد)
Dتاریخاعداد و یک کاراکتر برای جداسازی ماه، روز و سال (در داخل به صورت 8 رقمی در قالب YYYYMMDD ذخیره می شود)
Fنقطه شناور-، .، 0–9 (راست توجیه شده، پر شده با فضاهای خالی)
LمنطقیY، y، N، n، T، t، F، F، یا؟ (هنگامی که مقدار اولیه اولیه نباشد)
Mیادداشتهر متن ASCII (ذخیره شده در داخل به صورت 10 رقمی که نشان دهنده یک شماره بلوک .dbt است، به سمت راست توجیه شده است، با فضای خالی پر شده است)
Nعددی-، .، 0–9 (راست توجیه شده، پر شده با فضاهای خالی)

منابع

همچنین ببینید