Các khung nhìn và các đối tượng bảng. đại diện

SQL-hiệu suất(Chế độ xem SQL) là một bảng ảo được tạo thành từ các bảng hoặc chế độ xem khác. Một chế độ xem không có dữ liệu riêng mà tổng hợp dữ liệu từ các bảng hoặc chế độ xem được bao gồm trong đó. Chế độ xem được tạo bằng câu lệnh CHỌN và có nhiều công dụng:

    Với sự trợ giúp của họ, bạn có thể ẩn các cột hoặc hàng riêng lẻ khỏi quyền truy cập. Đây là cơ chế bảo mật cho phép người dùng truy cập dữ liệu thông qua các khung nhìn nhưng không cấp cho họ quyền truy cập trực tiếp vào các bảng bên dưới.

    Chúng cho phép bạn hiển thị các cột được tính toán và ẩn các câu lệnh SQL phức tạp để đơn giản hóa và tùy chỉnh cách mỗi người dùng cảm nhận thông tin trong cơ sở dữ liệu.

    Các khung nhìn cũng cung cấp một lớp trừu tượng giữa dữ liệu được ứng dụng xử lý và dữ liệu thực tế có trong các bảng. Phần sau đây cung cấp các ví dụ về từng cách sử dụng này và thảo luận về một số cách sử dụng khác của khung nhìn.

    1. chỉ mục SQL

Mục lục(Chỉ mục tiếng Anh) - một đối tượng cơ sở dữ liệu được tạo ra để cải thiện hiệu suất truy xuất dữ liệu. Các bảng trong cơ sở dữ liệu có thể có một số lượng lớn các hàng được lưu trữ theo thứ tự ngẫu nhiên và việc tìm kiếm chúng dựa trên một tiêu chí nhất định bằng cách quét tuần tự từng hàng trong bảng có thể tốn thời gian. Một chỉ mục được hình thành từ các giá trị của một hoặc nhiều cột trong bảng và con trỏ tới các hàng trong bảng tương ứng và do đó cho phép bạn tìm kiếm các hàng thỏa mãn tiêu chí tìm kiếm. Việc tăng tốc công việc sử dụng chỉ mục đạt được chủ yếu là do chỉ mục có cấu trúc được tối ưu hóa cho tìm kiếm - ví dụ: cây cân bằng.

    1. Gây nên

Trình kích hoạt là các kỹ thuật có thể được sử dụng để đảm bảo tính toàn vẹn của cơ sở dữ liệu ngay cả khi cơ sở dữ liệu đó đang được nhiều ứng dụng sử dụng.

Cò súng - Đây là một loại thủ tục lưu trữ đặc biệt được thực thi tự động bất cứ khi nào có nỗ lực thay đổi dữ liệu mà nó bảo vệ. Trình kích hoạt đảm bảo tính toàn vẹn của dữ liệu bằng cách ngăn chặn các thay đổi trái phép hoặc không chính xác đối với dữ liệu.

Giả sử cơ sở dữ liệu có các bảng được kết nối thông qua một trường Dừng lại. Tên. Ví dụ: đây có thể là bảng các điểm dừng và tuyến đường giao thông trong thành phố. Thật hợp lý khi xác định một trình kích hoạt, bất cứ khi nào cố gắng xóa một mục dừng, nó sẽ kiểm tra sự hiện diện của các tuyến đường đi qua điểm dừng đó và chỉ cho phép mục nhập đó bị xóa nếu không có mục nào.

Trình kích hoạt không chấp nhận tham số và không trả về giá trị. Chúng được thực thi ngầm, nghĩa là trigger chỉ được kích hoạt khi có nỗ lực thay đổi dữ liệu.

    1. Thủ tục lưu trữ

Thủ tục lưu trữ - nó là một chuỗi các câu lệnh Transact-SQL được biên dịch được lưu trữ trong cơ sở dữ liệu hệ thống SQL Server. Các thủ tục lưu trữ được biên dịch trước, giúp thực thi chúng hiệu quả hơn so với các truy vấn thông thường. Các thủ tục lưu trữ chạy trực tiếp trên máy chủ và phù hợp với mô hình máy khách-máy chủ.

