Dạng xem SQL cho phép bạn không chỉ lưu trữ một truy vấn SQL mà còn sử dụng nó như một bảng trong các truy vấn khác. Tìm hiểu cách áp dụng tính năng SQL hữu ích này!

Bạn đang xem : cách xem sql

Chế độ xem là một tính năng nổi tiếng trong SQL. Nó cho phép bạn tạo một bảng ảo dựa trên một truy vấn SQL tham chiếu đến các bảng khác trong cơ sở dữ liệu. Một dạng xem lưu trữ một truy vấn SQL được thực thi bất cứ khi nào bạn tham chiếu đến dạng xem. Đây là một cách thuận tiện để có được dữ liệu mong muốn vì dễ dàng chạy một truy vấn được lưu trữ trong một dạng xem hơn là nhập một truy vấn từ đầu. Do đó, điều cần thiết là có thể áp dụng tính năng này một cách hiệu quả.

Bài viết này giới thiệu các nguyên tắc cơ bản về dạng xem SQL. Đầu tiên, chúng ta sẽ đi qua định nghĩa, cách sử dụng và nguyên tắc hoạt động của một chế độ xem. Sau đó, chúng ta sẽ đi sâu vào các ví dụ về cách tạo, sửa đổi và thả một chế độ xem. Ở cuối bài viết, bạn sẽ tìm thấy các ví dụ ứng dụng trong thế giới thực về dạng xem SQL. Trong một số tình huống, việc sử dụng chế độ xem là không thể tránh khỏi và chúng ta sẽ thảo luận chi tiết về vấn đề này.

Đi sâu vào chế độ xem SQL

Nói một cách đơn giản, một dạng xem là một truy vấn SQL được lưu trữ. Mỗi khi một chế độ xem được sử dụng, nó sẽ thực hiện truy vấn được lưu trữ của nó và tạo ra một tập hợp kết quả bao gồm các hàng và cột.

Chế độ xem SQL được gọi là bảng ảo vì nó không lưu trữ các hàng và cột trên đĩa giống như một bảng cụ thể. Thay vào đó, nó chỉ chứa truy vấn SQL. Hãy xem sơ đồ bên dưới để hiểu rõ hơn chế độ xem là gì.

Sơ đồ trên trình bày một chế độ xem được gọi là EntertainmentView . Nó lưu trữ một truy vấn đơn giản chọn các cột Name từ Theater , Opera và các bảng Cinema . Khi EntertainmentView này được sử dụng (thực thi), nó sẽ trả về tập kết quả bao gồm cột AllEntertainmentPaces với các hàng từ cả ba bảng.

Để tạo chế độ xem EntertainmentView được trình bày ở trên, chúng tôi sẽ sử dụng cú pháp sau:

TẠO CHẾ ĐỘ XEM Giải tríXem AS
CHỌN Tên NHƯ Tất cả Giải trí
TỪ Rạp hát
LIÊN HIỆP
CHỌN Tên
TỪ Oper
LIÊN HIỆP
CHỌN Tên
TỪ Rạp chiếu phim;

Sau khi tạo EntertainmentView , giờ đây chúng tôi có thể chạy truy vấn sau thay vì nhập truy vấn ở trên:

LỰA CHỌN *
TỪ Chế độ xem giải trí;

Dạng xem SQL thường được sử dụng trong cơ sở dữ liệu quan hệ. Cơ sở dữ liệu quan hệ cung cấp các tính năng khác nhau, bao gồm các ràng buộc SQL như khóa chính và khóa ngoại hoặc lập chỉ mục. Những tính năng này có thể dẫn đến các truy vấn phức tạp.

Do đó, sẽ rất tiện lợi khi tạo các dạng xem để lưu trữ các truy vấn phức tạp. Bạn có thể sử dụng chế độ xem như thể đó là một bảng lưu trữ dữ liệu được trả về bởi một truy vấn phức tạp.

Trong trường hợp bạn bỏ lỡ các bài viết của chúng tôi về Ràng buộc SQL , Khóa chính Khóa ngoại , bạn có thể bắt kịp bằng cách truy cập các liên kết này!

Cách sử dụng dạng xem trong truy vấn SQL

Mặc dù dạng xem SQL được coi là bảng ảo, cách sử dụng của chúng không khác với bảng cụ thể. Bạn có thể sử dụng một chế độ xem giống như bất kỳ bảng nào khác.

