aspose.info
TH

รูปแบบไฟล์ SQLite

อัปเดตเมื่อ

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

ไฟล์ที่มีนามสกุล .sqlite เป็นไฟล์ฐานข้อมูล SQL ขนาดเล็กที่สร้างด้วยซอฟต์แวร์ SQLite เป็นฐานข้อมูลในไฟล์เองและใช้งานเอ็นจิ้นฐานข้อมูล SQL ที่มีอยู่ในตัวเอง มีคุณสมบัติครบถ้วน และมีความน่าเชื่อถือสูง ไฟล์ฐานข้อมูล SQLite สามารถใช้เพื่อแบ่งปันเนื้อหาที่หลากหลายระหว่างระบบโดยการแลกเปลี่ยนไฟล์เหล่านี้ผ่านเครือข่าย โทรศัพท์มือถือและคอมพิวเตอร์เกือบทั้งหมดใช้ SQLite เพื่อจัดเก็บและแบ่งปันข้อมูล และเป็นทางเลือกของรูปแบบไฟล์สำหรับแอปพลิเคชันข้ามแพลตฟอร์ม ด้วยการใช้งานที่กะทัดรัดและใช้งานง่าย จึงมาพร้อมกับแอพพลิเคชั่นอื่นๆ การเชื่อมโยง SQLite มีอยู่สำหรับภาษาการเขียนโปรแกรม เช่น C, C#, C++, Java, PHP, และอื่น ๆ อีกมากมาย.

รูปแบบไฟล์ SQLite

SQLite ในความเป็นจริงคือไลบรารีภาษา C ที่ใช้ SQLite RDBMS โดยใช้รูปแบบไฟล์ SQLite ด้วยวิวัฒนาการของอุปกรณ์ใหม่ๆ ทุกวัน รูปแบบไฟล์ของมันจึงคงความเข้ากันได้แบบย้อนกลับเพื่อรองรับอุปกรณ์รุ่นเก่า รูปแบบไฟล์ SQLite ถูกมองว่าเป็นรูปแบบการเก็บถาวรระยะยาวสำหรับข้อมูล

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

ฐานข้อมูล SQLite ได้รับการดูแลอย่างสมบูรณ์ผ่านไฟล์สองไฟล์

  • ไฟล์ฐานข้อมูลหลัก - มีสถานะที่สมบูรณ์ของฐานข้อมูล SQLite
  • Rollback Journal - เก็บข้อมูลเพิ่มเติมในไฟล์ที่สองและใช้ในระหว่างการทำธุรกรรม ในกรณีที่ SQLite อยู่ในโหมด WAL ไฟล์บันทึกหัวเขียนจะถูกรักษาไว้

ไฟล์วารสาร

ไฟล์นี้มีจุดประสงค์เพื่อเก็บข้อมูลทั้งหมดไว้ในกรณีที่การทำธุรกรรมครั้งล่าสุดไม่สามารถทำได้ เช่น คอมพิวเตอร์ขัดข้อง ไฟล์นี้ใช้เพื่อกู้คืนไฟล์ฐานข้อมูลให้อยู่ในสถานะที่สอดคล้องกัน

หน้า

ไฟล์ฐานข้อมูล SQLite หลักประกอบด้วยหนึ่งเพจขึ้นไป ณ เวลาใดๆ ทุกหน้าในฐานข้อมูลหลักมีการใช้งานเพียงครั้งเดียว ซึ่งเป็นหนึ่งในสิ่งต่อไปนี้:

  • หน้าล็อคไบต์
  • หน้ารายการฟรี
  • หน้าลำต้นของรายการอิสระ
  • หน้าใบรายการฟรี
  • หน้า b-tree
  • หน้าตาราง b-tree ภายใน
  • ตารางข-ต้นไม้ใบหน้า
  • หน้าภายใน b-tree ดัชนี
  • หน้าใบดัชนี b-tree
  • หน้าล้นเพย์โหลด
  • หน้าแผนที่ตัวชี้

ขนาดของไฟล์ฐานข้อมูล SQLite มีตั้งแต่ไม่กี่กิโลไบต์ไปจนถึงไม่กี่กิกะไบต์

ส่วนหัวของ SQLite

ส่วนหัวของฐานข้อมูล SQLite อยู่ใน 100 ไบต์แรกของไฟล์ฐานข้อมูล ไฟล์ฐานข้อมูล SQLite ที่ถูกต้องทุกไฟล์เริ่มต้นด้วย 16 ไบต์ (ในฐานสิบหก):53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00 รายละเอียดของฟิลด์ส่วนหัวมีดังในตารางต่อไปนี้

ออฟเซ็ตขนาดรายละเอียด
016สตริงส่วนหัว: “รูปแบบ SQLite 3\000”
162ขนาดหน้าฐานข้อมูลเป็นไบต์ ต้องเป็นเลขยกกำลังสองระหว่าง 512 ถึง 32768 หรือค่า 1 แทนขนาดหน้า 65536
181เวอร์ชันเขียนของรูปแบบไฟล์ 1 สำหรับมรดก; 2 สำหรับ WAL.
191รูปแบบไฟล์ เวอร์ชันที่อ่าน 1 สำหรับมรดก; 2 สำหรับ WAL.
201ไบต์ของพื้นที่ “สงวน” ที่ไม่ได้ใช้ที่ส่วนท้ายของแต่ละหน้า มักจะเป็น 0.
211เศษส่วนของเพย์โหลดสูงสุดที่ฝังไว้ ต้องเป็น 64.
221เศษส่วนของเพย์โหลดขั้นต่ำที่ฝังไว้ ต้องมีอายุ 32 ปี
231ลีฟส่วนของน้ำหนักบรรทุก ต้องมีอายุ 32 ปี
244ตัวนับการเปลี่ยนแปลงไฟล์
284ขนาดของไฟล์ฐานข้อมูลเป็นหน้าๆ “ขนาดฐานข้อมูลในส่วนหัว”.
324หมายเลขหน้าของหน้าแรกของรายการฟรีรายการแรก
364จำนวนหน้ารายการอิสระทั้งหมด
404คุกกี้สคีมา
444หมายเลขรูปแบบสคีมา รูปแบบสคีมาที่รองรับคือ 1, 2, 3 และ 4
484ขนาดแคชของหน้าเริ่มต้น
524หมายเลขหน้าของหน้า b-tree รากที่ใหญ่ที่สุดเมื่ออยู่ในโหมดสุญญากาศอัตโนมัติหรือโหมดสุญญากาศส่วนเพิ่ม หรือเป็นศูนย์
564การเข้ารหัสข้อความของฐานข้อมูล ค่า 1 หมายถึง UTF-8 ค่า 2 หมายถึง UTF-16le ค่า 3 หมายถึง UTF-16be.
604“เวอร์ชันผู้ใช้” ตามที่อ่านและตั้งค่าโดย user_version pragma
644จริง (ไม่ใช่ศูนย์) สำหรับโหมดสุญญากาศส่วนเพิ่ม มิฉะนั้นจะเป็นเท็จ (ศูนย์)
684“รหัสแอปพลิเคชัน” ที่กำหนดโดย PRAGMA application_id
7220สงวนไว้สำหรับการขยาย ต้องเป็นศูนย์
924เวอร์ชันที่ใช้ได้สำหรับหมายเลข
964SQLITE_VERSION_NUMBER

อ้างอิง

ดูเพิ่มเติม