Có hai loại thủ tục lưu trữ: hệ thống và người dùng.

Thủ tục lưu trữ hệ thống được thiết kế để lấy thông tin từ các bảng hệ thống và thực hiện các hoạt động dịch vụ khác nhau và đặc biệt hữu ích trong quản trị cơ sở dữ liệu. Tên của họ bắt đầu bằng sp_ (thủ tục được lưu trữ).

Thủ tục lưu trữ tùy chỉnh được tạo trực tiếp bởi nhà phát triển hoặc quản trị viên cơ sở dữ liệu.

Tính hữu ích của các thủ tục được lưu trữ được xác định chủ yếu bởi tốc độ thực thi cao (so với các truy vấn T-SQL thông thường). Ngoài ra, chúng còn là phương tiện hệ thống hóa các hoạt động được thực hiện thường xuyên. Khi thực hiện một thủ tục lưu trữ lần đầu tiên, có một số bước có thể được phân biệt.

    Quy trình này được chia thành các thành phần riêng lẻ bằng bộ phân tích từ vựng biểu thức.

    Các thành phần tham chiếu các đối tượng cơ sở dữ liệu (bảng, chỉ mục, dạng xem, v.v.) được ánh xạ tới các đối tượng này, trước tiên hãy kiểm tra sự tồn tại của chúng. Quá trình này được gọi là một lầngiải pháp liên kết.

    Bảng hệ thống syscomments lưu trữ văn bản nguồn của thủ tục và bảng sysobjects lưu tên của nó.

    Một kế hoạch thực hiện truy vấn sơ bộ được tạo ra. Kế hoạch sơ bộ này được gọi là kế hoạch bình thường hóa hoặc cây truy vấn và được lưu trữ trong bảng hệ thống sysprocedures.

    Lần đầu tiên một thủ tục lưu sẵn được thực thi, cây truy vấn sẽ được đọc và cuối cùng được tối ưu hóa. Kế hoạch thủ tục đã tạo trước đó sẽ được thực thi.

Lược đồ này giúp các cuộc gọi lặp lại có thể tránh lãng phí thời gian vào việc phân tích cú pháp, giải quyết các liên kết và biên dịch cây truy vấn. Và trong các cuộc gọi tiếp theo, chỉ bước thứ năm được thực hiện. Hơn nữa, kế hoạch của thủ tục được lưu trữ sau lần thực hiện đầu tiên được chứa trong bộ đệm thủ tục tốc độ cao. Điều này có nghĩa là trong quá trình thực hiện cuộc gọi, tốc độ đọc sẽ rất cao.

Việc sử dụng các thủ tục lưu sẵn có một số lợi ích bổ sung.

1. Thủ tục lưu trữ cho phép bạn tách các quy tắc thành một cấu trúc riêng biệt. Các quy tắc này sau đó được nhiều ứng dụng sử dụng để tạo thành giao diện dữ liệu có khả năng chịu lỗi. Lợi ích của phương pháp này là bạn chỉ có thể thay đổi các quy tắc cho một phần riêng biệt của đối tượng cơ sở dữ liệu chứ không phải cho tất cả các ứng dụng của nó.

2. Việc sử dụng các thủ tục được lưu trữ cải thiện đáng kể hiệu suất truy vấn, nhưng mức tăng lớn nhất đạt được khi thực hiện các thao tác lặp đi lặp lại khi kế hoạch truy vấn được lưu trữ liên tục trong bộ đệm hệ thống.

3. Các thủ tục lưu trữ có thể chấp nhận các đối số khi chạy và trả về các giá trị (dưới dạng tập kết quả).

4. Các thủ tục được lưu trữ có thể được chạy theo lịch trình (ở chế độ thực thi tự động) được chỉ định khi SQL Server khởi động.

