Bài giảng Microsoft SQL Server - Bài 10: Làm việc với bảng ảo và chỉ mục - Lê Thị Tú Kiên

Views in the Data Dictionary

Once your view has been created, you can query the data dictionary view called USER_VIEWS to see

the name of the view and the view definition. The text of the SELECT statement that constitutes your

view is stored in a LONG column.

Data Access Using Views

When you access data using a view, the Oracle server performs the following operations:

1. It retrieves the view definition from the data dictionary table USER_VIEWS.

2. It checks access privileges for the view base table.

3. It converts the view query into an equivalent operation on the underlying base table or tables. In

other words, data is retrieved from, or an update is made to, the base tables.

Bài giảng Microsoft SQL Server - Bài 10: Làm việc với bảng ảo và chỉ mục - Lê Thị Tú Kiên trang 1

Trang 1

Bài giảng Microsoft SQL Server - Bài 10: Làm việc với bảng ảo và chỉ mục - Lê Thị Tú Kiên trang 2

Trang 2

Bài giảng Microsoft SQL Server - Bài 10: Làm việc với bảng ảo và chỉ mục - Lê Thị Tú Kiên trang 3

Trang 3

Bài giảng Microsoft SQL Server - Bài 10: Làm việc với bảng ảo và chỉ mục - Lê Thị Tú Kiên trang 4

Trang 4

Bài giảng Microsoft SQL Server - Bài 10: Làm việc với bảng ảo và chỉ mục - Lê Thị Tú Kiên trang 5

Trang 5

Bài giảng Microsoft SQL Server - Bài 10: Làm việc với bảng ảo và chỉ mục - Lê Thị Tú Kiên trang 6

Trang 6

Bài giảng Microsoft SQL Server - Bài 10: Làm việc với bảng ảo và chỉ mục - Lê Thị Tú Kiên trang 7

Trang 7

Bài giảng Microsoft SQL Server - Bài 10: Làm việc với bảng ảo và chỉ mục - Lê Thị Tú Kiên trang 8

Trang 8

Bài giảng Microsoft SQL Server - Bài 10: Làm việc với bảng ảo và chỉ mục - Lê Thị Tú Kiên trang 9

Trang 9

Bài giảng Microsoft SQL Server - Bài 10: Làm việc với bảng ảo và chỉ mục - Lê Thị Tú Kiên trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 27 trang xuanhieu 3780
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Microsoft SQL Server - Bài 10: Làm việc với bảng ảo và chỉ mục - Lê Thị Tú Kiên", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Microsoft SQL Server - Bài 10: Làm việc với bảng ảo và chỉ mục - Lê Thị Tú Kiên

Bài giảng Microsoft SQL Server - Bài 10: Làm việc với bảng ảo và chỉ mục - Lê Thị Tú Kiên
1 
Bài 11: Làm việc với bảng ảo và chỉ mục 
2 
Views in the Data Dictionary 
Once your view has been created, you can query the data dictionary view called USER_VIEWS to see 
the name of the view and the view definition. The text of the SELECT statement that constitutes your 
view is stored in a LONG column. 
Data Access Using Views 
When you access data using a view, the Oracle server performs the following operations: 
1. It retrieves the view definition from the data dictionary table USER_VIEWS. 
2. It checks access privileges for the view base table. 
3. It converts the view query into an equivalent operation on the underlying base table or tables. In 
other words, data is retrieved from, or an update is made to, the base tables. 
Instructor Note 
The view text is stored in a column of LONG data type. You may need to set ARRAYSIZE to a smaller 
value or increase the value of LONG to view the text. 
í dụ phân biệt truy vấn trực tiếp và truy vấn thông qua view. 
Cú pháp câu lệnh tạo Bảng ảo (View) 
- Sau từ khóa CREATE VIEW là tên View cần tạo và tên các cột trong view 
(tùy chọn). 
- Hai tùy chọn: 
 WITH ENCRYPTION: Ngăn không cho NSD xem câu lệnh định nghĩa 
view. 
 WITH SCHEMABINDING: ràng buộc một view với lược đồ CSDL. Khi 
