Một view là không gì khác ngoài môt lệnh SQLite mà được lưu giữ trong Database với một tên liên kết. Một view thực sự là một thành phần của một bảng trong form của một truy vấn SQLite đã được định nghĩa trước.
Một view có thể chứa tất cả các hàng của một bảng hoặc các hàng đã được chọn từ một bảng. Một view có thể được tạo từ một hoặc nhiều bảng, phụ thuộc vào truy vấn SQLite đã viết để tạo một view.
View, về bản chất giống các Virtual Table (bảng ảo), cho phép người dùng thực hiện:
- Cấu trúc dữ liệu theo cách mà người dùng tìm thấy tính tự nhiên hoặc tính trực quan.
- Giới hạn truy cập tới dữ liệu để mà một người dùng có thể thấy và (đôi khi) sửa đổi một cách chính xác nhưng gì họ cần.
- Tổng kết dữ liệu từ các bảng đa dạng để tạo các bản báo cáo.
View trong SQLite là read-only và vì thế bạn không thể thực thi một lệnh DELETE, INSERT hoặc UPDATE trên một View. Nhưng bạn có thể tạo một Trigger trên một View mà kích hoạt trên một nỗ lực để DELETE, INSERT hoặc UPDATE một View và thực hiện những gì cần thiết trong phần thân Trigger đó.
Tạo View trong SQLite
View trong SQLite được tạo bởi sử dụng lệnh CREATE VIEW. Các View có thể được tạo từ một bảng đơn, nhiều bảng hoặc từ view khác.
Cú pháp cơ bản của lệnh CREATE VIEW trong SQLite là như sau:
CREATE [TEMP | TEMPORARY] VIEW view_name AS
SELECT column1, column2.....
FROM table_name
WHERE [condition];
Bạn có thể bao nhiều bảng trong lệnh SELECT theo cách tương tự như bạn sử dụng chúng trong truy vấn SELECT thông thường. Nếu từ khóa tùy ý TEMP hoặc TEMPORARY có mặt, View sẽ được tạo trong cơ sở dữ liệu tạm thời TEMP.
Ví dụ
Bạn theo dõi bảng COMPANY có các bản ghi sau:
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
Bây giờ là một ví dụ để tạo một view từ bảng này. View này sẽ được sử dụng để có một số cột từ bảng này.
sqlite> CREATE VIEW COMPANY_VIEW AS
SELECT ID, NAME, AGE
FROM COMPANY;
Bây giờ, bạn có thể truy vấn COMPANY_VIEW theo cách tương tự bạn truy vấn một bảng thực sự. Sau đây là ví dụ:
sqlite> SELECT * FROM COMPANY_VIEW;
Ví dụ trên sẽ cho kết quả:
ID NAME AGE
---------- ---------- ----------
1 Paul 32
2 Allen 25
3 Teddy 23
4 Mark 25
5 David 27
6 Kim 22
7 James 24
Xóa View trong SQLite
Rõ ràng là, khi bạn đã có một view, và không cần thiết sử dụng view này nữa thì điều cần làm là xóa chúng đi. Để xóa một View, bạn sử dụng lệnh DROP VIEW với view_name trong SQLite. Cú pháp cơ bản để xóa view trong SQLite như sau:
sqlite> DROP VIEW view_name;
Ví dụ sau để xóa COMPANY_VIEW đã được tạo trước đó.
sqlite> DROP VIEW COMPANY_VIEW;