5. Các thủ tục lưu trữ được sử dụng để truy xuất hoặc sửa đổi dữ liệu bất kỳ lúc nào.

6. Các thủ tục lưu sẵn, không giống như trigger, được gọi một cách rõ ràng. Tức là khi truy cập trực tiếp một thủ tục từ một ứng dụng, tập lệnh, gói hoặc tác vụ.

Thủ tục lưu trữ là một công cụ xử lý dữ liệu mạnh mẽ. Các thủ tục lưu trữ hệ thống đóng vai trò rất quan trọng trong việc quản trị và bảo trì cơ sở dữ liệu. Các thủ tục lưu trữ tùy chỉnh được sử dụng để giải quyết hầu hết mọi vấn đề. Ngoài ra, người dùng có thể được cấp quyền thực thi một thủ tục được lưu trữ ngay cả khi anh ta không có quyền truy cập vào các đối tượng mà thủ tục truy cập.

đại diện

Gỡ bỏ

Đổi tên

Thay đổi

Quản lý thủ tục lưu trữ

Để thay đổi một thủ tục hiện có, hãy sử dụng câu lệnh ALTER PROC; các tham số của lệnh này tương tự như các tham số của lệnh tạo một thủ tục.

Để thực hiện việc này, bạn cần sử dụng một quy trình lưu trữ hệ thống đặc biệt:

sp_rename 'Tên đối tượng' 'Tên đối tượng mới'.

Để xóa một thủ tục đã lưu trữ, hãy sử dụng lệnh Transact‑SQL:

Tên thủ tục DROP PROC.

Hiệu suất(Chế độ xem) là một đối tượng khác tạo nên cấu trúc logic của bất kỳ cơ sở dữ liệu nào. Chế độ xem của người dùng cuối trông giống như một bảng, nhưng không chứa dữ liệu mà chỉ thể hiện nó. Dữ liệu được biểu diễn vật lý nằm trong các bảng cơ sở dữ liệu khác nhau.

Chế độ xem được triển khai dưới dạng một truy vấn đã lưu, trên cơ sở đó việc lựa chọn được thực hiện từ các bảng cơ sở dữ liệu khác nhau.

Lượt xem có những lợi ích sau:

· đảm bảo tính bảo mật của thông tin, bởi vì cho phép bạn chỉ hiển thị những thông tin cần thiết, ẩn một số trường nhất định;

· đơn giản hóa việc trình bày dữ liệu, bởi vì người dùng làm việc với dạng xem dưới dạng một bảng duy nhất, được tạo dựa trên việc lựa chọn dữ liệu từ một số bảng;

· quản lý quyền truy cập dữ liệu, ví dụ, thay vì cấp quyền thực hiện truy vấn trên các trường nhất định của bảng, việc cho phép thực hiện truy vấn thông qua chế độ xem sẽ dễ dàng hơn.

MS SQL Server cung cấp nhiều cách khác nhau để tạo chế độ xem: sử dụng công cụ Transact-SQL và trong tiện ích quản trị Xưởng quản lý.

Để tạo chế độ xem, hãy sử dụng lệnh CREATE VIEW và các thành viên có vai trò có quyền thực thi nó quản trị hệ thống, db_owner, db_dlladmin:

TẠO CHẾ ĐỘ XEM ViewName [(field [,...n])]

Mẫu truy vấn

Khi được chỉ định Tên xem cần tuân thủ các quy tắc đặt tên đối tượng đã xác định trước đó, đồng thời, tên này không được trùng với tên của bảng hiện có trong cơ sở dữ liệu. Tham số VỚI MÃ HÓA xác định mã hóa mã yêu cầu và đảm bảo rằng người dùng không thể xem hoặc sử dụng nó.

Mẫu truy vấn là một câu lệnh SELECT có các tham số xác định nội dung của khung nhìn. Tên trường xem được chỉ định bằng cách sử dụng bí danh trong câu lệnh chọn hoặc được chỉ định trong tham số cánh đồng.