đó, không thể xóa hoặc cập nhật các bảng có liên quan đến view. 
- Sau từ khóa AS là một câu lệnh SELECT, câu lệnh này là định nghĩa chính 
của view. 
- Tùy chọn WITH CHECK OPTION: Kiểm tra nếu một dòng dữ liệu không 
thuộc vào view nữa thì sẽ không được cập nhật dữ liệu thông qua view. 
- Một view được tạo ra sẽ lưu trú trên server và NSD (hoặc chương trình ứng 
dụng) có thể truy vẫn bằng câu lệnh SELECT trên view này. 
3 
Ví dụ tạo View DeptInfo. 
- Bên trên là cấu trúc câu lệnh tạo view DeptInfo. Sau khi view DeptInfo 
được tạo ra và lưu trú trên sever, NSD có thể truy vấn trên view này giống 
như một bảng dữ liệu cơ sở. Tuy nhiên, DeptInfo khác bảng dữ liệu cơ sở là 
không chứa dữ liệu. 
- Bên dưới là kết quả câu truy vấn “Select * from DeptInfo” trên view 
DeptInfo. Khi câu lệnh này được gửi tới sever chính là kích hoạt câu lệnh 
SELECT trong định nghĩa view thực hiện và trả kết quả về cho NSD. 
4 
Các ví dụ về cách sử dụng View DeptInfo. 
- Bên trên là 3 ví dụ truy vấn trên view DeptInfo. 
- Bên dưới là kết quả khi chạy 3 câu lệnh trên cùng một lúc. 
5 
Một số lợi ích của view: 
- Thiết kế độc lập 
- Bảo mật dữ iệu 
- Mềm dẻo 
- Đơn giản hóa truy vấn 
- Có thể cập nhật dữ liệu 
6 
Ví dụ về view chỉ cho truy cập một số cột trên bảng investors (Nhà đầu tư). 
- Bên trên là dữ liệu của bảng inventors bao gồm các thông tin mã nhà đầu tư 
(khóa chính), họ, tên, địa chỉ, bang, mã bưu điện, số điện thoại, tiền đầu tư 
và lợi nhuận. 
- Bên dưới là định nghĩa của view InvestorsGeneral. View này chỉ bao gồm 
một số cột thông tin chung về nhà đầu tư, một số cột thông tin cần được bảo 
mật (tiền đầu tư) sẽ không được truy cập thông qua view này. 
7 
8 
Những yêu cầu về định nghĩa câu lệnh SELECT trong view để view đó có thể 
nhập được dữ liệu cho bảng cơ sở: 
- Mệnh đề SELECT không có DISTINCT hoặc TOP. 
- Mệnh đề SELECT không có các hàm gộp nhóm. 
- Mệnh đề SELECT không các cột dẫn xuất (là các cột biểu thức, ví dụ cột 
tuổi). 
- Câu lệnh SELECT không có mệnh đề GROUP BY, HAVING. 
- Định nghĩa view không chứa các phép toán tập hơp ( UNION, EXCEPT, 
INTERSECTION). 
9 
Ví dụ về view có thể cập nhật dữ liệu 
- Bên trên là định nghĩa view LowSalary về danh danh sách các nhân có 
lương nhỏ hơn 30000 
- Bên dưới là ví dụ cập nhật lương cho các nhân viên (trong bảng Employee) 
có lương nhỏ hơn 25000 thông qua view LowSalary. Khi câu lệnh update 
này được thực hiện thì các nhân viên trong bảng Employee có ;lương nhỏ 
hơn 25000 sẽ được tăng thêm 1000. 
10 
Ví dụ về view chỉ để đọc: trong định nghĩa view có chứa hàm gộp nhóm 
COUNT(), AVG() và mệnh để GROUP BY 
11 
Các câu lệnh xóa và sửa định nghĩa View: 
- Đế xóa view thì dùng câu lệnh DROP VIEW 
- Đế thay đổi định nghĩa view thì dùng câu lệnh ALTER VIEW. View có tùy 
chọn WITH ENCRYPTION thì không thể sửa. 
12 
Đôi khi một view cho phép cập nhật dữ liệu cho bảng cơ sở thông qua nó 
nhưng khi thực hiện cập nhật lại bị lỗi. 
Ví dụ trên slide là định nghĩa của view ResearchEmp (đưa ra thông tin các 
nhân viên phòng Research). Thông qua view này có thể cập nhật dữ liệu cho 
bảng Employee. Tuy nhiên ở hai slide tiếp sau đây là hai ví dụ thực hiện phép 
Insert và Delete trên view Research đều bị lỗi 
13 
Câu lệnh Insert trong trường hợp này bị lỗi vì chèn thêm một dòng mới có cột 
mã phòng Dno= null trong khi cột này có ràng buộc là NOT NULL (nhân viên 
nào cũng phải có mã phòng). 
14 
Câu lệnh Delete này bị lỗi vì khi xóa nhân viên có mã 123456789 sẽ vị phạm 
ràng buộc tham chiếu giữa bảng Employee và bảng workon. 
15 
Một số view có sẵn trong hệ thống SQL server. 
16 
Ví dụ truy vấn dữ liệu trên một số view của hệ thống. 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 

File đính kèm:

  • pdfbai_giang_microsoft_sql_server_bai_10_lam_viec_voi_bang_ao_v.pdf