Trong bài này bạn sẽ được học về view
và các thao tác quản lý view như: tạo view, xóa view, cập nhật dữ liệu cho view, và cuối cùng là các kiến thức liên quan như cơ chế hoạt động của view.
Bài viết này được đăng tại
freetuts.net
Bạn đang đọc: Cách sử dụng VIEW trong SQL Server – Freetuts
, không được copy dưới mọi hình thức.
Tóm Tắt
1. View là gì?
Đặt vấn đề: Giả sử bạn là một nhà quản trị database (DBA) và bạn có nhiệm vụ mỗi cuối ngày sẽ lấy danh sách đơn hàng của hôm đó gửi lên cho leader.
Như vậy mỗi ngày bạn sẽ phải viết một câu truy vấn để lấy tài liệu, hoặc bạn sẽ phải lưu câu SQL đó vào một file txt rồi mỗi khi cần thì copy và execute .
Giải pháp trên liệu có hay ? Rất may là SQL Server cho bạn tàng trữ câu SQL trải qua view, nghĩa là bạn sẽ tạo một view dựa vào cấu trúc câu SQL đó và sau này mỗi khi cần lấy đơn hàng thì chỉ việc lấy trong view là được .Bài viết này được đăng tại [ không tính tiền tuts. net ]
View cũng là một table nhưng công dụng của nó là chỉ để đọc, nên bạn không hề thực thi những thao tác như insert, update hay delete trên view .
2. Tạo View trong SQL Server
Giả sử ta có hai bảng products
và brands
, bây giờ mình cần lấy danh sách tất cả sản phẩm kèm theo thương hiệu tương ứng của mỗi sản phẩm thì sẽ viết câu truy vấn như sau:
SELECT product_name, brand_name, list_price FROM production.products p INNER JOIN production.brands b ON b.brand_id = p.brand_id;
Và để tạo view cho câu SQL này thì ta viết như sau :
CREATE VIEW sales.product_info AS SELECT product_name, brand_name, list_price FROM production.products p INNER JOIN production.brands b ON b.brand_id = p.brand_id;
Trong đó product_info
là tên của view và sales
là tên của schema
.
Sau này khi muốn lấy list mẫu sản phẩm và tên thương hiệu của nó thì mình chỉ cần chạy câu SQL sau :
SELECT * FROM sales.product_info;
Rất đơn thuần phải không những bạn, không cần phải nhớ câu SQL dài dòng trên kia .
Mỗi một view hoàn toàn có thể tàng trữ tài liệu của nhiều table khác nhau vì nó là tác dụng của câu truy vấn SELECT, đây chính là ưu điểm khiến view trở nên can đảm và mạnh mẽ .
3. Các tính năng của View
Nói chung khi bạn sử dụng View thì sẽ có những lợi thế sau :
Về bảo mật
Bạn hoàn toàn có thể hạn chế người dùng truy vấn trực tiếp vào table, thay vào đó cho họ truy vấn trải qua view nên sẽ bảo đảm an toàn hơn. Tại sao ? Tại vì view chỉ là một khung nhìn nên chỉ được cho phép đọc được thông tin tồn trại trong view, không được xem thêm thông tin hoặc biến hóa tài liệu .
Ví dụ bạn có thể cho phép người dùng truy cập tên khách hàng, điện thoại, email thông qua chế độ xem nhưng hạn chế họ truy cập vào tài khoản ngân hàng và các thông tin nhạy cảm khác.
Đơn giản hóa
Khi viết câu truy vấn với nhiều bảng thì sẽ rất phức tạp, ban phải test nhiều thì mới chắc như đinh là ra tác dụng đúng, cũng có khi chưa chắc đúng. Tuy nhiên nếu tích hợp view thì bạn phân ra thành nhiều phân đoạn và mỗi view là một phân đoạn, sao đó thực thi những phép truy vấn trên view thì sẽ dễ hiểu hơn nhiều .
Tính nhất quán
Đôi khi bạn cần viết một công thức phức tạp và được sử dụng trong nhiều câu truy vấn, lúc này bạn sẽ phải viết đi viết lại nhiều lần .
Nhưng nếu đưa công thức đó vào một view, sau đó những câu truy vấn kia tham chiếu từ view thì sẽ thuận tiện và đồng nhất, sau này chỉnh sửa công thức thì chỉ cần sửa ở view .
Source: https://final-blade.com
Category: Kiến thức Internet