Ví dụ: hãy tạo chế độ xem chỉ chứa thông tin sau về nhân viên của công ty Tác phẩm Phiêu lưu , chẳng hạn như: vị trí và thông tin đăng nhập của nhân viên, ngày sinh.

TẠO XEM Thông tin Nhân viên ([Số], [Họ], [Ngày sinh]) NHƯ

CHỌN BusinessEntityID, JobTitle + "(" + ID đăng nhập + ")",

CHUYỂN ĐỔI (char(10), Ngày sinh, 104)

TỪ HumanResources.Employee

Để xem nội dung của phép chiếu, truy vấn sau được thực hiện:

CHỌN * TỪ Thông tin nhân viên

Sử dụng chế độ xem này, quyền truy cập vào một số trường của bảng nguồn bị hạn chế Người lao động, trong trường hợp này họ nói rằng cái bàn được xếp chồng lên nhau bộ lọc dọc, I E. Quyền truy cập vào một số trường bảng bị hạn chế nếu không có bảo vệ cấp cột.

Nếu một điều kiện để chọn bản ghi được xác định trong mã truy vấn lựa chọn thì bảng được cho là phải tuân theo bộ lọc ngang. Ví dụ: chế độ xem sau đây cung cấp quyền truy cập vào thông tin về các nhà sản xuất có dịch vụ trực tuyến để đặt hàng sản phẩm:

TẠO CHẾ ĐỘ XEM Trực tuyếnNhà cung cấp

TỪ Mua hàng.Vendor

Ở ĐÂU PurchaseWebServiceURL KHÔNG CÓ NULL

Lệnh CHỌN ở bất kỳ mức độ phức tạp nào có thể được chỉ định trong yêu cầu lựa chọn, nhưng bị cấm sử dụng các phần ĐẶT BỞI, sau này có thể được sử dụng khi truy xuất dữ liệu từ chế độ xem đã tạo. Bạn cũng nên tạo chế độ xem dựa trên các bảng có liên kết bên trong.

Ví dụ: hãy tạo một chế độ xem hiển thị tổng chi phí của mỗi đơn hàng, cho biết khách hàng và mã số của khách hàng:

TẠO XEM Thông tinĐơn đặt hàng

CHỌN Tên + " " + Họ làm [Tên công ty],

SalesOrderHeader.SalesOrderID dưới dạng [Số đơn hàng],

Chuyển đổi (tiền, sum(UnitPrice*OrderQty*(1-UnitPriceDiscount)),0) thành [Tổng cộng]

TỪ (Person.Liên hệ INNER THAM GIA Sales.SalesOrderHeader

TRÊN Contact.contactID=SalesOrderHeader.contactID)

INNER THAM GIA Sales.SalesOrderDetail

TRÊN SalesOrderHeader.SalesOrderID=SalesOrderDetail.SalesOrderID

NHÓM THEO SalesOrderHeader.SalesOrderID, FirstName + " " + LastName

Hãy nhớ rằng việc sử dụng chế độ xem không cải thiện hiệu suất. Việc gọi một khung nhìn sẽ khiến mã nội bộ của nó được thực thi, vì vậy trong trường hợp tốt nhất, khung nhìn KHÔNG sẽ làm giảm hiệu suất cơ sở dữ liệu.

1) Khái niệm về biểu diễn
Chế độ xem là các đối tượng cơ sở dữ liệu không chứa bảng riêng của chúng nhưng nội dung của chúng được lấy từ các bảng hoặc chế độ xem khác bằng cách thực hiện truy vấn.

2) Tạo chế độ xem
TẠO CHẾ ĐỘ XEM
[()]
BẰNG
KIỂM TRA TÙY CHỌN]

Ghi chú:
Trong SQL Server, văn bản của chế độ xem có thể được mã hóa bằng tùy chọn VỚI ENCRYPTION sau tên chế độ xem.