Hãy xem một ví dụ bằng cách sử dụng chế độ xem có tên FriendView được tạo trên đầu bảng Person . Xem bảng Person bên dưới:

IdNameFriendId

………

Để tạo chế độ xem FriendView , chúng tôi sẽ sử dụng truy vấn sau:

TẠO CHẾ ĐỘ XEM FriendView AS
CHỌN người.Id as Id, person.Name as Name, friend.Name as Friend
TỪ Người người
THAM GIA NGƯỜI BẠN
ON person.FriendId = friend.Id;

Sau đó, chúng tôi có thể chạy một truy vấn xử lý chế độ xem FriendView giống như một bảng bình thường như được hiển thị bên dưới:

CHỌN Tên, Bạn bè
TỪ FriendView
WHERE Tên LIKE 'F%';

Truy vấn trên xuất ra hai cột từ chế độ xem FriendView . Các hàng có trong tập kết quả phải đáp ứng điều kiện mệnh đề WHERE cho biết rằng tên của người đó phải bắt đầu bằng chữ cái “F.”

Xem Thêm  Sự kiện DOM trong Javascript (Có Ví dụ) - danh sách sự kiện javascript dom

Chế độ xem SQL hoạt động như thế nào?

Trong phần trước, chúng ta đã biết rằng một dạng xem SQL có thể được coi như một bảng bình thường. Tuy nhiên, dưới cơ bản, có sự khác biệt giữa chế độ xem và bảng biểu.

Một bảng (bảng cụ thể) lưu trữ dữ liệu của nó trong các cột và hàng trong cơ sở dữ liệu. Một khung nhìn (bảng ảo) được xây dựng trên đầu (các) bảng cụ thể mà nó lấy dữ liệu từ đó và không lưu trữ bất kỳ dữ liệu nào của riêng nó trong cơ sở dữ liệu. Một chế độ xem chỉ chứa truy vấn SQL được sử dụng để tìm nạp dữ liệu.

Tóm lại, tập hợp kết quả của một chế độ xem không được hiện thực hóa trên đĩa và truy vấn được lưu trữ bởi chế độ xem được chạy mỗi khi chúng tôi gọi chế độ xem. Hãy xem sơ đồ bên dưới để hiểu sự khác biệt giữa bảng bê tông và bảng ảo.

Hãy tạo một số chế độ xem SQL

Giờ chúng ta đã biết dạng xem SQL là gì và cách sử dụng chúng, hãy xem cú pháp để tạo dạng xem trong SQL. Xem truy vấn cơ bản bên dưới:

TẠO VIEW view_name AS
CHỌN cột_danh sách
TỪ_danh_sách_bảng;

Lệnh CREATE VIEW tạo một dạng xem có tên view_name . Theo sau mệnh đề AS là một truy vấn SQL sẽ được lưu trữ trong một dạng xem.

Bây giờ, hãy xem một ví dụ sử dụng bảng Food Animals để tạo Chế độ xem AnimalFoodView . Xem bảng Thực phẩm Động vật bên dưới:

IdFoodName

1Meat

2lgae

3 Hạt giống

AnimalIdAnimalTypeFoodId

1Lion1

2Fish2

3Bird3

Hãy tạo một chế độ xem có tên là AnimalFoodView dựa trên các bảng được xác định ở trên:

TẠO CHẾ ĐỘ XEM AnimalFoodView AS
CHỌN a.AnimalType, f.FoodName
TỪ Động vật a
THAM GIA Food f
ON a.FoodId = f.Id;

Bây giờ chế độ xem đã được tạo, chúng ta có thể coi nó như một bảng bình thường. Xin lưu ý rằng chế độ xem sẽ chỉ tạo tập hợp kết quả của nó khi tên của nó được gọi như được hiển thị trong truy vấn mẫu bên dưới:

CHỌN * từ AnimalFoodView;

Đầu ra bên dưới tương đương với đầu ra của truy vấn được lưu trữ trong dạng xem:

AnimalTypeFoodName

LionMeat

BirdSeeds

Có thể có một tình huống mà bạn muốn tạo hoặc thay thế chế độ xem nếu nó đã tồn tại. Cú pháp dưới đây cho thấy một cách để thực hiện việc này:

