DBF

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 16. marts 2021; checks kræver 7 redigeringer .

DBF (Data Base File)  er et datalagringsformat, der bruges som en af ​​standardmåderne til lagring af information i databasestyringssystemer .

Formatet blev udviklet af Wayne Ratliff (  (eng.) Wayne Ratliff ) til hans DBMS Vulcan ( eng.  Vulcan ), udviklet til OS CP/M og ikke meget brugt. Han blev almindeligt kendt med distributionen af ​​dBase II DBMS til DOS , skabt af ham hos Aston−Tate baseret på Vulcan med deltagelse af George Tate ( eng.  George Tate ) og Hal Lashley ( eng.  Hal Lashlee ).

I nye versioner - dBase III, dBase IV - blev formatet ændret og udvidet. På grund af enkelheden og lette behandlingen blev den også populær i forskellige DBMS, hvor deres formatudvidelser blev brugt. Sådanne kloner omtales med det generiske udtryk xBase . På grund af manglen på en standard kan ikke alle programmer læse og skrive en vilkårlig .DBF-fil korrekt.

Generel information

Hovedoplysningerne gemmes i en fil med endelsen .DBF [1] .

DBF-filen er opdelt i en header, som gemmer information om databasens struktur og antallet af poster (i nye versioner - og om nogle andre karakteristika, såsom den anvendte tegntabel ), og selve dataområdet, som er en sekventielt organiseret tabel med poster med fast længde. Records består af felter med fast længde.

Den første byte af filen indeholder formatversionsnummeret og udfyldningsbitmasken.

Posten starter med et sletteflag på én byte , mulige værdier er: space HEX : 20 og "*" HEX : 2A (posten er markeret til sletning). Den fysiske sletning af markerede poster udføres under " pakning "-operationen (i de fleste xBase DBMS  ved hjælp af PACK-kommandoen). Slettede poster kan gendannes, før databasen pakkes.

Pakning af en DBF-fil  er en procedure til fysisk sletning af poster, der er markeret til sletning fra en database i DBF-format. Den første pakningsmulighed (brugt i dBase II) er sortering af poster, når alle markeret til sletning flyttes til slutningen af ​​filen [2] . I senere udviklinger implementeres det normalt ved kun at kopiere gyldige poster (ikke markeret til sletning) fra kildefilen til den nye, efter at kopieringen er afsluttet, erstattes den gamle fil med den nye.

Yderligere filer, der dukkede op med udviklingen af ​​formatet (ikke alle er angivet) [3] :

Yderligere felter og indeksfiler er ikke uafhængige og kan ikke læses uden deres tilsvarende .DBF-fil. I denne forbindelse er deres beskrivelse normalt inkluderet som en del af beskrivelsen af ​​.DBF-formatet.

Historie

Wayne Ratliff begyndte at arbejde på filformatet til Vulcan DBMS i januar 1978, og i oktober 1979 udgav han Vulcan-programmet med den første version af .DBF-filer [4] .

I 1980 blev en ny version af programmet udgivet, ved hjælp af .DBF version 2, under det kommercielle navn dBase II, det blev solgt gennem Ashton-Tate , hvor en af ​​Ratliffs partnere arbejdede [4] .

Den anden version af formatet blev også brugt i dBase III, som udkom i 1984 [5] . Men allerede i dBase III+ (1985) [5] blev en ny, tredje version af DBF-formatet implementeret. dBase III og dBase III+ er filformatinkompatible [2] .

dBase IV, udgivet i 1988 [5] , brugte også en ny version af formatet - den fjerde.

Den femte version af DBF-formatet blev implementeret i 1994, da Borland udgav den seneste version af dBase til DOS, dBase V [6] .

Den syvende version af DBF udkom i 1997 med udgivelsen af ​​dBase 7 (kun Windows).

Formatbeskrivelse

Oplysninger om version 1-formatet brugt i Vulcan DBMS er ikke blevet bevaret. Det er kun kendt, at det maksimalt tilladte antal felter i en datapost var 16 [2] .

DBF version 2

Længden af ​​overskriften er 520 bytes, værdien af ​​versionsnummeret (den første byte af overskriften) er 2, det maksimale antal felter i dataposten er 32 [7] .

Nej. Byte Betyder
0 versionsnummer
1−2 Antal poster i filen (16-bit nummer Little endian )
3 År for sidste ændringsdato i filen
fire Måned for sidste ændringsdato i filen
5 Dagen for sidste ændringsdato i filen
6-7 Længden af ​​(hver) datapost i filen (16-bit nummer LE )
8-520 Et array af feltbeskrivelser (32 elementer á 16 bytes) afsluttet af et vognretur ( HEX : OD ).

Hvis filstrukturen har alle 32 indgange, er den 520. byte HEX : OD .

databaseposter
EOF Filen slutter med EOF, HEX : 1A

Strukturen af ​​feltbeskrivelsen i rækken af ​​feltbeskrivelser. Størrelse: 16 bytes.

Nej. Byte Betyder
0-10 Feltnavn: en streng fra 1 til 10 tegn i "alnum"-sættet og et afsluttende null-tegn ( HEX : 00 ), sædvanligvis er ekstra mellemrum fyldt med null-tegn.
elleve Felttype: C, N eller L (tegn, numerisk, boolesk)
12 Feltlængde
13-14 Feltadresse i  hukommelsen _
femten Felt decimaltal  _ _