3) Xóa lượt xem
THẢ XEM CASDADE|HẠN CHẾ

Ghi chú:
HẠN CHẾ– Không được có bất kỳ tham chiếu nào đến chế độ xem bị xóa trong chế độ xem và các ràng buộc, nếu không việc xóa sẽ bị từ chối.
CASADE– có nghĩa là xóa tất cả các đối tượng tham chiếu đến chế độ xem này.

4) Từ khóa
Một) đệ quy
Một đại diện được tạo ra để nhận các giá trị từ chính nó.
b) VỚI TÙY CHỌN KIỂM TRA
Ngăn chặn cập nhật bảng dựa trên chế độ xem nếu dữ liệu được thay đổi hoặc thêm vào không được phản ánh trong chế độ xem.
Việc cấm chỉ áp dụng cho các giá trị không đáp ứng các điều kiện được chỉ định trong mệnh đề WHERE.
c) ĐỊA PHƯƠNG
Các điều khiển thay đổi bảng cơ sở chỉ được phản ánh trong chế độ xem hiện tại.
d) TUYỆT VỜI
Kiểm soát xem các thay đổi có được phản ánh trong tất cả các chế độ xem được xác định trên một chế độ xem nhất định hay không.

5) Hạn chế và tính năng
1. Tên cột thường được chỉ định khi một số cột được tính toán và do đó không được đặt tên và khi hai hoặc nhiều cột có cùng tên trong các bảng tương ứng trong truy vấn. Luôn có trong InterBase.
2. Trong một số DBMS, bạn không thể sử dụng phần ORDER BY, phần này cung cấp khả năng sắp xếp.
3. Chế độ xem có thể được kết nối với cả bảng cơ sở và các chế độ xem khác bằng cách sử dụng truy vấn trên cả hai đối tượng.

6) Tiêu chí cập nhật lượt xem
1. Nó chỉ nên dựa trên một bảng. Điều mong muốn là nó bao gồm khóa chính của bảng.
2. Nó không được chứa các cột do các hàm tổng hợp tạo ra.
3. Nó không được chứa đặc tả DISTINCT trong định nghĩa của nó.
4. Nó không thể sử dụng GROUP BY hoặc HAVING trong định nghĩa của nó.
5. Nó không được chứa các truy vấn phụ.
6. Nếu nó được xác định trên một khung nhìn khác thì nó phải có thể cập nhật được.
7. Nó không thể bao gồm các hằng số, chuỗi hoặc biểu thức trong danh sách các trường đầu ra. Không được phép sắp xếp lại và đổi tên các trường.
8. Đối với câu lệnh INSERT, nó phải bao gồm bất kỳ trường nào từ các khung nhìn cơ bản của bảng cơ sở có các ràng buộc NOT NULL, nhưng giá trị mặc định có thể được đặt thành một giá trị khác.

7) Ví dụ

1. TẠO VIEW LondonStaff
NHƯ CHỌN * TỪ Nhân viên bán hàng WHERE City='London'

2. TẠO CHẾ ĐỘ XEM SalesOwn
NHƯ CHỌN SNum, SName, Thành phố TỪ Nhân viên bán hàng

3. TẠO Tên Đơn hàng XEM
NHƯ CHỌN ONum, Amt, A.SNum, SName, CName
TỪ Đơn hàng A, Khách hàng B, Nhân viên bán hàng C
Ở ĐÂU A.CNum=B.CNum VÀ A.SNUM=C.SNum

Ví dụ về chặn cập nhật:

1. TẠO VIEW HighRating NHƯ SELECT CNum, Rating

2. Thêm một dòng mà view không nhìn thấy:
CHÈN VÀO CÁC GIÁ TRỊ HighRating(2018, 200)
3. Chúng tôi cấm thêm các dòng ngoài tầm nhìn:
TẠO XEM HighRating NHƯ CHỌN CNum, Xếp hạng
TỪ Khách hàng Ở ĐÂU Xếp hạng=300
VỚI TÙY CHỌN KIỂM TRA
4. Tạo một cái mới cho phép bạn thêm lại:
TẠO XEM MyRating NHƯ CHỌN * TỪ HighRating

