aspose.info
LT

DBF – dBase duomenų bazės failas

Atnaujinta

Kas yra DBF failas?

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 failo tipas buvo pristatytas su dBASE II 1983 m. Jis sutvarko kelis duomenų įrašus su masyvo tipo laukais. xBase duomenų bazės programinė įranga, kuri yra populiari dėl suderinamumo su daugybe failų formatų; taip pat palaiko DBF failus.

DBF failo formatas

DBF failo formatas priklauso dBASE duomenų bazių valdymo sistemai, tačiau jis gali būti suderinamas su xBase ar kita DBVS programine įranga. Pradinė dbf failo versija buvo sudaryta iš paprastos lentelės, kurioje duomenys galėjo būti pridėti, modifikuoti, ištrinti arba atspausdinti naudojant ASCII simbolių rinkinį. Laikui bėgant .dbf buvo patobulintas ir buvo pridėta papildomų failų, siekiant padidinti duomenų bazių sistemos funkcijas ir galimybes.

Šiuolaikinėje dBASE DBF failą sudaro antraštė, duomenų įrašai ir EOF (failo pabaigos) žymeklis.

  • Antraštėje pateikiama informacija apie failą, pvz., įrašų skaičius ir įrašuose naudojamų laukų tipų skaičius.
  • Įrašuose yra faktiniai duomenys.
  • Failo pabaiga pažymėta vienu baitu, kurio reikšmė yra 0x1A.

Failo antraštė

Failo antraštės išdėstymas dBase pateiktas šioje lentelėje:

BaitasTurinysReikšmė
01 baitasGaliojantis dBASE DOS failui; bitai 0–2 nurodo versijos numerį, 3 bitai rodo, kad yra DOS atmintinės failo dBASE, 4–6 bitai nurodo SQL lentelės buvimą, 7 bitai nurodo bet kokio atmintinės failo buvimą (arba dBASE m PLUS, arba dBASE DOS)
1–33 baitaiPaskutinio atnaujinimo data; suformatuotas kaip YYMMDD
4–732 bitų numerisĮrašų skaičius duomenų bazės faile
8–916 bitų numerisBaitų skaičius antraštėje
10–1116 bitų numerisĮrašo baitų skaičius
12–132 baitaiRezervuota; užpildyti 0
141 baitasŽyma, nurodanti nebaigtą operaciją[1 pastaba]
151 baitasŠifravimo žyma[2 pastaba]
16–2712 baitųRezervuota dBASE, skirta DOS kelių vartotojų aplinkoje
281 baitasGamybos .mdx failo vėliavėlė; 1, jei yra gamybos .mdx failas, 0, jei nėra
291 baitasKalbos vairuotojo ID
30–312 baitaiRezervuota; užpildyti 0
32–n [3 pastaba][4 pastaba]po 32 baituslauko deskriptorių masyvas (dėl deskriptorių išdėstymo žr. toliau)
n + 11 baitas0x0D kaip lauko deskriptoriaus masyvo terminatorius
  • Funkcija ISMARKEDO patikrina šią žymą (OPERACIJOS PRADĖJIMAS nustato ją į 1, END TRANSACTION ir ROLLBACK nustato 0).
  • Jei ši vėliavėlė nustatyta į 1, pasirodo pranešimas Duomenų bazė užšifruota.
  • Maksimalus laukelių skaičius yra 255.
  • n reiškia paskutinį lauko deskriptorių masyvo baitą.

Lauko deskriptorių masyvas

Lauko aprašų išdėstymas dBASE:

BaitasTurinysReikšmė
0–1011 baitųLauko pavadinimas ASCII formatu (užpildytas nulis)
111 baitasLauko tipas. Leidžiamos reikšmės: C, D, F, L, M arba N (reikšmes rasite kitoje lentelėje)
12–154 baitaiRezervuota
161 baitasLauko ilgis dvejetainiu formatu (maksimalus 254 (0xFE)).
171 baitasLaukų dešimtainis skaičius dvejetainiais
18–192 baitaiDarbo zonos ID
201 baitasPavyzdys
21–3010 baitųRezervuota
311 baitasGamybos MDX lauko vėliavėlė; 1, jei lauke yra indekso žyma gamybos MDX faile, 0, jei ne

Duomenų bazės įrašai

Kiekvienas įrašas prasideda trynimo (1 baito) vėliavėle. Laukai suvyniojami į įrašus be laukų skyriklių. Visi lauko duomenys yra ASCII. Priklausomai nuo lauko tipo, programa nustato papildomų apribojimų. Štai dBase laukų tipai:

Lauko tipasMnemoninisKą ji priima
CCharakterisBet koks ASCII tekstas (papildytas tarpais iki lauko ilgio)
DDataSkaičiai ir simbolis, atskiriantys mėnesį, dieną ir metus (viduje saugomi kaip 8 skaitmenys MMMMMMDD formatu)
FSlankusis kablelis-, ., 0–9 (išlygintas dešinėje, užpildytas tarpais)
LLogiškaY, y, N, n, T, t, F, f arba ? (kai neinicijuota)
MAtmintinėBet koks ASCII tekstas (viduje saugomas kaip 10 skaitmenų, nurodančių .dbt bloko numerį, išlygintas dešinėje, užpildytas tarpais)
NSkaitinis-, ., 0–9 (išlygintas dešinėje, užpildytas tarpais)

Nuorodos Nr.

Taip pat žiūrėkite