View trong SQL Server 2014 (Bài 8) – Gia Sư Tin Học

View trong sql server 2014 là một bảng ảo chứa kết quả từ câu lệnh SELECT. Tương tự như table, một view bao gồm nhiều dòng và nhiều cột.

View thường được sử dụng để giới hạn quyền truy cập vào dữ liệu. Chẳng hạn, một người dùng có thể xem và đôi khi sửa đổi chính xác những gì họ cần.

Ngoài ra, sử dụng view để tổng hợp dữ liệu từ các bảng khác nhau và có thể được sử dụng để tạo các báo cáo.

View trong sql server 2014 – Tạo views

Chúng ta sử dụng câu lệnh CREATE VIEW để tạo view trong sql server. View có thể được tạo từ một bảng, nhiều bảng hoặc những view khác.

Cú pháp tạo view trong sql server

CREATE VIEW tên_view AS
SELECT column1, column2.....
FROM tên_bảng
[WHERE điều_kiện];

Bạn có thể bao gồm nhiều bảng trong câu lệnh SELECT tương tự như bạn đã sử dụng chúng trong bài học Xem dữ liệu trong SQL Server 2014

View trong sql server 2014 – Ví dụ tạo view trong sql server

Xem bảng NHANVIEN có các bản ghi sau

view trong sql server 2014

Bây giờ, chúng ta sẽ tạo view từ bảng NHANVIEN. View này sẽ có MaNv và TenNV:

CREATE VIEW v_nhanvien AS
SELECT MaNv, TenNv
FROM NHANVIEN

Bây giờ, chúng ta có thể truy vấn v_nhanvien tương tự như cách mà chúng ta truy vấn bảng.

SELECT * FROM v_nhanvien

Việc này sẽ tạo ra kết quả sau:

View trong sql server 2014 – WITH CHECK OPTION

Mục đích của WITH CHECK OPTION là đảm bảo rằng tất cả thao tác UPDATE và INSERT đều thỏa mãn các điều kiện trong định nghĩa view. Nếu không thỏa điều kiện UPDATE hoặc INSERT sẽ trả về lỗi.

Ví dụ sử dụng WITH CHECK OPTION

CREATE VIEW v_nhanvien AS
SELECT MaNv, TenNv
FROM NHANVIEN

WHERE TenNv IS NOT NULL

WITH CHECK OPTION

WITH CHECK OPTION trong trường hợp này, không cho phép nhập giá trị NULL cho cột TenNv

View trong sql server 2014 – Thêm dữ liệu vào view

Những dòng dữ liệu có thể được chèn vào view tương tự như cách mà bạn thêm vào bảng. Khi chún ta thực hiện thêm dữ liệu vào view, dữ liệu đó cũng sẽ được thêm vào bảng có liên quan.

Chẳng hạn khi chúng ta thêm dữ liệu cho v_nhanvien, dữ liệu này cũng sẽ đồng thời được thêm vào bảng NHANVIEN.

Câu lệnh thêm dữ liệu vao view

INSERT INTO tên_view values(value1, value2,...)

View trong sql server 2014 – Xóa dữ liệu trong view

Để xóa dữ liệu trong view, chúng ta có thể sử dụng câu lệnh DELETE. Lưu ý, có sự liên quan giữa view và table. Nên khi chúng ta xóa dữ liệu trong view, table liên quan cũng sẽ bị ảnh hưởng.

Câu lệnh xóa dữ liệu trong view

DELETE * FROM tên_view
[WHERE điều_kiện]

View trong sql server 2014 – Xóa view khỏi database

Cú pháp xóa view

DROP VIEW tên_view

Ví dụ xóa v_nhanvien

DROP VIEW v_nhanvien

View trong sql server 2014 – Bài tập thực hành

Sử dụng cơ sở dữ liệu QuanLyBanHang

Tạo các view sau

Câu 1. Tạo view có tên vw_CTPNHAP bao gồm các thông tin sau: số phiếu nhập hàng, mã vật tư, số lượng nhập, đơn giá nhập, thành tiền nhập.

Câu 2. Tạo view có tên vw_CTPNHAP_VT bao gồm các thông tin sau: số phiếu nhập hàng, mã vật tư, tên vật tư, số lượng nhập, đơn giá nhập, thành tiền nhập.

Câu 3. Tạo view có tên vw_CTPNHAP_VT_PN bao gồm các thông tin sau: số phiếu nhập hàng, ngày nhập hàng, số đơn đặt hàng, mã vật tư, tên vật tư, số lượng nhập, đơn giá nhập, thành tiền nhập.

Câu 4. Tạo view có tên vw_CTPNHAP_VT_PN_DH bao gồm các thông tin sau: số phiếu nhập hàng, ngày nhập hàng, số đơn đặt hàng, mã nhà cung cấp, mã vật tư, tên vật tư, số lượng nhập, đơn giá nhập, thành tiền nhập.

Câu 5. Tạo view có tên vw_CTPNHAP_loc  bao gồm các thông tin sau: số phiếu nhập hàng, mã vật tư, số lượng nhập, đơn giá nhập, thành tiền nhập. Và chỉ liệt kê các chi tiết nhập có số lượng nhập > 5.

Câu 6. Tạo view có tên vw_CTPNHAP_VT_loc bao gồm các thông tin sau: số phiếu nhập hàng, mã vật tư, tên vật tư, số lượng nhập, đơn giá nhập, thành tiền nhập. Và chỉ liệt kê các chi tiết nhập vật tư có đơn vị tính là Bộ.

Câu 7. Tạo view có tên vw_CTPXUAT bao gồm các thông tin sau: số phiếu xuất hàng, mã vật tư, số lượng xuất, đơn giá xuất, thành tiền xuất.

Câu 8. Tạo view có tên vw_CTPXUAT_VT bao gồm các thông tin sau: số phiếu xuất hàng, mã vật tư, tên vật tư, số lượng xuất, đơn giá xuất.

Câu 9. Tạo view có tên vw_CTPXUAT_VT_PX bao gồm các thông tin sau: số phiếu xuất hàng, tên khách hàng, mã vật tư, tên vật tư, số lượng xuất, đơn giá xuất.