Trong bài viết này, bộ môn Ứng dụng phần mềm, Cao đẳng FPT Polytechnic sẽ hướng dẫn các bạn tìm hiểu những thao tác cơ bản với một View như khởi tạo, xoá, và cập nhật View.
GIỚI THIỆU VIEW
Trong rất nhiều trường hợp bạn chỉ muốn hiển thị ra 1 phần thông tin được lấy từ 1 hoặc nhiều bảng dl hay muốn hạn chế quyền truy cập vào các dữ liệu trong cơ sở dữ liệu (csdl), hoặc muốn kết xuất báo cáo được lấy dl từ nhiều những hàm, sử dụng những công thức khác nhau.
Trong SQL điều này hoàn toàn có thể được thực hiện bằng các câu lệnh truy vấn Select, nhưng ngoài ra còn có 1 công cụ rất mạnh mẽ và hữu ích khác nữa đó chính là View.
View là câu lệnh được cung cấp trong các hệ quản trị SQL như: SQL Server (các phiên bản), Oracle, MySQL…
View giúp ta tạo ra các bảng Ảo (Virtual Table) chứa các thông tin, dữ liệu đã được lữu trư sẵn cho người dùng sử dụng. Tuy nhiên, View không tồn tại như một cấu trúc lưu trữ dữ liệu trong csdl. Các View thường được sử dụng với các mục đích sau đây:
- Sử dụng View để tập trung trên dữ liệu được xác định.
- Sử dụng View để đơn giản hóa thao tác dữ liệu
- Sử dụng View để tùy biến dữ liệu.
- Sử dụng View để trích xuất dữ liệu tạo báo cáo.
- Sử dụng View để bảo mật dữ liệu, che giấu thông tin.
Có 2 loại View:
- View bình thường: Bản chất chỉ là một table ảo, được định nghĩa bằng 1 câu lệnh truy vấn
- View có chứa dữ liệu: View có chứa dữ liệu nói chính xác hơn là dữ liệu trong View được lưu physical. Lúc này view sẽ lưu dữ liệu, và bất kì sự thay đổi nào ở các bảng liên quan cũng dẫn đến việc thay đổi, tính toán lại View.
CÂU LỆNH VỚI VIEW TRONG SQL SERVER:
- Tạo view trong sql Server:
Sử dụng cơ sở dữ liệu quản lý dự án:
Để tạo tạo view trong sql server ta sử dụng câu lệnh CREATE VIEW, View có thể được tạo từ một bảng, nhiều bảng hoặc những view khác.
Tạo view trên 1 bảng:
Cú pháp:
CREATE VIEW tên_view AS
SELECT column1, column2…..
FROM tên_bảng
[WHERE điều_kiện];
Bảng NHANVIEN có các bản ghi như sau:
Bây giờ, sẽ tạo view từ bảng NHANVIEN này. View này sẽ có ID_NhanVien, HO_NV, TEN_NV, GIOI_TINH và PHG(mã phòng ban):
CREATE VIEW v_nhanvien AS
SELECT ID_NhanVien, HO_NV, TEN_NV, GIOI_TINH, PHG
FROM NHAN_VIEN
Sau khi thực hiện câu lệnh thành công ta có thể tìm thấy View được tạo trong thư mục view của SQL Server:
Bây giờ có thể thực hiện câu lệnh truy vấn View v_nhanvien tương tự như cách mà chúng ta vẫn truy vấn dữ liệu từ các table:
SELECT * FROM v_nhanvien
Và kết quả là:
- Thêm dữ liệu vào View:
Dữ liệu có thể được chèn thêm vào view tương tự như cách mà ta thêm dữ liêu vào table.
Lưu ý: Khi chúng ta thực hiện thêm dữ liệu vào View, dữ liệu đó cũng sẽ được thêm vào Table có liên quan.
Ví dụ khi 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
INSERT INTO v_nhanvien ([ID_NhanVien], [HO_NV], [TEN_NV]
, [GIOI_TINH], [PHG])
VALUES (12,’Hoang’,’Quoc Viet’, 1,’UDPM’);
Dữ liệu vừa insert vào trong View cũng sẽ đồng thời xuất hiện trong Table
- Xóa dữ liệu trong View:
Để xóa dữ liệu trong view, ta vẫn sử dụng câu lệnh DELETE như xóa dữ liệu trong Table.
Lưu ý: vì có sự liên quan giữa View và Table nên khi 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 v_nhanvienWHERE ID_NhanVien = 12
Sau khi thực hiện câu lệnh thành công, sẽ không còn thấy bản ghi có ID_NhanVien=12 nữa, đồng thời trong bản NHAN_VIEN dữ liệu cũng sẽ mất:
- Xóa View khỏi Database:
Trong trường hợp View bị lỗi hay không còn muốn sử dụng View này nữa, ta sẽ tiến hành xóa View đó khỏi database bằng câu lệnh Drop View giống như Drop Table. Lúc đó View sẽ mất khỏi thư mục View trong database của sql Server:
DROP VIEW v_nhanvien
Chúc các bạn thành công!
Bộ môn Ứng dụng phần mềm Cao đẳng FPT Polytechnic Hà Nội
Tôi là Nguyễn Văn Sỹ có 15 năm kinh nghiệm trong lĩnh vực thiết kế, thi công đồ nội thất; với niềm đam mê và yêu nghề tôi đã tạo ra những thiết kếtuyệt vời trong phòng khách, phòng bếp, phòng ngủ, sân vườn… Ngoài ra với khả năng nghiên cứu, tìm tòi học hỏi các kiến thức đời sống xã hội và sự kiện, tôi đã đưa ra những kiến thức bổ ích tại website nhaxinhplaza.vn. Hy vọng những kiến thức mà tôi chia sẻ này sẽ giúp ích cho bạn!