TẠO HOẶC THAY THẾ VIEW view_name AS
CHỌN cột_danh sách
TỪ_danh_sách_bảng;

Hãy thay thế AnimalFoodView của chúng tôi để nó chỉ hiển thị các hàng Fish Bird .

TẠO HOẶC THAY THẾ VIEW AnimalFoodView AS
CHỌN a.AnimalType, f.FoodName
TỪ Động vật a
THAM GIA Food f
ON a.FoodId = f.Id
WHERE AnimalType = 'Cá' OR AnimalType = 'Chim';

Truy vấn ban đầu được lưu trong AnimalFoodView hiện được thay thế bằng truy vấn trên. Hãy chạy một câu lệnh SELECT khác để đảm bảo rằng việc thay thế chế độ xem đã diễn ra:

CHỌN * từ AnimalFoodView;

Đầu ra bên dưới một lần nữa tương đương với đầu ra của truy vấn được lưu trữ trong dạng xem:

AnimalTypeFoodName

BirdSeeds

Với việc đào tạo và thực hành, thật dễ dàng để làm việc với các dạng xem SQL. Khóa học Khóa học Làm việc với Chế độ xem của chúng tôi là một cách tuyệt vời để thực hiện điều này!

Có thể làm gì khác với chế độ xem SQL?

Sửa đổi chế độ xem

Cũng có thể sửa đổi chế độ xem sau khi nó được tạo. Hãy sử dụng chế độ xem AnimalFoodView được xác định trong phần trước. Nếu chúng ta muốn sử dụng cột AnimalId thay vì cột AnimalName , chúng ta có thể sử dụng câu lệnh ALTER VIEW như sau:

ALTER XEM AnimalFoodView AS
CHỌN a.AnimalId, f.FoodName
TỪ Động vật a
THAM GIA Food f
ON a.FoodId = f.Id;

Bây giờ, câu lệnh SELECT trả về ID động vật thay vì tên.

CHỌN * từ AnimalFoodView;

AnimalIdFoodName

1Meat

2Algae

3 Hạt giống

Xem Thêm  Bảo mật ứng dụng web: Tổng quan về HTTP - bảo mật ứng dụng web

Nếu chế độ xem tồn tại trong cơ sở dữ liệu, các lệnh CREATE OR REPLACE VIEW ALTER VIEW có cùng tác dụng.

Bỏ qua một lượt xem

Nếu bạn muốn xóa một chế độ xem, chỉ cần sử dụng lệnh DROP VIEW như hình dưới đây:

DROP XEM AnimalFoodView;

Sau khi thực hiện lệnh DROP VIEW , chế độ xem không tồn tại trong cơ sở dữ liệu nữa.

Khi nào bạn nên sử dụng dạng xem SQL?

Tình huống I

Một trong những lý do đơn giản nhất để sử dụng dạng xem SQL là khi bạn có một truy vấn dài và phức tạp. Để tiết kiệm thời gian nhập lại và chạy truy vấn, bạn có thể lưu trữ nó trong một dạng xem và chỉ cần chạy câu lệnh SELECT trên dạng xem đó.

Hãy xem một ví dụ sử dụng bảng Khách hàng Đơn hàng để tạo CustomerOrderView xem. Xem bảng Khách hàng Đơn hàng bên dưới:

IdCustNameOrderId

1Anne1

2Carl2

3Taylor3

IdProductQuantity

1Apple4

2Apple7

3Pear9

Hãy tạo chế độ xem CustomerOrderView trên đầu các bảng được xác định ở trên:

TẠO CHẾ ĐỘ XEM CustomerOrderView AS
CHỌN Id, CustName
Từ khách hàng
ĐẶT HÀNG Ở ĐÂU (
CHỌN Id
TỪ Đơn đặt hàng
WHERE Số lượng & gt; 5
AND (Product = 'Apple' OR Product = 'Pear'));

Bây giờ, thay vì gọi truy vấn phức tạp được lưu trữ trong dạng xem này, bạn có thể sử dụng câu lệnh SELECT đơn giản như được hiển thị bên dưới:

Tình huống II