TẠO XEM. Phương pháp này thích hợp hơn những phương pháp khác nếu có khả năng bạn sẽ tạo các chế độ xem khác trong tương lai, vì bạn có thể đặt các câu lệnh T-SQL vào một tệp tập lệnh, sau đó chỉnh sửa và sử dụng tệp đó nhiều lần. SQL Server Enterprise Manager hỗ trợ môi trường đồ họa trong đó bạn có thể tạo dạng xem. Cuối cùng, bạn có thể sử dụng Trình hướng dẫn Tạo Chế độ xem khi bạn cần trợ giúp trong quá trình tạo chế độ xem, điều này có thể hữu ích cho cả người mới sử dụng và chuyên gia.
Sử dụng T-SQL để tạo chế độ xem

Tạo các khung nhìn bằng T-SQL là một quá trình khá đơn giản: bạn chạy câu lệnh TẠO CHẾ ĐỘ XEMđể tạo chế độ xem bằng ISQL, OSQL hoặc Trình phân tích truy vấn. Như đã thảo luận, sử dụng câu lệnh T-SQL trong tập lệnh là thích hợp hơn vì những câu lệnh này có thể được sửa đổi và sử dụng lại. (Bạn cũng nên lưu trữ các định nghĩa cơ sở dữ liệu của mình trong các tập lệnh trong trường hợp bạn cần tạo lại cơ sở dữ liệu của mình.)

Nhà điều hành TẠO CHẾ ĐỘ XEM có cú pháp sau:

TẠO VIEW view_name [(cột, cột...)] NHƯ câu lệnh CHỌN của bạn

Khi tạo chế độ xem, bạn có thể kích hoạt hai tính năng thay đổi hành vi của chế độ xem. Để bật các tính năng này, bạn phải bao gồm các từ khóa WITH ENCRYPTION và/hoặc WITH CHECK OPTION trong câu lệnh T-SQL. Hãy xem xét các công cụ này chi tiết hơn.

Từ khóa WITH ENCRYPTION chỉ định rằng định nghĩa khung nhìn (câu lệnh SELECT xác định khung nhìn) phải được mã hóa. SQL Server sử dụng cùng một phương pháp để mã hóa các câu lệnh SQL giống như đối với mật khẩu. Kỹ thuật bảo mật này có thể hữu ích nếu bạn không muốn một số lớp người dùng nhất định biết bảng nào đang được truy cập.

Từ khóa WITH CHECK OPTION chỉ định rằng các hoạt động sửa đổi dữ liệu được áp dụng cho dạng xem phải đáp ứng các tiêu chí có trong câu lệnh SELECT. Ví dụ: bạn có thể ngăn không cho áp dụng thao tác sửa đổi dữ liệu cho một dạng xem để tạo một hàng trong bảng không hiển thị trong dạng xem. Giả sử bạn đang xác định một khung nhìn để lấy mẫu thông tin về tất cả nhân viên của bộ phận tài chính (bộ phận tài chính). Nếu từ khóa WITH CHECK OPTION không được bao gồm trong câu lệnh, bạn có thể thay đổi giá trị tài chính của cột bộ phận thành giá trị chỉ định một bộ phận khác. Nhưng nếu từ khóa này được chỉ định thì thay đổi này sẽ không được phép, vì việc thay đổi giá trị của cột phòng ban trong bất kỳ hàng nào sẽ khiến hàng đó không có sẵn trong chế độ xem đó. Từ khóa WITH CHECK OPTION chỉ định rằng bạn không thể làm cho bất kỳ hàng nào không có sẵn trong một chế độ xem bằng cách thực hiện bất kỳ thay đổi nào trong chế độ xem đó.

