VIEW
STORED PROCEDURE
CONDITION & STATEMENT
FUNCTION
TRIGGER
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Cách sử dụng VIEW trong SQL Server

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.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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 dữ 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 lưu trữ câu SQL thông 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 [free tuts .net]

View cũng là một table nhưng chức năng của nó là chỉ để đọc, nên bạn không thể thực hiện các 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 danh sách sản phẩm và 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 giản phải không các bạn, không cần phải nhớ câu SQL dài dòng trên kia.

Mỗi một view có thể lưu trữ dữ liệu của nhiều table khác nhau vì nó là kết quả của câu truy vấn SELECT, đây chính là ưu điểm khiến view trở nên mạnh mẽ.

SQL Server Views png

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 có thể hạn chế người dùng truy cập trực tiếp vào table, thay vào đó cho họ truy cập thông qua view nên sẽ an toàn hơn. Tại sao? Tại vì view chỉ là một khung nhìn nên chỉ 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 thay đổi dữ 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 chắn là ra kết quả đúng, cũng có khi chưa chắc đúng. Tuy nhiên nếu kết 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 hiện các 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 đó các câu truy vấn kia tham chiếu từ view thì sẽ tiện lợi và nhất quán, sau này chỉnh sửa công thức thì chỉ cần sửa ở view.

Cùng chuyên mục:

Hàm CHAR trong SQL Server

Hàm CHAR trong SQL Server

Cách sử dụng hàm CHAR trong SQL Server

Hàm CHARINDEX trong SQL Server

Hàm CHARINDEX trong SQL Server

Cách sử dụng hàm CHARINDEX trong SQL Server

Hàm CONCAT trong SQL Server

Hàm CONCAT trong SQL Server

Cách sử dụng hàm CONCAT trong SQL Server

Hàm + trong SQL Server

Hàm + trong SQL Server

Cách sử dụng hàm + trong SQL Server

Hàm DATALENGTH trong SQL Server

Hàm DATALENGTH trong SQL Server

Cách sử dụng hàm DATALENGTH trong SQL Server

Hàm LEFT trong SQL Server

Hàm LEFT trong SQL Server

Cách sử dụng hàm LEFT trong SQL Server

Hàm LEN trong SQL Server

Hàm LEN trong SQL Server

Cách sử dụng hàm LEN trong SQL Server

Hàm LOWER trong SQL Server

Hàm LOWER trong SQL Server

Cách sử dụng hàm LOWER trong SQL Server

Hàm LTRIM trong SQL Server

Hàm LTRIM trong SQL Server

Cách sử dụng hàm LTRIM trong SQL Server

Hàm NCHAR trong SQL Server

Hàm NCHAR trong SQL Server

Cách sử dụng hàm NCHAR trong SQL Server

Hàm PATINDEX trong SQL Server

Hàm PATINDEX trong SQL Server

Cách sử dụng hàm PATINDEX trong SQL Server

Hàm REPLACE trong SQL Server

Hàm REPLACE trong SQL Server

Cách sử dụng hàm REPLACE trong SQL Server

Hàm RIGHT trong SQL Server

Hàm RIGHT trong SQL Server

Cách sử dụng hàm RIGHT trong SQL Server

Hàm RTRIM trong SQL Server

Hàm RTRIM trong SQL Server

Cách sử dụng hàm RTRIM trong SQL Server

Hàm SPACE trong SQL Server

Hàm SPACE trong SQL Server

Cách sử dụng hàm SPACE trong SQL Server

Hàm STR trong SQL Server

Hàm STR trong SQL Server

Cách sử dụng hàm STR trong SQL Server

Hàm UPPER trong SQL Server

Hàm UPPER trong SQL Server

Cách sử dụng hàm UPPER trong SQL Server

Hàm SUBSTRING trong SQL Server

Hàm SUBSTRING trong SQL Server

Cách sử dụng hàm SUBSTRING trong SQL Server

Hàm STUFF trong SQL Server

Hàm STUFF trong SQL Server

Cách sử dụng hàm STUFF trong SQL Server

Hàm ABS trong SQL Server

Hàm ABS trong SQL Server

Cách sử dụng hàm ABS trong SQL Server

Top