aspose.info
EL

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 (Τέλος αρχείου).

  • Η κεφαλίδα περιέχει πληροφορίες σχετικά με το αρχείο, όπως τον αριθμό των εγγραφών και τον αριθμό των τύπων πεδίων που χρησιμοποιούνται στις εγγραφές.
  • Οι εγγραφές περιέχουν τα πραγματικά δεδομένα.
  • Το τέλος του αρχείου επισημαίνεται με ένα μόνο byte, με τιμή 0x1A.

Κεφαλίδα αρχείου

Η διάταξη της κεφαλίδας αρχείου στο dBase δίνεται στον παρακάτω πίνακα:

ByteΠεριεχόμεναΣημασία
01 byteΈγκυρο αρχείο dBASE για DOS. τα bit 0–2 υποδηλώνουν τον αριθμό έκδοσης, το bit 3 υποδηλώνει την παρουσία ενός αρχείου υπομνήματος dBASE για DOS, τα bit 4–6 υποδηλώνουν την παρουσία ενός πίνακα SQL, το bit 7 υποδηλώνει την παρουσία οποιουδήποτε αρχείου σημείωσης (είτε dBASE m PLUS είτε dBASE για DOS)
1–33 byteΗμερομηνία τελευταίας ενημέρωσης. μορφοποιημένο ως YYMMDD
4–7Αριθμός 32 bitΑριθμός εγγραφών στο αρχείο βάσης δεδομένων
8–9Αριθμός 16 bitΑριθμός byte στην κεφαλίδα
10–11Αριθμός 16 bitΑριθμός byte στην εγγραφή
12–132 byteΚατοχυρωμένα; γεμίζω με 0
141 byteΣημαία που υποδεικνύει μη ολοκληρωμένη συναλλαγή[σημείωση 1]
151 byteΣημαία κρυπτογράφησης[σημείωση 2]
16–2712 byteΜε κράτηση για dBASE για DOS σε περιβάλλον πολλών χρηστών
281 byteΣημαία αρχείου παραγωγής .mdx. 1 εάν υπάρχει αρχείο παραγωγής .mdx, 0 εάν όχι
291 byteΑναγνωριστικό προγράμματος οδήγησης γλώσσας
30–312 byteΚατοχυρωμένα; γεμίζω με 0
32–n [σημείωση 3][σημείωση 4]32 byte το καθέναπίνακας περιγραφέων πεδίων (δείτε παρακάτω για διάταξη περιγραφέων)
n + 11 byte0x0D ως τερματιστής πίνακα περιγραφής πεδίου
  • Η συνάρτηση ISMARKEDO ελέγχει αυτήν τη σημαία (Η ΕΝΑΡΞΗ ΣΥΝΑΛΛΑΓΗΣ την ορίζει σε 1, ΤΕΛΕΙΩΣΗ ΣΥΝΑΛΛΑΓΗΣ και ROLLBACK την επαναφέρει στο 0).
  • Εάν αυτή η σημαία έχει οριστεί σε 1, εμφανίζεται το μήνυμα Database encrypted.
  • Ο μέγιστος αριθμός πεδίων είναι 255.
  • n σημαίνει το τελευταίο byte στον πίνακα περιγραφών πεδίου.

Πίνακας περιγραφέων πεδίων

Διάταξη περιγραφέων πεδίων σε dBASE:

ByteΠεριεχόμεναΣημασία
0–1011 byteΌνομα πεδίου σε ASCII (μηδενικό)
111 byteΤύπος πεδίου. Επιτρεπόμενες τιμές: C, D, F, L, M, ή N (δείτε τον επόμενο πίνακα για τις έννοιες)
12–154 byteΜε κράτηση
161 byteΜήκος πεδίου σε δυαδικό (μέγιστο 254 (0xFE)).
171 byteΔεκαδικός αριθμός πεδίου σε δυαδικό
18–192 byteΤαυτότητα χώρου εργασίας
201 byteΠαράδειγμα
21–3010 byteΜε κράτηση
311 byteΣημαία πεδίου παραγωγής MDX. 1 εάν το πεδίο έχει μια ετικέτα ευρετηρίου στο αρχείο MDX παραγωγής, 0 εάν όχι

Εγγραφές βάσης δεδομένων

Κάθε εγγραφή ξεκινά με μια σημαία διαγραφής (1 byte). Τα πεδία είναι τυλιγμένα σε εγγραφές χωρίς διαχωριστικά πεδίων. Όλα τα δεδομένα πεδίου είναι ASCII. Ανάλογα με τον τύπο του πεδίου, η εφαρμογή επιβάλλει περαιτέρω περιορισμούς. Ακολουθούν οι τύποι πεδίων στο dBase:

Τύπος πεδίουΜνημονικήΤι δέχεται
CΧαρακτήραςΟποιοδήποτε κείμενο ASCII (συμπληρωμένο με κενά μέχρι το μήκος του πεδίου)
DΗμερομηνίαΑριθμοί και χαρακτήρας για διαχωρισμό του μήνα, της ημέρας και του έτους (αποθηκευμένα εσωτερικά ως 8 ψηφία σε μορφή ΕΕΕΕΜΜΗΔ)
FΠλωτό σημείο-, ., 0–9 (δεξιά δικαιολογημένα, συμπληρωμένα με κενά)
LΛογικόY, y, N, n, T, t, F, f, ή ? (όταν δεν έχει αρχικοποιηθεί)
MΥπόμνημαΟποιοδήποτε κείμενο ASCII (αποθηκευμένο εσωτερικά ως 10 ψηφία που αντιπροσωπεύουν έναν αριθμό μπλοκ .dbt, αιτιολογημένος δεξιά, συμπληρώνεται με κενά)
NΑριθμητικό-, ., 0–9 (δεξιά δικαιολογημένα, συμπληρωμένα με κενά)

Βιβλιογραφικές αναφορές

Δείτε επίσης