מהו קובץ 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 ניתנת בטבלה הבאה:
בייט | תוכן | המשמעות |
---|---|---|
0 | 1 בייט | תקף dBASE עבור קובץ DOS; סיביות 0-2 מציינות את מספר הגרסה, סיביות 3 מציינת את נוכחותו של קובץ תזכיר dBASE עבור DOS, סיביות 4-6 מציינות את נוכחותה של טבלת SQL, סיביות 7 מציינת את נוכחותו של כל קובץ תזכיר (או dBASE m PLUS או dBASE עבור 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 בתים | שמור עבור dBASE עבור DOS בסביבה מרובת משתמשים |
28 | 1 בייט | דגל קובץ הפקה .mdx; 1 אם יש קובץ mdx הפקה, 0 אם לא |
29 | 1 בייט | מזהה מנהל השפה |
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 בייט | ספירת שדה עשרונית בבינארי |
18–19 | 2 בתים | מזהה אזור עבודה |
20 | 1 בייט | דוגמה |
21–30 | 10 בתים | שמור |
31 | 1 בייט | דגל שדה ייצור MDX; 1 אם לשדה יש תג אינדקס בקובץ MDX הייצור, 0 אם לא |
רשומות מסד נתונים
כל רשומה מתחילה עם דגל מחיקה (1-byte). שדות עטופים ברשומות ללא מפרידי שדות. כל נתוני השדה הם ASCII. בהתאם לסוג השדה, האפליקציה מטילה הגבלות נוספות. להלן סוגי שדות ב-dBase:
סוג שדה | מנמוני | מה זה מקבל |
---|---|---|
ג | דמות | כל טקסט ASCII (מרופד ברווחים עד אורך השדה) |
ד | תאריך | מספרים ותו להפרדה בין חודש, יום ושנה (מאוחסנים באופן פנימי כ-8 ספרות בפורמט YYYYMMDD) |
F | נקודה צפה | -, ., 0–9 (מוצדק ימינה, מרופד ברווחים לבנים) |
ל | הגיוני | Y, y, N, n, T, t, F, f, או ? (כאשר לא אתחול) |
מ | תזכיר | כל טקסט ASCII (מאוחסן באופן פנימי כ-10 ספרות המייצגות מספר בלוק .dbt, מוצדק ימני, מרופד ברווחים לבנים) |
נ | מספרי | -, ., 0–9 (מוצדק מימין, מרופד ברווחים לבנים) |