Chế độ View trong SQL là một dạng tập hợp con logic của database từ một hoặc nhiều bảng. Chế độ này được sử dụng để hạn chế quyền truy cập dữ liệu. View không chứa dữ liệu của riêng nó nhưng nó giống như một cửa sổ mà qua đó database từ các bảng có thể được xem hoặc thay đổi và bảng đó được gọi là Bảng cơ sở (BASE Tables).

View rất hữu dụng khi bạn muốn cho nhiều người truy cập ở các permission khác nhau. Cụ thể là:

  • Hạn chế truy cập tới các Table cụ thể. Chỉ cho phép được xem qua View.

  • Hạn chế truy cập vào vào Column của Table. Khi truy cập thông qua View bạn không thể biết được tên Column mà View đó truy cập vào.

  • Liên kết các Column từ rất nhiều Table vào thành Table mới được thể hiện qua View.

  • Trình bày các thông tin tổng hợp (VD: sử dụng funtion như COUNT, SUM, ...)

Có hai chế độ xem trong SQL là Simple và Complex. Chế độ xem Simple chỉ chứa một bảng cơ sở duy nhất. Còn Complex có thể được xây dựng nhiều hơn một bảng cơ sở. Cụ thể, các dạng xem phức hợp có thể chứa: điều kiện tham gia, nhóm theo mệnh đề, thứ tự theo mệnh đề.

Dưới đây là sự khác biệt chính giữa hai chế độ này:

STT

Chế độ Simple

Chế độ Complex

1

Chỉ chứa một bảng cơ sở duy nhất hoặc được tạo từ chỉ một bảng.

Chứa nhiều hơn một bảng cơ sở hoặc được tạo từ nhiều hơn một bảng.

2

Không thể sử dụng các group function như MAX(), COUNT(), v.v. 

Có thể sử dụng group function

3

Không chứa các nhóm dữ liệu.

Có thể chứa các nhóm dữ liệu

4

Các hoạt động DML có thể được thực hiện thông qua một chế độ xem đơn giản.

Các hoạt động DML không phải lúc nào cũng có thể được thực hiện thông qua chế độ này.

5

Có thể trực tiếp INSERT, DELETE và UPDATE 

Không thể áp dụng INSERT, DELETE và UPDATE trực tiếp

6

Chế độ này không chứa group by, distinct, cột pseudocolumn như rownum, hay các cột được xác định bởi các biểu thức.

Ngược lại với chế độ simple

7

Không bao gồm các cột NOT NULL từ các bảng cơ sở.

Các cột NOT NULL không thể chọn được từ chế độ xem đơn giản thì ở chế độ này có thể làm được

8

Không cần áp dụng các liên kết chính vì chỉ có một bảng.

Do có nhiều bảng liên quan đến các liên kết chung cần được áp dụng, chẳng hạn như điều kiện, group by hoặc mệnh đề theo thứ tự.

9

Ví dụ:


CREATE VIEW Employee AS

SELECT Empid, Empname

FROM Employee

WHERE Empid = ‘030314’;

Ví dụ:


CREATE VIEW EmployeeByDepartment AS


SELECT e.emp_id, d.dept_id, e.emp_name FROM Employee e, Department d WHERE e.dept_id=d.dept_id;

VietnamWorks inTECH

TẠO TÀI KHOẢN MỚI: XEM FULL “1 TÁCH CODEFEE” - NHẬN SLOT TƯ VẤN CV TỪ CHUYÊN GIA - CƠ HỘI RINH VỀ VOUCHER 200K