Câu lệnh SELECT có thể được sửa đổi để tạo bất kỳ chế độ xem nào bạn muốn. Nó có thể được sử dụng để chọn một tập hợp con các cột hoặc một tập hợp con các hàng hoặc để thực hiện một số loại thao tác nối. Trong các phần sau, bạn sẽ tìm hiểu cách sử dụng T-SQL để tạo các loại chế độ xem khác nhau.

Tập hợp con cột

Chế độ xem chứa một tập hợp con các cột có thể hữu ích nếu bạn cần bảo mật một bảng mà người dùng chỉ có thể truy cập một phần. Hãy xem xét một ví dụ. Giả sử cơ sở dữ liệu nhân viên của một công ty chứa một bảng có tên Nhân viên với các cột dữ liệu (Hình 18.1).


Cơm. 18.1.

Hầu hết dữ liệu này rất quan trọng và chỉ một số nhân viên nhất định mới có thể xem được. Tuy nhiên, có thể hữu ích khi cho phép tất cả người dùng xem một số dữ liệu này. Để thực hiện việc này, bạn có thể tạo chế độ xem cho phép tất cả người dùng chỉ truy cập một số dữ liệu nhất định. Cách biểu diễn này cũng có thể được sử dụng để tránh sao chép dữ liệu về nhân viên trong các bảng dữ liệu khác.

Để tạo một chế độ xem trên bảng Nhân viên chỉ có quyền truy cập vào các cột tên, điện thoại và văn phòng, hãy sử dụng câu lệnh T-SQL sau:

TẠO XEM emp_vw NHƯ CHỌN tên, số điện thoại, văn phòng TỪ Nhân viên

Khung nhìn kết quả sẽ chứa các cột (Hình 18.2). Mặc dù các cột này cũng tồn tại trong bảng cơ sở nhưng người dùng truy cập dữ liệu thông qua chế độ xem này chỉ có thể nhìn thấy các cột này trong chế độ xem này. Và vì một chế độ xem có thể có mức bảo mật khác với bảng cơ sở của chế độ xem nên chế độ xem có thể được cung cấp cho bất kỳ người dùng nào trong khi bảng cơ bản vẫn được bảo vệ. Nói cách khác, bạn có thể hạn chế quyền truy cập vào bảng Nhân viên, ví dụ: chỉ cho bộ phận nhân sự và bạn có thể cấp cho tất cả người dùng quyền truy cập vào chế độ xem này.

Các dạng xem có thể được thao tác trong Trình soạn thảo truy vấn bằng cách thực thi các tập lệnh SQL sử dụng các lệnh DDL CREATE, ALTER và DROP. Cú pháp cơ bản để tạo chế độ xem như sau:

TẠO VIEW view_name NHƯ câu lệnh SELECT

Ví dụ: để lập trình tạo chế độ xem v_Customer trả về danh sách khách hàng cùng với thành phố cư trú của họ, bạn sẽ chạy lệnh sau trong cửa sổ truy vấn.

TẠO XEM.

CHỌN dbo.Customer.IdCust, dbo.Customer.FName, dbo.Customer.LName, dbo.City.CityName

TỪ dbo.Khách hàng INNER THAM GIA

dbo.City TRÊN dbo.Customer.IdCity = dbo.City.IdCity

Cố gắng tạo chế độ xem đã tồn tại sẽ gây ra lỗi. Khi dạng xem được tạo, câu lệnh SELECT có thể được chỉnh sửa dễ dàng bằng lệnh ALTER:

ALTER view_name AS đã sửa đổi_SELECT_statement

Nếu thay đổi chế độ xem cũng có nghĩa là thay đổi quyền truy cập của nó thì tốt nhất bạn nên xóa chế độ xem đó và tạo lại chế độ xem vì việc xóa chế độ xem cũng sẽ xóa các quyền truy cập đã được đặt trước đó.

Để xóa chế độ xem khỏi cơ sở dữ liệu, hãy sử dụng lệnh DROP:

THẢ XEM view_name