Indtastningen begynder med et sletningsflag på én byte . En post markeres til sletning, hvis dens værdi er "*" ( HEX : 2a , stjernetegn). Den normale værdi er " " (mellemrum, HEX : 20 ).

DBF version 3

Siden dBase III+ har DBF-filformatet ændret sig dramatisk [2] [8] :

  • hovedændringen er overskriften med variabel længde;
  • den indledende byte indeholder en bitmaske: de tre mindst signifikante bits er versionsnummeret, bit 7 er tilstedeværelsen af ​​en .DBT-fil med felter af memotypen;
  • byte nummer 28 indeholder et tegn på tilstedeværelsen af ​​en indeksfil og dens type;
  • datatype D (Data) — dato i formatet ÅÅÅÅMMDD;
  • andre ændringer.
DBF version 4

Til dBase IV blev den fjerde version af DBF-formatet [9] udviklet . Forskelle fra tidligere:

  • bit 4 i versionsbyten betyder sammen med den syvende bit et nyt filformat med felter af memotypen, bit 4 til 6 er tegn på SQL-tabeller;
  • felttype F (float) 20 bytes lang — decimalt flydende decimaltal;
  • multi-indeks *.MDX-filer.


DBF version 5

dBase V bruger den femte version af DBF [10] formatet . Innovationer:

  • felttype B (binær) svarende til memo, men for vilkårlige data;
  • felttype G (Generelt) for OLE-objekter og lignende.
DBF version 7

Den syvende version af dBase bruger det nye DBF-format, også nummer 7, som er fundamentalt anderledes end de tidligere [9] [8] .

Oversigtstabel over versioner

DBF-filens nulbyte indeholder versionsnummeret for formatet [9] og bitattributter for yderligere filer [8] .

DBF filtype
0x02 dBase II og FoxBASE
0x03 FoxBASE+ eller dBase III+ uden "memo"-felter
0x30 Visuel FoxPro
0x31 Visual FoxPro med autoincrement
0x32 Visual FoxPro med Varchar og/eller Varbinary Type Fields
0x43 dBASE IV SQL tabelfil uden felter af typen "memo".
0x63 dBASE IV system SQL-fil uden felter af typen "memo".
0x83 FoxBASE+ eller dBase III+ med "memo"-felter
0x8B dBASE IV SQL tabelfil med felter af typen "memo".
0xCB dBASE IV system SQL-fil med felter af typen "memo".
0xF5 FoxPro før version 2.6 med felter af typen "memo".
0xE5 Clipper Six med SMT-fil (indeholder "memo" feltværdier)
0xFB Foxbase

Se også

Noter

  1. LoC .
  2. 1 2 3 4 Bachmann, 2010 .
  3. Bachmann, 2010 , Xbase: Liste over filudvidelser .
  4. 12 Powell , 1984 .
  5. 123 Esber . _ _
  6. dBase Classic .
  7. Bachmann, 2010 , Xbase: dBASE II-datafiler (*.dbf) .
  8. 1 2 3 dBase.com vidensbase .
  9. 1 2 3 Bachmann, 2010 , Xbase Datafil (*.dbf) .
  10. Videnskabelig databehandling .

Links

  • David B Powell Fra kælder til bestyrelseslokale  : dBase II-forfatter Wayne Ratliff fortæller om programmets historie, beskriver den nuværende succes og udforsker mulige anvendelser inden for kunstig intelligens: [ eng. ]  : log. // PC Magasinet. - 1984. - V. 3, nr. 2 (7. februar). — S. 131−135.
  • dBase II . Computerens historie . Hentet: 20. september 2018.
  • Encyclopedia of Microcomputers: [ eng. ] . - N. Y  .: Marcel Dekker, Inc., 1990. - V. 4: Computer-relaterede applikationer: Computational Linguistics to dBase / Executive editors Allen Kent, James G. Williams. - S. 398. - ISBN 9780824727031 . - ISBN 0-8247-2703-7 (bind 4).
  • Erik Bachmann. Xbase (& dBASE) Filformat  Beskrivelse . Clickety Click Software (27. februar 2010). Hentet 20. september 2018.  — Beskrivelse af Xbase (dBase) filformat
  • Datafilheaderstruktur for dBASE version 7  -tabelfilen . dBase.com . dBase LLC. Dato for adgang: 26. september 2018.
  • dBASE Table File Format (DBF  ) . Library of Congress (8. oktober 2012). Dato for adgang: 26. september 2018.
  • dBASE for Windows sprogreferencemanual. DBase-filstruktur  (engelsk)  (downlink) . Scientific Computing. Arkiveret fra originalen den 23. marts 2015.
  •  DBF -filstruktur . DBF Viewer 2000 . HiBase Group (19. april 2018). Dato for adgang: 26. september 2018.
  • dBASE  CLASSIC . dBase Classic . dBase, LLC. Dato for adgang: 26. september 2018.
  • Edward M. Esber, Jr. Ashton- Tate pressemeddelelser  . Dato for adgang: 26. september 2018.
  • SAURON-program til gendannelse af DBF-filer