Hệ quản trị CSDL - IT10 (253)
Tập tin có phần mở rộng là .ndf được dùng để làm gì?
A. Chứa dữ liệu chính
B. Ghi lại các thay đổi dữ liệu giúp thực hiện rollback khi cần
C. Chỉ dùng khi cơ sở dữ liệu được phân chia chứa trên nhiều đĩa
Phiên bản Enterprise của SQL Server chứa đầy đủ các đặc trưng của SQL Server và có thể chạy tốt trên hệ thống lên đến?
A. 4 CPU và 2 GB RAM
B. 32 CPUs và 64 GB RAM
C. 64 CPUs và 128 GB RAM
D. 16 CPUs và 32 GB RAM
Dịch vụ chuyển đổi dữ liệu DTS của SQL Server thực hiện chức năng gì?
A. Chuyển dữ liệu giữa các Server
B. Tra cứu dữ liệu
C. Nhân bản dữ liệu
D. Tìm kiếm
Hỗ trợ kiến trúc Client/Server (Supports Client/Server model) là gì?
A. Truy cập dữ liệu được lưu trữ trên Server
B. Tất cả các phương án đều đúng
C. Ứng dụng có thể chạy trên Client
D. Server có nhiệm vụ xử lý các yêu cầu và trả lại kết quả cho Client.
Phiên bản Personal của SQL Server có thể cài đặt?
A. Windows XP
B. Trên hầu hết các phiên bản của windows, kể cả Windows 98.
C. Windows 98
D. Windows Server 2000
Thứ tự kiêm tra ràng buộc toàn vẹn dữ liệu là gì?
A. Trigger For/After -> Trigger instead of -> Constraint
B. Constraint -> Trigger instead of ->Trigger For/After
C. Trigger instead of -> Constraint -> Trigger For/After
D. Constraint -> Trigger instead of -> Trigger For/After
Cho đoạn mã tạo trigger:
CREATE TRIGGER NV_GT
ON NHANVIEN
INSTEAD OF INSERT
As
BEGIN
declare @Gt as nvarchar(3)
select @gt = GT from INSERTED
if ( @gt not in ('Nam', N'Nữ') )
Raiserror('Ban nhap sai Gioi tinh',16,10)
END
Cho biết ý nghĩa của dòng code “select @gt = GT from INSERTED”
A. Lấy giá trị đang được nhập tạm thời của thuộc tính Giới tính trong bảng INSERTED khi thêm với bảng NHÂN VIÊN
B. Lấy giá trị đang được nhập tạm thời của thuộc tính Giới tính trong bảng DELETED khi thêm với bảng NHÂN VIÊN
C. Lấy giá trị đang được nhập tạm thời của thuộc tính Giới tính trong bảng INSERTED khi sửa với bảng NHÂN VIÊN
D. Lấy giá trị đang được nhập tạm thời của thuộc tính Giới tính trong bảng DELETED khi xóa với bảng NHÂN VIÊN
Cho các bảng
LOP( malop, TenLop, NienKhoa, SiSo)
SINHVIEN ( MaSV, Hoten, NS, GT, maLop)
Viết trigger khi sưar một lớp nào đó thì các sinh viên thuộc lớp đó cũng sửa theo.
A. CREATE TRIGGER UpdateMaLop ON LOP FOR UPDATE AS BEGIN IF UPDATE( MaLop) BEGIN DECLARE @MaLopCu nvarchar(9), @MaLopMoi nvarchar(9) SELECT @MaLopCu = MaLop FROM DELETED SELECT @MaLopMoi = MaLop FROM INSERTED If ( EXISTS (select MaLop from SINHVIEN Where MaLop= @MaLopCu) ) UPDATE SINHVIEN SET MaLop = @MaLopMoi WHERE MaLop = @MaLopCu END END
B. CREATE TRIGGER UpdateMaLop
ON LOP
FOR UPDATE
AS
BEGIN
IF UPDATE( MaLop)
BEGIN
SELECT @MaLopCu = MaLop FROM DELETED
SELECT @MaLopMoi = MaLop FROM INSERTED
If ( EXISTS (select MaLop from SINHVIEN Where MaLop= @MaLopCu) ) UPDATE SINHVIEN SET MaLop = @MaLopMoi WHERE MaLop = @MaLopCu END END
C. CREATE TRIGGER UpdateMaLop ON LOP FOR UPDATE AS BEGIN IF UPDATE( MaLop) BEGIN DECLARE @MaLopCu nvarchar(9), @MaLopMoi nvarchar(9) SELECT @MaLopCu = MaLop FROM DELETED SELECT @MaLopMoi = MaLop FROM INSERTED END END
D. CREATE TRIGGER UpdateMaLop ON SINHVIEN FOR UPDATE AS BEGIN IF UPDATE( MaLop) BEGIN DECLARE @MaLopCu nvarchar(9), @MaLopMoi nvarchar(9) SELECT @MaLopCu = MaLop FROM DELETED SELECT @MaLopMoi = MaLop FROM INSERTED If ( EXISTS (select MaLop from SINHVIEN Where MaLop= @MaLopCu) ) UPDATE SINHVIEN SET MaLop = @MaLopMoi WHERE MaLop = @MaLopCu END END
Câu lệnh sau thực hiện công việc gì?
DENY SELECT, INSERT, UPDATE
ON TacGia
TO db_user1, db_user2
A. Từ chối quyền được phép chọn – chèn và sửa trên bảng TacGia với tất cả các tài khoản
B. Từ chối quyền được phép chọn – chèn và sửa trên bảng TacGia với tài khoản db_user1 và db_user2
C. Từ chối quyền được phép xoa – chọn và sửa trên bảng TacGia với tài khoản db_user1 và db_user2
D. Từ chối quyền được phép chọn sửa trên bảng TacGia với tài khoản db_user1 và db_user2
Sự khác biệt cơ bản giữa dettach và xóa CSDL?
A. CSDL xóa hẳn nhưng instance vẫn quản ly
B. CSDL vẫn còn trong máy nhưng tạm thời bị tách khỏi Instance
C. CSDL xóa hẳn trong máy
Câu lệnh để thực hiện Cấp phát cho tài khoản ‘db_user1’ được quyền xem và cập nhật dữ liệu trên cột ‘hoten, diachi, và Luong của bảng nhân viên’ được viết như thế nào?
A. GRANT SELECT ON NHANVIEN TO db_user1
B. GRANT SELECT, UPDATE ON NHANVIEN TO db_user1
C. GRANT UPDATE ON NHANVIEN( hoten, diachi, luong)
D. GRANT SELECT, UPDATE ON NHANVIEN( hoten, diachi, luong) TO db_user1
Mô hình phục hồi thực hiện: “Là mô hình phục hồi toàn bộ hoạt động giao dịch của dữ liệu (Insert, Update, Delete, hoạt động bởi lệnh bcp, bulk insert).”
A. Bulk-Logged Recovery Model
B. Simple Recovery Model
C. Full Recovery model
Câu lệnh CREATE LOGIN <tên đăng nhập> FROM WINDOWS
[ WITH [ DEFAULT_DATABASE = <Tên CSDL> ]
được dùng để làm gì?
A. Cả hai đáp án đều sai
B. Tạo login với quyền đăng nhập SQL Server
C. Cả hai đáp án đều đúng
D. Tạo login với quyền đăng nhập Window
Để xoá tài khoản đăng nhập “Test” đã có trong hệ thống thì sử dụng câu lệnh là gì?
A. DROP ACCOUNT Test
B. DELETE Test
C. DELETE LOGIN Test
D. DROP LOGIN Test
Cho CSDL “QLNV” với bảng tblPhongBan phân mảnh dọc theo nguyên tắc sau:
-Server1 gồm các thông tin: MaPhong, TenPhong
-Server2 gồm các thông tin: MaPhong, DiaDiem, DienThoai
Câu lệnh để có được bảng đầy đủ các thông tin: MaPhong, TenPhong, DiaDiem, DienThoai từ Server 2 là gì?
A. Select a.MaPhong, TenPhong, DiaDiem, DienThoai From Server1.QLNV.dbo.tblPhongban a, tblPhongBan b
B. Select MaPhong, TenPhong, DiaDiem, DienThoai From Server1.QLNV.dbo.tblPhongban a, tblPhongBan b Where a.MaPhong = b.MaPhong
C. Select a.MaPhong, TenPhong, DiaDiem, DienThoai From QLNV.dbo.tblPhongban a, tblPhongBan b Where a.MaPhong = b.MaPhong
D. Select a.MaPhong, TenPhong, DiaDiem, DienThoai From Server1.QLNV.dbo.tblPhongban a, tblPhongBan b Where a.MaPhong = b.MaPhong
Cho CSDL “QLNV” với bảng tblNhanVien(MaNV, TenNV, GioiTinh, DiaChi) phân mảnh ngang theo nguyên tắc sau:
-Server1 gồm các nhân viên Nữ
-Server2 gồm các nhân viên Nam
Đoạn code để chèn thêm một nhân viên mới vào bảng (thủ tục được viết trên Server2)
A. Create Proc spInsertNhanvien (@ma varchar(10), @ten nVarchar(20), @gioitinh nvarchar(3), @diachi varchar(30)) as Begin If @gioitinh = ‘Nam’ Insert Into tblNhanvien Values(@ma,@ten,@gioitinh,@diachi) Else Insert Into tblNhanvien Values(@ma,@ten,@gioitinh,@diachi) print N'Thêm thành công' End
B. Không có đáp án đúng
C. Create Proc spInsertNhanvien (@ma varchar(10), @ten nVarchar(20), @gioitinh nvarchar(3), @diachi varchar(30)) as Begin If @gioitinh = ‘Nam’ Insert Into tblNhanvien Values(@ma,@ten,@gioitinh,@diachi) Else Insert Into Server1.QLNNV.dbo.tblNhanvien Values(@ma,@ten,@gioitinh,@diachi) print N'Thêm thành công' End
D. Create Proc spInsertNhanvien (@ma varchar(10), @ten nVarchar(20), @gioitinh nvarchar(3), @diachi varchar(30)) as Begin If @gioitinh = ‘Nam’ Insert Into tblNhanvien Values(@ma,@ten,@gioitinh,@diachi) Else Insert Into Server1.tblNhanvien Values(@ma,@ten,@gioitinh,@diachi) print N'Thêm thành công' End
Cho T-SQL block sau, dòng nào gây ra lỗi?
1. DECLARE
2. @V_DEPTNO INT
3. BEGIN
4. SET @V_DEPTNO = 20
5. SELECT ENAME, SALARY
FROM EMP WHERE DEPTNO = @V_DEPTNO
6. END
A. Không có dòng nào gây lỗi.
B. Dòng 4
C. Dòng 5
D. Dòng 2
Cho CSDL “QuanLyBH” được cài đặt tại ServerAo và ServerThat như sau:
*Tại ServerAo có chứa bảng tblNV2(MaNV, TrinhDo, ChuyenNganh, Nam)
*Tại ServerThat có bảng tblNV(MaNV, HoTen, NgaySinh)
Tại ServerThat câu lệnh truy vấn để cho danh sách đầy đủ thông tin gồm MaNV, HoTen, TrinhDo được viết như thế nào
A. Seclect MaNV, HoTen, TrinhDo From tblNV, ServerAo.QuanLyBH.dbo.tblNV2 Where tblNV.MaNV = ServerAo.QuanLyBH.dbo.tblNV2.MaNV
B. Seclect tblNV.MaNV, HoTen, TrinhDo From tblNV, tblNV2 Where tblNV.MaNV = tblNV2.MaNV
C. Seclect tblNV.MaNV, HoTen, TrinhDo From tblNV, QuanLyBH.tblNV2 Where tblNV.MaNV = QuanLyBH.tblNV2.MaNV
D. Seclect tblNV.MaNV, HoTen, TrinhDo From tblNV, ServerAo.QuanLyBH.dbo.tblNV2 Where tblNV.MaNV = ServerAo.QuanLyBH.dbo.tblNV2.MaNV
Có mấy phương pháp thực hiện phân mảnh dữ liệu
Muốn cập nhật đồng thời nhiều cột trong một lệnh UPDATE, cú pháp đúng là?
A. UPDATE bảng SET cột1 = giá_trị1, cột2 = giá_trị2
B. UPDATE bảng SET (cột1, cột2) = (giá_trị1, giá_trị2)
C. MODIFY bảng SET cột1 TO giá_trị1, cột2 TO giá_trị2
D. UPDATE bảng SET cột1, cột2 = giá_trị1, giá_trị2