Giới thiệu SQLite – SQLite là gì?

Trong bài học này sẽ giúp bạn hiểu SQLite là gì, nó khác với SQL như thế nào, tại sao nó lại cần thiết và cách thức xử lý Cơ sở dữ liệu ứng dụng như thế nào.

1. SQLite là gì?

SQLite là một thư viện phần mềm mà triển khai một SQL Database Engine, không cần máy chủ, không cần cấu hình, khép kín và nhỏ gọn. Nó là một cơ sở dữ liệu, không cần cấu hình, có nghĩa là giống như các cơ sở dữ liệu khác mà bạn không cần phải cấu hình nó trong hệ thống của mình.

SQLite engine không phải là một quy trình độc lập (standalone process) như các cơ sở dữ liệu khác, bạn có thể liên kết nó một cách tĩnh hoặc động tùy theo yêu cầu của bạn với ứng dụng của bạn. SQLite truy cập trực tiếp các file lưu trữ (storage files) của nó.

2. Tại sao lại là SQLite?

  • SQLite không yêu cầu một quy trình hoặc hệ thống máy chủ riêng biệt để hoạt động.
  • SQLite không cần cấu hình, có nghĩa là không cần thiết lập hoặc quản trị.
  • Một cơ sở dữ liệu SQLite hoàn chỉnh được lưu trữ trong một file disk đa nền tảng (cross-platform disk file).
  • SQLite rất nhỏ và trọng lượng nhẹ, dưới 400KiB được cấu hình đầy đủ hoặc dưới 250KiB với các tính năng tùy chọn bị bỏ qua.
  • SQLite là khép kín (self-contained), có nghĩa là không có phụ thuộc bên ngoài.
  • Các transaction trong SQLite hoàn toàn tuân thủ ACID, cho phép truy cập an toàn từ nhiều tiến trình (process) hoặc luồng (thread).
  • SQLite hỗ trợ hầu hết các tính năng ngôn ngữ truy vấn (query language) được tìm thấy trong tiêu chuẩn SQL92 (SQL2).
  • SQLite được viết bằng ANSI-C và cung cấp API đơn giản và dễ sử dụng.
  • SQLite có sẵn trên UNIX (Linux, Mac OS-X, Android, iOS) và Windows (Win32, WinCE, WinRT).

3. Lịch sử tóm tắt của SQLite

  • 2000 – D. Richard Hipp đã thiết kế SQLite cho mục đích không yêu cầu quản trị để vận hành chương trình.
  • 2000 – Vào tháng 8, SQLite 1.0 được phát hành với trình quản lý cơ sở dữ liệu GNU.
  • 2011 – Hipp tuyên bố bổ sung giao diện UNQl vào SQLite DB và phát triển UNQLite (Cơ sở dữ liệu hướng tài liệu – Document oriented database).

4. Hạn chế SQLite

Một số tính năng của SQL92 không được hỗ trợ trong SQLite được liệt kê trong bảng sau:

Bài viết này được đăng tại [kiso.vn]

STTĐặc điểmMô tả
1RIGHT OUTER JOINChỉ có LEFT OUTER JOIN được thực hiện.
2FULL OUTER JOINChỉ có LEFT OUTER JOIN được thực hiện.
3ALTER TABLECác biến thể RENAME TABLEADD COLUMN của lệnh ALTER TABLE được hỗ trợ. DROP COLUMN, ALTER COLUMN, ADD CONSTRAINT không được hỗ trợ.
4Trigger supportTrigger FOR EACH ROW được hỗ trợ nhưng không hỗ trợ FOR EACH STATEMENT.
5VIEWsVIEWs trong SQLite là chỉ đọc. Bạn không thể thực thi câu lệnh DELETEINSERT hoặc UPDATE trên một view.
6GRANT và REVOKECác quyền truy cập duy nhất có thể được áp dụng là các quyền truy cập file thông thường (normal file) của hệ điều hành.

5. SQLite Commands

Các lệnh SQLite tiêu chuẩn để tương tác với cơ sở dữ liệu quan hệ tương tự như SQL. Chúng là CREATE, SELECT, INSERT, UPDATE, DELETEDROP. Các lệnh này có thể được phân loại thành các nhóm dựa trên tính chất hoạt động của chúng như sau:

DDL – Ngôn ngữ định nghĩa dữ liệu (Data Definition Language)

LệnhMô tả
CREATETạo mới một bảng, view của bảng hoặc đối tượng khác trong cơ sở dữ liệu.
ALTERSửa đổi một đối tượng cơ sở dữ liệu đang tồn tại, chẳng hạn như bảng.
DROPXóa toàn bộ bảng, view của bảng hoặc đối tượng khác trong cơ sở dữ liệu.

DML – Ngôn ngữ thao tác dữ liệu (Data Manipulation Language)

LệnhMô tả
INSERTTạo một bản ghi (record)
UPDATESữa một bản ghi (record)
DELETEXóa một bản ghi (record)

DQL – Ngôn ngữ truy vấn dữ liệu (Data Query Language)

LệnhMô tả
SELECTLấy một số bản ghi nhất định từ một hoặc nhiều bảng.

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *