Dựa trên table sau : Create table Student ( student_id int NOT NULL UNIQUE, lname char(15) , fname char(15) ) Một View được tạo bao gồm tất cả các cột trong table , trừ cột student_id . Bạn có thể thực hiện những thao tác nào trên View :
A -
Các lệnh Insert thực hiện được trên View, nhưng lệnh Update thì không
B -
Các lệnh Insert thực hiện được trên View, nhưng lệnh Delete thì không
C -
Các lệnh Insert không thực hiện được trên View
D -
Các lệnh Insert thực hiện được trên View, nhưng lỗi sẽ xuất hiện nếu nhập giá trị trùng lắp vào cột student_id
2-
Ưu điểm của View là:
A -
Cung cấp dữ liệu thích hợp cho người dùng
B -
Tăng độ phức tạp dữ liệu
C -
Tạo bảng nhanh
D -
Phân chia dữ liệu cho nhiều server cách xa nhau
3-
Bill vừa tạo một view có tên là student_view trên bảng students. Anh ta cũng vừa xóa 1 hàng từ view khi cập nhật thông tin của sinh viên. Phát biểu nào sau đây là hợp lý:
A -
View vẫn có thể được truy vấn sau khi xoá bảng
B -
Việc xoá không ảnh hưởng gì đến bảng gốc
C -
Vịêc xoá làm thay đổi dữ liệu của bảng gốc
D -
Dữ liệu mà view lưu trữ hoàn toàn độc lập với bảng gốc
4-
Mỗi công ty thường gồm nhiều phòng ban (department) , mỗi phòng ban đều có nhân viên của phòng. Bạn đã tạo 1 bảng tên là Employee chứa thông tin liên quan đến tất cả các nhân viên và phòng ban mà họ làm việc. Lệnh tạo bảng như sau: CREATE TABLE Employee ( EmployeeID uniqueidentifier NOT NULL, FirstName char (20) NOT NULL, LastName char (25) NOT NULL, DepartmentID int NOT NULL, Salary money NOT NULL, CONSTRAINT PK_Employee PRIMARY KEY (EmployeeID) ) Mỗi trưởng phòng chỉ có thể xem được thông tin của nhân viên phòng mình mà thôi. Bạn nên làm gì với yêu cầu này>
A -
Dùng các lệnh GRANT, REVOKE, và DENY để gán quyền cho mỗi trưởng phòng
B -
Xây dưng các view trên bảng Employee để hạn chế các bản ghi cần xem
C -
Thêm login ID cho mỗi trưởng phòng vào role db_datareader
D -
Dùng SQL Server Enterprise Manager để gán quyền vào bảng Employee
5-
Lựa chọn WITH ENCRYPTION trong lệnh tạo một view có nghĩa là gì?
A -
Các query truy xuất view sẽ được mã hoá trước khi gửi tới SQL Server
B -
SQL Server mã hoá một mục vào (entry) tương ứng trong bảng syscomments để không ai , kể cả người tạo View, có thể đọc được lệnh tạo View.
C -
SQL Server mã hoá một mục vào (entry) tương ứng trong bảng syscomments để không ai có thể đọc được lệnh tạo View , ngoại trừ người tạo View
D -
SQL Server xoá mục vào (entry) tương ứng trong bảng syscomments để không ai có thể đọc được lệnh tạo View
6-
Giả sử bạn là người quản trị database của công ty X . Dữ liệu khách hàng của công ty được lưu trữ trong bảng Khachhang Trưởng phòng kinh doanh muốn phân công cho An quản lý khách hàng thuộc thành phố Hồ Chí Minh. Thực hiện yêu cầu này , Bạn đã tạo một view tên vwCust1 và cấp quyền cho An sử dụng view . CREATE VIEW vwCust1 AS SELECT Makh, Tenkh, Dienthoai , Tpho FROM Khachhang WHERE Tpho like 'tp Hcm' WITH CHECK OPTION An cần thêm 1 khách hàng vào table Khachhang. Vậy An có thể sử dụng lệnh nào ?
Trong database của một ngân hàng A , dữ liệu của table Khachhang được phân bố ngang qua 4 server . ServerA lưu dữ liệu các khách hàng có tên với ký tự đầu từ A đến F . ServerB lưu các khách hàng có tên với ký tự đầu từ G đến M . ServerC lưu các khách hàng có tên với ký tự đầu từ N đến T . Và ServerD lưu các khách hàng có tên với ký tự đầu từ T đến Z. Người ta sử dụng một Partitioned View có tên vwKH để truy xuất dũ liệu của table Khachhang . Bạn hãy cho biết câu lệnh nào sau đây sẽ dùng để cập nhật cột Tinhtrang của các khách hàng có tên bắt đầu bằng ký tự J.
A -
UPDATE Khachhang SET Tinhtrang = 1 WHERE ServerB.Khachhang.TenKH = J
B -
UPDATE ServerB.vwKH SET Tinhtrang = 1 WHERE ServerB.Khachhang.TenKH = J
C -
UPDATE vwKH SET Tinhtrang = 1 WHERE TenKH LIKE J%
D -
UPDATE vwKH SET Tinhtrang = 1 WHERE TenKH = J
8-
Bạn là người quản trị database của công ty A .Phòng Tổ chức của công ty đang sử dụng một database NhanvienDB , gồm các table sau: table Nhanvien _ lưu dữ liệu về TênNV, Địa chỉ , Phòng ban , Mức lương. table Phucap_ lưu dữ liệu về Lợi tức chia thêm mỗi tháng cho nhân viên. table Thuong_ lưu dữ liệu về Tiền thưởng cho nhân viên. Phòng Tổ chức muốn các dữ liệu về TênNV, Địa chỉ và Tiền thưởng có thể được xem bởi bất cứ ai có quyền truy cập vào DB. Nhưng các dữ liệu về Mức lương căn bản, Lợi tức chia thêm thì chỉ được sử dụng bởi một số người nhất định . Bạn sẽ thực hiện yêu cầu này như thế nào?
A -
Tạo một view chứa TênNV, Địa chỉ, Tiền thưởng. Cấp quyền SELECT trên view cho các user truy cập database là Guest.
B -
Chỉnh sửa bảng Nhanvien như sau : di chuyển cột chứa dữ liệu về Mức lương sang một table mới. Sau đó cấp quyền SELECT trên table Nhanvien cho các user là Guest
C -
Tạo một thủ tục thực hiện : lấy tất cả dữ liệu từ hai bảng Nhanvien và Thuong , rồi chèn dữ liệu vào một table tạm , cấp quyền SELECT trên table này cho user hiện hành. Quyền thực thi thủ tục này được cấp cho user là Guest.
D -
Tạo một trigger trên bảng Nhanvien để kiểm soát các thao tác trên cột Mức lương .
9-
Quy luật nào sau đây không đúng đối với một thủ tục (stored procedure)?
A -
Bạn có thể thực thi 1 thủ tục mà thủ tục này gọi 1 thủ tục khác. Thủ tục được gọi có thể truy xuất đến các đối tượng được tạo ra bởi thủ tục gọi
B -
Bạn có thể tham chiếu đến 1 đối tượng không nằm trong cùng 1 database với thủ tục của bạn
C -
Bạn có thể tạo, tạo lại, hay xóa các đối tượng bện trong 1 thủ tục. Các lệnh mà bạn có thể sử dụng là CREATE, DROP, và SELECT INTO trong thủ tục của bạn
D -
Bạn có thể tạo một bảng tạm riêng bên trong 1 thủ tục.
10-
Các lệnh nào sau đây bạn sẽ dùng để tạo thủ tục (procedure) mà nhận vào 1 ký tự và hiển thị các tiêu đề bắt đầu với ký tự đó:
A -
Create procedure prcDispName @cValue char(1) as Select * from titles Where title like @cValue%
B -
Create procedure prcDispName @cValue char(1) as Select * from titles Where title like @cValue%.
C -
Create procedure prcDispName @cValue char(1) as Declare @temp char(2) Select @temp=@cValue+ % Select * from titles Where title like @temp
D -
Create procedure prcDispName as Declare @temp char(2) Select @temp=A% Select * from titles Where title like @temp