Kiểm soát truy cập vào dữ liệu được lưu trữ trong cơ sở dữ liệu là một lý do khác tại sao bạn nên sử dụng các dạng xem SQL. Thông thường, quy tắc về đặc quyền ít nhất được tuân theo (nghĩa là người dùng được cấp các đặc quyền hạn chế nhất có thể để đáp ứng các yêu cầu của họ.) Ví dụ: nếu người dùng cần đọc từ bảng A, thì chỉ đặc quyền đọc phải được gán cho anh ấy / cô ấy chứ không phải đặc quyền đọc / ghi.

Giả sử rằng chúng ta có bảng Khách hàng chứa dữ liệu nhạy cảm về khách hàng của công ty. Các nhân viên hành chính của công ty này sẽ có thể thấy tên và địa chỉ email của khách hàng chứ không có gì khác và họ sẽ không có quyền truy cập trực tiếp vào bảng Clients để đọc từ hoặc viết vào nó.

Chúng tôi giải quyết vấn đề này như thế nào? Lượt xem! Chúng tôi có thể tạo chế độ xem SQL và cho phép tất cả nhân viên quản trị đọc từ chế độ xem này.

Xem bảng Khách hàng bên dưới:

IdFirstNameLastNameEmailPhoneNoSSNDateOfBirth

1BenReynoldsben.r@email.com044477733331276430976402-02-1987

2BettyConneybetty.c@email.com033366611115623458734612-08-1985

3AliceKenfordalice.k@email.com044455588884523678365430-09-1977

Truy vấn để tạo dạng xem hiển thị các cột Id , FirstName , LastName Email của bảng Khách hàng được hiển thị bên dưới:

TẠO CHẾ ĐỘ XEM Khách hàng Xem AS
CHỌN Id, FirstName, LastName, Email
TỪ Khách hàng;

Và giờ đây, chúng tôi có thể chỉ định quyền đọc từ chế độ xem này cho tất cả các nhân viên quản trị.

CHỌN * TỪ ClientsView;

IdFirstNameLastNameEmail

1BenReynoldsben.r@email.com

2BettyConneybetty.c@email.com

3AliceKenfordalice.k@email.com

Tình huống III

Dạng xem SQL cũng hữu ích khi cấu trúc lại cơ sở dữ liệu. Để hiểu vai trò của các dạng xem SQL trong quá trình tái cấu trúc cơ sở dữ liệu, hãy xem các ví dụ bên dưới.

Trước khi tái cấu trúc, chế độ xem View1 được tạo trên đầu trang của Table1 Table2 < / code> các bảng và chế độ xem View2 được xây dựng dựa trên Table2 Table3 < / code> bảng. Người dùng chỉ thao tác trên View1 View2 .

Quản trị viên cơ sở dữ liệu quyết định cấu trúc lại cơ sở dữ liệu để bảng Table2 chứa dữ liệu của cả Table2 Table3 . Sau quá trình tái cấu trúc như vậy, người dùng vẫn sử dụng View1 View2 như được hiển thị bên dưới, mặc dù truy vấn của View2 đã được sửa đổi trong khi cấu trúc lại. Do đó, người dùng không bị gián đoạn bởi quá trình tái cấu trúc.

Nếu người dùng thao tác trực tiếp trên bảng Table1 và quản trị viên cơ sở dữ liệu quyết định cấu trúc lại bảng này, a chế độ xem có thể được giới thiệu ở vị trí của bảng này. Người dùng sẽ không biết sự khác biệt vì các chế độ xem giống như các bảng bình thường.

Quyết định sử dụng bảng trực tiếp hay dạng xem thay cho bảng là rất quan trọng ở phần đầu của tạo cấu trúc cơ sở dữ liệu . Hãy xem theo dõi khóa học của chúng tôi về Tạo cấu trúc cơ sở dữ liệu để tìm hiểu thêm!

Hãy xem một ví dụ trong thế giới thực về việc tái cấu trúc các bảng cơ sở dữ liệu. Hãy tưởng tượng rằng chúng ta có một bảng Cars không phù hợp với các dạng bình thường của cơ sở dữ liệu nhưng vẫn được người dùng cơ sở dữ liệu sử dụng. Xem bảng Ô tô bên dưới:

IdCarNameModelProductionYears

1Ford Kuga2010, 2014, 2019

2Mercedes Benz2013, 2017

3Toyota Yaris2007, 2009

