aspose.info
TH

DBF - ไฟล์ฐานข้อมูล dBase

อัปเดตเมื่อ

ไฟล์ DBF คืออะไร??

ไฟล์ที่มีนามสกุล .dbf เป็นไฟล์ฐานข้อมูลที่ใช้โดยแอปพลิเคชันระบบจัดการฐานข้อมูลที่เรียกว่า dBASE เริ่มแรก ฐานข้อมูล dBASE ได้รับการตั้งชื่อว่า Project Vulcan; เริ่มต้นโดย Wayne Ratliff ในปี 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 for ดอส)
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 ข้อความ ฐานข้อมูลเข้ารหัส จะปรากฏขึ้น
  • จำนวนฟิลด์สูงสุดคือ 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 ใดๆ (เว้นวรรคตามความยาวของฟิลด์)
ดีวันที่ตัวเลขและอักขระเพื่อแยกเดือน วัน และปี (จัดเก็บภายในเป็นตัวเลข 8 หลักในรูปแบบ YYYYMMDD)
Fจุดลอยตัว-, ., 0–9 (ชิดขวา, เสริมด้วยช่องว่าง)
ลตรรกะY, y, N, n, T, t, F, f หรือ ? (เมื่อไม่ได้กำหนดค่าเริ่มต้น)
มบันทึกข้อความ ASCII ใดๆ (จัดเก็บภายในเป็นตัวเลข 10 หลักแทนหมายเลขบล็อก .dbt จัดชิดขอบขวา เสริมด้วยช่องว่าง)
ยังไม่มีตัวเลข-, ., 0–9 (ชิดขวา, เสริมด้วยช่องว่าง)

อ้างอิง

ดูเพิ่มเติม