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ệuDocument 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:

STT Đặc điểm Mô tả
1 RIGHT OUTER JOIN Chỉ có LEFT OUTER JOIN được thực hiện.
2 FULL OUTER JOIN Chỉ có LEFT OUTER JOIN được thực hiện.
3 ALTER TABLE Cá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ợ.
4 Trigger support Trigger FOR EACH ROW được hỗ trợ nhưng không hỗ trợ FOR EACH STATEMENT.
5 VIEWs VIEWs 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.
6 GRANT và REVOKE Cá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ệnh Mô tả
CREATE Tạ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.
ALTER Sửa đổi một đối tượng cơ sở dữ liệu đang tồn tại, chẳng hạn như bảng.
DROP Xó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ệnh Mô tả
INSERT Tạo một bản ghi (record)
UPDATE Sữa một bản ghi (record)
DELETE Xóa một bản ghi (record)

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

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

-------------------#####-------------------

Loạt bài SQLite được biên dịch từ TutorialsPoint.

Khóa học nên xem

Nguồn: freetuts.net