Chúng tôi có thể giới thiệu chế độ xem CarView thay cho bảng Cars . Sau đó, chúng tôi có thể cấu trúc lại bảng để làm cho nó phù hợp với các dạng thông thường của cơ sở dữ liệu.

TẠO CHẾ ĐỘ XEM CarView AS
LỰA CHỌN *
TỪ Ô tô;

Giờ đây, người dùng có thể sử dụng chế độ xem CarView thay vì bảng Cars và mã Cars bảng có thể trải qua quá trình tái cấu trúc. Bởi vì chế độ xem được sử dụng giống như các bảng thông thường, người dùng sẽ không gặp bất kỳ tác dụng phụ nào khi sử dụng chế độ xem thay cho bảng.

Kết luận

Để tóm tắt hành trình của chúng tôi thông qua các dạng xem SQL, chúng tương đối dễ sử dụng và có thể mang lại lợi ích cho cơ sở dữ liệu theo nhiều cách khác nhau. Chúng ta có thể sử dụng chúng để tiết kiệm thời gian và công sức cũng như tránh mọi tác dụng phụ của các tác vụ quản trị cơ sở dữ liệu.

Cần biết rằng dạng xem SQL không phải là một bảng cụ thể với dữ liệu: nó chỉ là một truy vấn SQL đã lưu. Tuy nhiên, khi được sử dụng trong các truy vấn SQL, nó hoạt động chính xác như một bảng bình thường. Do đó, nó được coi là một tính năng mạnh mẽ của SQL mà bất kỳ ai quan tâm đến thiết kế cơ sở dữ liệu đều có thể hiểu được.


Xem thêm những thông tin liên quan đến chủ đề cách xem sql

Phần 8 | Hướng dẫn tìm hiểu proc procedure trong SQL Server - Lập trình SQL Server, MySQL

  • Tác giả: GokiSoft - Học Lập Trình Online
  • Ngày đăng: 2020-08-15
  • Đánh giá: 4 ⭐ ( 5385 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [SQL Server] Hướng dẫn tìm hiểu proc procedure trong SQL Server - Lập trình SQL Server, MySQL

    https://gokisoft.com/share-code-tim-hieu-ve-view--stored-proceduce--function-trong-sql-server-lap-trinh-sql-server.html

    SQL SqlServer GokiSoft

Xem dữ liệu trong SQL Server 2014 (Bài 7)

  • Tác giả: giasutinhoc.vn
  • Đánh giá: 4 ⭐ ( 1511 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Làm thế nào để xác định phiên bản, phiên bản, và mức độ Cập Nhật SQL Server và các thành phần

  • Tác giả: support.microsoft.com
  • Đánh giá: 5 ⭐ ( 4436 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Mô tả cách xác định phiên bản SQL Server đang chạy.

Làm cách nào để tìm cổng đang chạy SQL Server?

  • Tác giả: qastack.vn
  • Đánh giá: 3 ⭐ ( 3536 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] Thử cái này: USE master GO xp_readerrorlog 0, 1, N'Server is listening on' GO http://www.mssqltips.com/sqlservertip/2495/identify-sql-server-tcp-ip-port-being-used/

Xem SQL Online

  • Tác giả: products.groupdocs.app
  • Đánh giá: 3 ⭐ ( 5033 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trình xem SQL trực tuyến miễn phí. Mở và xem SQL tệp trực tuyến miễn phí.

SQL Server: Câu lệnh SQL hiển thị các bảng

  • Tác giả: timoday.edu.vn
  • Đánh giá: 4 ⭐ ( 6571 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hướng dẫn cách viết câu lệnh hiển thị tất cả các bảng (Table) hoặc View trong cơ sở dữ liệu (Database) của hệ quản trị cơ sở dữ liệu SQL Server 2000, 2005 hoặc mới hơn

Cách để Mở tập tin SQL

  • Tác giả: www.wikihow.vn
  • Đánh giá: 5 ⭐ ( 2701 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bài viết này sẽ hướng dẫn bạn cách mở và xem nội dung của tập tin dữ liệu SQL (ngôn ngữ truy vấn mang tính cấu trúc). Tập tin này chứa mã (code) cụ thể để chỉnh sửa nội dung của cơ sở dữ liệu quan hệ và cấu trúc cơ sở dữ liệu. Bạn có thể...

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php