NGÔN NGỮ TRUY VẤN CƠ SỞ DỮ LIỆU SQL
UPDATE MANAGER SETJob= ‘Sprv’
WHERE EmpNo= 109;
thì lỗi sẽ được thông báo, bởi vì View quy định: đó là các nhân viên phụ trách các phòng ban.
Cũng với ví dụ trên nếu ta thêm cụm từ WITH READ ONLYthì câu lệnh:
DELETE FROM MANAGER WHERE EmpNo= 109;
sẽ không được thi hành và lỗithao tác không được phépsẽ được hiện ra để nhắc nhở.
View có thể được hủy bỏ khỏi từ điển dữ liệu bởi lệnh
DROP VIEW <tên View> ;
6.6.6. Tạo chỉ mục (INDEX) cho (các) cột:
Việc sắp xếp các bản ghi theo thứ tự tăng hay giảm dần sẽ làm tăng tốc độ thao tác thông tin trên CSDL. Chi phí tính toán cho việc tìm kiếm một dòng của bảng đã được sắp làlog2(n) + 1phép toán đối
chiếu/so sánh, ở đâynlà số dòng (số record) của bảng. Hãy cứ tưởng tượng, với một bảng có 4,2 tỷ dòng, máy chỉ mất có tối đa 33 lần so sánh khi tìm kiếm một bản ghi. Việc lập chỉ mục(Indexing) là tạo ra
một bảng lưu trữ vị trí của các bản ghi dựa trên giá trị của một (hay một số) cột nào đó. Việc tạo bảng chỉ mục không làm thay đổi thứ tự vật lý của các bản ghi trong bảng.
Cú pháp:
CREATE INDEX <tên bảng Index>
ON <tên bảng> (<cột 1>, <cột 2>, ...)
Ngữ nghĩa: Tạo bảng chỉ mục để lưu thứ tự sắp xếp các bản ghi theo giá trị tăng dần của các cột được cho trong danh sách.
Ghi chú: Chỉ nên tạo chỉ mục cho các bảng có số lượng lớn
các bản ghi và ít được cập nhật, và chỉ nên tạo trên các cột mà thông tin của nó thường xuyên được tham khảo tới.
Ví dụ 6.6.13:
Tạo chỉ mục trên cột Name của bảng EMPLOYEE để giúp tìm
kiếm nhân viên theo tên một cách nhanh chóng:
CREATE INDEX ON EMPLOYEE (Name);
Việc loại bỏ bảng chỉ mục nào đó khỏi từ điển dữ liệu cũng được thực hiện bởi câu lệnhDROP INDEX <tên Index>
6.6.7. Khai báo người sử dụng mới đối với CSDL.
Không phải ai cũng có thể tùy tiện truy nhập vào CSDL. Người quản trị CSDL (DBA) sẽ phải thực hiện một lệnh khai báo người (hoặc nhóm người) sử dụng CSDL và cấp quyền hạn cho họ trên từng bảng của CSDL.
Cú pháp lệnh khai báo người sử dụng:
CREATE USER <tên người sử dụng> IDENTIFIED BY<mật khẩu>;
Ví dụ 6.6.14:
Khai báo người sử dụng mới có tên là MINH_HAI với mật khẩu truy nhập là employment:
CREATE USER MINH_HAI IDENTIFIED BY employment;
Sửa lại mật khẩu cho người sử dụng bởi lệnh:
ALTER USER<tên người sử dụng>IDENTIFIED BY <mật khẩu mới>;
Bãi miễn một người sử dụng quyền truy nhập CSDL bởi lệnh:
DROP USER <tên người sử dụng> ;
6.6.8 Cấp quyền hạn hệ thống trên CSDL:
GRANT <quyền hạn>, <quyền hạn> , ... TO <người dùng>, <người dùng>, ...;
Trong đó quyền hạn hệ thống gồm có: CREATE TABLE, CREATE VIEW, CREATE PROCEDURE.
Và lệnh cấp quyền hạn thao tác trên các đối tượng của CSDL với cú pháp:
GRANT <quyền trên đối tượng>[(<cột>, <cột>, ...)ALL
[(<các cột>)]
ON <đối tượng>
TO <người sử dụng>, <người sử dụng>, ... PUBLIC
[ WITH GRANT OPTION];
Ở đây quyền hạn trên đối tượng gồm có: ALTER, DELETE,