thứ tự theo mệnh đề và quan điểm

Chế độ xem đóng vai trò là nguồn dữ liệu cho các truy vấn khác và không hỗ trợ sắp xếp nội bộ. Ví dụ: đoạn mã sau truy xuất dữ liệu từ chế độ xem v_Customer và sắp xếp dữ liệu theo trường LName và FName. Mệnh đề ORDER BY không phải là một phần của v_Customer view, nhưng được áp dụng cho nó bằng cách gọi câu lệnh SQL:

CHỌN IdCust, FName, LName, CityName

TỪ dbo.v_Customer

ĐẶT HÀNG THEO LName, FName

Thực thi lượt xem

Buổi biểu diễn không thể được thực hiện một mình. Câu lệnh SELECT mà từ đó chế độ xem được tạo ra có thể được thực thi, nhưng ở dạng này, câu lệnh SQL về mặt kỹ thuật không phải là một chế độ xem. Chế độ xem chỉ hữu ích dưới dạng nguồn dữ liệu trong truy vấn.

Đó là lý do tại sao menu ngữ cảnh Chế độ xem mở của ManagementStudio tự động tạo một truy vấn đơn giản truy xuất tất cả các cột từ chế độ xem. Chế độ xem chỉ hiển thị kết quả. Tuy nhiên, việc bật các bảng Trình thiết kế Truy vấn khác sẽ cho phép bạn xem chính truy vấn đó được trích xuất từ ​​dạng xem.

Bảng điều khiển SQL sẽ hiển thị dạng xem trong mệnh đề FROM của câu lệnh SELECT. Đây là hình thức mà người dùng tham khảo chế độ xem:

CHỌN * TỪ v_Customer

Phân công công việc độc lập: Tạo chế độ xem trả về danh sách đơn hàng, cho biết tên khách hàng và số lượng mặt hàng trong mỗi đơn hàng. Do đó, kết quả phải bao gồm các thuộc tính sau: IdOrd, OrdDate, IdCust, FName, LName, Số loại sản phẩm trong đơn hàng.

Lab #7: Lập trình t-sql Cú ​​pháp và quy ước t-sql

Quy tắc tạo số nhận dạng

Tất cả các đối tượng trong SQLServer đều có tên (mã định danh). Ví dụ về các đối tượng là bảng, dạng xem, thủ tục lưu trữ, v.v. Mã định danh có thể có tối đa 128 ký tự, bao gồm các chữ cái, _@$# và số. Ký tự đầu tiên phải luôn là chữ cái. Các biến và bảng tạm thời sử dụng các cách đặt tên đặc biệt. Tên đối tượng không được chứa dấu cách và không được giống với từ khóa dành riêng của SQLServer, bất kể trường hợp nào được sử dụng. Bằng cách đặt các mã định danh trong dấu ngoặc vuông, các ký tự bị cấm có thể được sử dụng trong tên đối tượng.

Hoàn thiện các hướng dẫn

Tiêu chuẩn ANSISQL yêu cầu đặt dấu chấm phẩy ở cuối mỗi câu lệnh. Đồng thời, khi lập trình bằng T-SQL không bắt buộc phải có dấu chấm phẩy.

Bình luận

Ngôn ngữ T-SQL cho phép hai kiểu nhận xét: ANCI và C. Kiểu đầu tiên bắt đầu bằng hai dấu gạch nối và kết thúc ở cuối dòng:

Đây là nhận xét kiểu ANSI một dòng

Các nhận xét kiểu ANSI cũng có thể được chèn vào cuối dòng lệnh:

CHỌN CityName – các cột cần lấy

TỪ Thành phố – bảng nguồn

Ở ĐÂU IdCity = 1; -- giới hạn dòng

Trình soạn thảo SQL có thể áp dụng và xóa nhận xét trên tất cả các dòng đã chọn. Để thực hiện việc này, hãy chọn các lệnh thích hợp trong menu Biên tập hoặc trên thanh công cụ.